@lombard.finance/sdk-starknet 0.3.1 → 0.3.2-canary.12
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/index2.cjs +6 -6
- package/dist/index2.cjs.map +1 -1
- package/dist/index2.js +211 -208
- package/dist/index2.js.map +1 -1
- package/package.json +2 -2
- package/src/utils/rpc-providers.ts +7 -2
package/dist/index2.cjs
CHANGED
|
@@ -5,7 +5,7 @@
|
|
|
5
5
|
${h}]`:"]",l}function c(d,h){if(typeof d.toJSON=="function")return By(d.toJSON(),t,n,void 0);const f=Array.isArray(t)?t.map(String):Object.keys(d);if(f.length===0)return"{}";const l=a?h+a:void 0;let g=!0,b=a?`{
|
|
6
6
|
`:"{";for(const y of f){const _=typeof t=="function"?t.call(d,y,d[y]):d[y];if(u(y,_)){g?g=!1:b+=a?`,
|
|
7
7
|
`:",";const k=JSON.stringify(y);b+=a?`${l+k}: `:`${k}:`,b+=i(_,l)}}return b+=a?`
|
|
8
|
-
${h}}`:"}",b}function u(d,h){return typeof h<"u"&&typeof h!="function"&&typeof h!="symbol"}}function s1(e){if(typeof e=="number")return" ".repeat(e);if(typeof e=="string"&&e!=="")return e}/*! noble-curves - MIT License (c) 2022 Paul Miller (paulmillr.com) */const ad=BigInt(0),zy=BigInt(1),c1=BigInt(2);function qr(e){return e instanceof Uint8Array||ArrayBuffer.isView(e)&&e.constructor.name==="Uint8Array"}function $o(e){if(!qr(e))throw new Error("Uint8Array expected")}function va(e,t){if(typeof t!="boolean")throw new Error(e+" boolean expected, got "+t)}const u1=Array.from({length:256},(e,t)=>t.toString(16).padStart(2,"0"));function Vr(e){$o(e);let t="";for(let n=0;n<e.length;n++)t+=u1[e[n]];return t}function co(e){const t=e.toString(16);return t.length&1?"0"+t:t}function od(e){if(typeof e!="string")throw new Error("hex string expected, got "+typeof e);return e===""?ad:BigInt("0x"+e)}const An={_0:48,_9:57,A:65,F:70,a:97,f:102};function Pf(e){if(e>=An._0&&e<=An._9)return e-An._0;if(e>=An.A&&e<=An.F)return e-(An.A-10);if(e>=An.a&&e<=An.f)return e-(An.a-10)}function Ea(e){if(typeof e!="string")throw new Error("hex string expected, got "+typeof 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 a=0,o=0;a<n;a++,o+=2){const i=Pf(e.charCodeAt(o)),s=Pf(e.charCodeAt(o+1));if(i===void 0||s===void 0){const c=e[o]+e[o+1];throw new Error('hex string expected, got non-hex character "'+c+'" at index '+o)}r[a]=i*16+s}return r}function Lr(e){return od(Vr(e))}function id(e){return $o(e),od(Vr(Uint8Array.from(e).reverse()))}function Aa(e,t){return Ea(e.toString(16).padStart(t*2,"0"))}function sd(e,t){return Aa(e,t).reverse()}function Wt(e,t,n){let r;if(typeof t=="string")try{r=Ea(t)}catch(o){throw new Error(e+" must be hex string or Uint8Array, cause: "+o)}else if(qr(t))r=Uint8Array.from(t);else throw new Error(e+" must be hex string or Uint8Array");const a=r.length;if(typeof n=="number"&&a!==n)throw new Error(e+" of length "+n+" expected, got "+a);return r}function Eo(...e){let t=0;for(let r=0;r<e.length;r++){const a=e[r];$o(a),t+=a.length}const n=new Uint8Array(t);for(let r=0,a=0;r<e.length;r++){const o=e[r];n.set(o,a),a+=o.length}return n}const Js=e=>typeof e=="bigint"&&ad<=e;function bs(e,t,n){return Js(e)&&Js(t)&&Js(n)&&t<=e&&e<n}function Dr(e,t,n,r){if(!bs(t,n,r))throw new Error("expected valid "+e+": "+n+" <= n < "+r+", got "+t)}function Py(e){let t;for(t=0;e>ad;e>>=zy,t+=1);return t}const cd=e=>(c1<<BigInt(e-1))-zy,Qs=e=>new Uint8Array(e),Rf=e=>Uint8Array.from(e);function Ry(e,t,n){if(typeof e!="number"||e<2)throw new Error("hashLen must be a number");if(typeof t!="number"||t<2)throw new Error("qByteLen must be a number");if(typeof n!="function")throw new Error("hmacFn must be a function");let r=Qs(e),a=Qs(e),o=0;const i=()=>{r.fill(1),a.fill(0),o=0},s=(...h)=>n(a,r,...h),c=(h=Qs())=>{a=s(Rf([0]),h),r=s(),h.length!==0&&(a=s(Rf([1]),h),r=s())},u=()=>{if(o++>=1e3)throw new Error("drbg: tried 1000 values");let h=0;const f=[];for(;h<t;){r=s();const l=r.slice();f.push(l),h+=r.length}return Eo(...f)};return(h,f)=>{i(),c(h);let l;for(;!(l=f(u()));)c();return i(),l}}const l1={bigint:e=>typeof e=="bigint",function:e=>typeof e=="function",boolean:e=>typeof e=="boolean",string:e=>typeof e=="string",stringOrUint8Array:e=>typeof e=="string"||qr(e),isSafeInteger:e=>Number.isSafeInteger(e),array:e=>Array.isArray(e),field:(e,t)=>t.Fp.isValid(e),hash:e=>typeof e=="function"&&Number.isSafeInteger(e.outputLen)};function Go(e,t,n={}){const r=(a,o,i)=>{const s=l1[o];if(typeof s!="function")throw new Error("invalid validator function");const c=e[a];if(!(i&&c===void 0)&&!s(c,e))throw new Error("param "+String(a)+" is invalid. Expected "+o+", got "+c)};for(const[a,o]of Object.entries(t))r(a,o,!1);for(const[a,o]of Object.entries(n))r(a,o,!0);return e}function yl(e){const t=new WeakMap;return(n,...r)=>{const a=t.get(n);if(a!==void 0)return a;const o=e(n,...r);return t.set(n,o),o}}const d1=Object.freeze(Object.defineProperty({__proto__:null,aInRange:Dr,abool:va,abytes:$o,bitLen:Py,bitMask:cd,bytesToHex:Vr,bytesToNumberBE:Lr,bytesToNumberLE:id,concatBytes:Eo,createHmacDrbg:Ry,ensureBytes:Wt,hexToBytes:Ea,hexToNumber:od,inRange:bs,isBytes:qr,memoized:yl,numberToBytesBE:Aa,numberToBytesLE:sd,numberToHexUnpadded:co,validateObject:Go},Symbol.toStringTag,{value:"Module"}));function os(e){if(!Number.isSafeInteger(e)||e<0)throw new Error("positive integer expected, got "+e)}function f1(e){return e instanceof Uint8Array||ArrayBuffer.isView(e)&&e.constructor.name==="Uint8Array"}function Ko(e,...t){if(!f1(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 p1(e){if(typeof e!="function"||typeof e.create!="function")throw new Error("Hash should be wrapped by utils.wrapConstructor");os(e.outputLen),os(e.blockLen)}function Sa(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 Ny(e,t){Ko(e);const n=t.outputLen;if(e.length<n)throw new Error("digestInto() expects output buffer of length at least "+n)}const sa=typeof globalThis=="object"&&"crypto"in globalThis?globalThis.crypto:void 0;/*! noble-hashes - MIT License (c) 2022 Paul Miller (paulmillr.com) */const h1=e=>new Uint32Array(e.buffer,e.byteOffset,Math.floor(e.byteLength/4)),ec=e=>new DataView(e.buffer,e.byteOffset,e.byteLength),rn=(e,t)=>e<<32-t|e>>>t,Nf=new Uint8Array(new Uint32Array([287454020]).buffer)[0]===68,m1=e=>e<<24&4278190080|e<<8&16711680|e>>>8&65280|e>>>24&255;function Uf(e){for(let t=0;t<e.length;t++)e[t]=m1(e[t])}function g1(e){if(typeof e!="string")throw new Error("utf8ToBytes expected string, got "+typeof e);return new Uint8Array(new TextEncoder().encode(e))}function ws(e){return typeof e=="string"&&(e=g1(e)),Ko(e),e}function y1(...e){let t=0;for(let r=0;r<e.length;r++){const a=e[r];Ko(a),t+=a.length}const n=new Uint8Array(t);for(let r=0,a=0;r<e.length;r++){const o=e[r];n.set(o,a),a+=o.length}return n}let ud=class{clone(){return this._cloneInto()}};function Uy(e){const t=r=>e().update(ws(r)).digest(),n=e();return t.outputLen=n.outputLen,t.blockLen=n.blockLen,t.create=()=>e(),t}function b1(e=32){if(sa&&typeof sa.getRandomValues=="function")return sa.getRandomValues(new Uint8Array(e));if(sa&&typeof sa.randomBytes=="function")return sa.randomBytes(e);throw new Error("crypto.getRandomValues must be defined")}function w1(e,t,n,r){if(typeof e.setBigUint64=="function")return e.setBigUint64(t,n,r);const a=BigInt(32),o=BigInt(4294967295),i=Number(n>>a&o),s=Number(n&o),c=r?4:0,u=r?0:4;e.setUint32(t+c,i,r),e.setUint32(t+u,s,r)}const k1=(e,t,n)=>e&t^~e&n,_1=(e,t,n)=>e&t^e&n^t&n;let v1=class extends ud{constructor(t,n,r,a){super(),this.blockLen=t,this.outputLen=n,this.padOffset=r,this.isLE=a,this.finished=!1,this.length=0,this.pos=0,this.destroyed=!1,this.buffer=new Uint8Array(t),this.view=ec(this.buffer)}update(t){Sa(this);const{view:n,buffer:r,blockLen:a}=this;t=ws(t);const o=t.length;for(let i=0;i<o;){const s=Math.min(a-this.pos,o-i);if(s===a){const c=ec(t);for(;a<=o-i;i+=a)this.process(c,i);continue}r.set(t.subarray(i,i+s),this.pos),this.pos+=s,i+=s,this.pos===a&&(this.process(n,0),this.pos=0)}return this.length+=t.length,this.roundClean(),this}digestInto(t){Sa(this),Ny(t,this),this.finished=!0;const{buffer:n,view:r,blockLen:a,isLE:o}=this;let{pos:i}=this;n[i++]=128,this.buffer.subarray(i).fill(0),this.padOffset>a-i&&(this.process(r,0),i=0);for(let h=i;h<a;h++)n[h]=0;w1(r,a-8,BigInt(this.length*8),o),this.process(r,0);const s=ec(t),c=this.outputLen;if(c%4)throw new Error("_sha2: outputLen should be aligned to 32bit");const u=c/4,d=this.get();if(u>d.length)throw new Error("_sha2: outputLen bigger than state");for(let h=0;h<u;h++)s.setUint32(4*h,d[h],o)}digest(){const{buffer:t,outputLen:n}=this;this.digestInto(t);const r=t.slice(0,n);return this.destroy(),r}_cloneInto(t){t||(t=new this.constructor),t.set(...this.get());const{blockLen:n,buffer:r,length:a,finished:o,destroyed:i,pos:s}=this;return t.length=a,t.pos=s,t.finished=o,t.destroyed=i,a%n&&t.buffer.set(r),t}};const E1=new Uint32Array([1116352408,1899447441,3049323471,3921009573,961987163,1508970993,2453635748,2870763221,3624381080,310598401,607225278,1426881987,1925078388,2162078206,2614888103,3248222580,3835390401,4022224774,264347078,604807628,770255983,1249150122,1555081692,1996064986,2554220882,2821834349,2952996808,3210313671,3336571891,3584528711,113926993,338241895,666307205,773529912,1294757372,1396182291,1695183700,1986661051,2177026350,2456956037,2730485921,2820302411,3259730800,3345764771,3516065817,3600352804,4094571909,275423344,430227734,506948616,659060556,883997877,958139571,1322822218,1537002063,1747873779,1955562222,2024104815,2227730452,2361852424,2428436474,2756734187,3204031479,3329325298]),Hn=new Uint32Array([1779033703,3144134277,1013904242,2773480762,1359893119,2600822924,528734635,1541459225]),Ln=new Uint32Array(64);let A1=class extends v1{constructor(){super(64,32,8,!1),this.A=Hn[0]|0,this.B=Hn[1]|0,this.C=Hn[2]|0,this.D=Hn[3]|0,this.E=Hn[4]|0,this.F=Hn[5]|0,this.G=Hn[6]|0,this.H=Hn[7]|0}get(){const{A:t,B:n,C:r,D:a,E:o,F:i,G:s,H:c}=this;return[t,n,r,a,o,i,s,c]}set(t,n,r,a,o,i,s,c){this.A=t|0,this.B=n|0,this.C=r|0,this.D=a|0,this.E=o|0,this.F=i|0,this.G=s|0,this.H=c|0}process(t,n){for(let h=0;h<16;h++,n+=4)Ln[h]=t.getUint32(n,!1);for(let h=16;h<64;h++){const f=Ln[h-15],l=Ln[h-2],g=rn(f,7)^rn(f,18)^f>>>3,b=rn(l,17)^rn(l,19)^l>>>10;Ln[h]=b+Ln[h-7]+g+Ln[h-16]|0}let{A:r,B:a,C:o,D:i,E:s,F:c,G:u,H:d}=this;for(let h=0;h<64;h++){const f=rn(s,6)^rn(s,11)^rn(s,25),l=d+f+k1(s,c,u)+E1[h]+Ln[h]|0,b=(rn(r,2)^rn(r,13)^rn(r,22))+_1(r,a,o)|0;d=u,u=c,c=s,s=i+l|0,i=o,o=a,a=r,r=l+b|0}r=r+this.A|0,a=a+this.B|0,o=o+this.C|0,i=i+this.D|0,s=s+this.E|0,c=c+this.F|0,u=u+this.G|0,d=d+this.H|0,this.set(r,a,o,i,s,c,u,d)}roundClean(){Ln.fill(0)}destroy(){this.set(0,0,0,0,0,0,0,0),this.buffer.fill(0)}};const Hy=Uy(()=>new A1);function Hf(e){if(!Number.isSafeInteger(e)||e<0)throw new Error("positive integer expected, got "+e)}function S1(e){return e instanceof Uint8Array||ArrayBuffer.isView(e)&&e.constructor.name==="Uint8Array"}function ld(e,...t){if(!S1(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 is(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 Ly(e,t){ld(e);const n=t.outputLen;if(e.length<n)throw new Error("digestInto() expects output buffer of length at least "+n)}const hi=BigInt(2**32-1),Lf=BigInt(32);function j1(e,t=!1){return t?{h:Number(e&hi),l:Number(e>>Lf&hi)}:{h:Number(e>>Lf&hi)|0,l:Number(e&hi)|0}}function x1(e,t=!1){let n=new Uint32Array(e.length),r=new Uint32Array(e.length);for(let a=0;a<e.length;a++){const{h:o,l:i}=j1(e[a],t);[n[a],r[a]]=[o,i]}return[n,r]}const T1=(e,t,n)=>e<<n|t>>>32-n,I1=(e,t,n)=>t<<n|e>>>32-n,C1=(e,t,n)=>t<<n-32|e>>>64-n,O1=(e,t,n)=>e<<n-32|t>>>64-n;/*! noble-hashes - MIT License (c) 2022 Paul Miller (paulmillr.com) */const B1=e=>new Uint32Array(e.buffer,e.byteOffset,Math.floor(e.byteLength/4)),tc=e=>new DataView(e.buffer,e.byteOffset,e.byteLength),an=(e,t)=>e<<32-t|e>>>t,Df=new Uint8Array(new Uint32Array([287454020]).buffer)[0]===68,z1=e=>e<<24&4278190080|e<<8&16711680|e>>>8&65280|e>>>24&255;function Ff(e){for(let t=0;t<e.length;t++)e[t]=z1(e[t])}function Dy(e){if(typeof e!="string")throw new Error("utf8ToBytes expected string, got "+typeof e);return new Uint8Array(new TextEncoder().encode(e))}function dd(e){return typeof e=="string"&&(e=Dy(e)),ld(e),e}let Fy=class{clone(){return this._cloneInto()}};function My(e){const t=r=>e().update(dd(r)).digest(),n=e();return t.outputLen=n.outputLen,t.blockLen=n.blockLen,t.create=()=>e(),t}const qy=[],Vy=[],$y=[],P1=BigInt(0),Ma=BigInt(1),R1=BigInt(2),N1=BigInt(7),U1=BigInt(256),H1=BigInt(113);for(let e=0,t=Ma,n=1,r=0;e<24;e++){[n,r]=[r,(2*n+3*r)%5],qy.push(2*(5*r+n)),Vy.push((e+1)*(e+2)/2%64);let a=P1;for(let o=0;o<7;o++)t=(t<<Ma^(t>>N1)*H1)%U1,t&R1&&(a^=Ma<<(Ma<<BigInt(o))-Ma);$y.push(a)}const[L1,D1]=x1($y,!0),Mf=(e,t,n)=>n>32?C1(e,t,n):T1(e,t,n),qf=(e,t,n)=>n>32?O1(e,t,n):I1(e,t,n);function F1(e,t=24){const n=new Uint32Array(10);for(let r=24-t;r<24;r++){for(let i=0;i<10;i++)n[i]=e[i]^e[i+10]^e[i+20]^e[i+30]^e[i+40];for(let i=0;i<10;i+=2){const s=(i+8)%10,c=(i+2)%10,u=n[c],d=n[c+1],h=Mf(u,d,1)^n[s],f=qf(u,d,1)^n[s+1];for(let l=0;l<50;l+=10)e[i+l]^=h,e[i+l+1]^=f}let a=e[2],o=e[3];for(let i=0;i<24;i++){const s=Vy[i],c=Mf(a,o,s),u=qf(a,o,s),d=qy[i];a=e[d],o=e[d+1],e[d]=c,e[d+1]=u}for(let i=0;i<50;i+=10){for(let s=0;s<10;s++)n[s]=e[i+s];for(let s=0;s<10;s++)e[i+s]^=~n[(s+2)%10]&n[(s+4)%10]}e[0]^=L1[r],e[1]^=D1[r]}n.fill(0)}let M1=class Gy extends Fy{constructor(t,n,r,a=!1,o=24){if(super(),this.blockLen=t,this.suffix=n,this.outputLen=r,this.enableXOF=a,this.rounds=o,this.pos=0,this.posOut=0,this.finished=!1,this.destroyed=!1,Hf(r),0>=this.blockLen||this.blockLen>=200)throw new Error("Sha3 supports only keccak-f1600 function");this.state=new Uint8Array(200),this.state32=B1(this.state)}keccak(){Df||Ff(this.state32),F1(this.state32,this.rounds),Df||Ff(this.state32),this.posOut=0,this.pos=0}update(t){is(this);const{blockLen:n,state:r}=this;t=dd(t);const a=t.length;for(let o=0;o<a;){const i=Math.min(n-this.pos,a-o);for(let s=0;s<i;s++)r[this.pos++]^=t[o++];this.pos===n&&this.keccak()}return this}finish(){if(this.finished)return;this.finished=!0;const{state:t,suffix:n,pos:r,blockLen:a}=this;t[r]^=n,(n&128)!==0&&r===a-1&&this.keccak(),t[a-1]^=128,this.keccak()}writeInto(t){is(this,!1),ld(t),this.finish();const n=this.state,{blockLen:r}=this;for(let a=0,o=t.length;a<o;){this.posOut>=r&&this.keccak();const i=Math.min(r-this.posOut,o-a);t.set(n.subarray(this.posOut,this.posOut+i),a),this.posOut+=i,a+=i}return t}xofInto(t){if(!this.enableXOF)throw new Error("XOF is not possible for this instance");return this.writeInto(t)}xof(t){return Hf(t),this.xofInto(new Uint8Array(t))}digestInto(t){if(Ly(t,this),this.finished)throw new Error("digest() was already called");return this.writeInto(t),this.destroy(),t}digest(){return this.digestInto(new Uint8Array(this.outputLen))}destroy(){this.destroyed=!0,this.state.fill(0)}_cloneInto(t){const{blockLen:n,suffix:r,outputLen:a,rounds:o,enableXOF:i}=this;return t||(t=new Gy(n,r,a,i,o)),t.state32.set(this.state32),t.pos=this.pos,t.posOut=this.posOut,t.finished=this.finished,t.rounds=o,t.suffix=r,t.outputLen=a,t.enableXOF=i,t.destroyed=this.destroyed,t}};const q1=(e,t,n)=>My(()=>new M1(t,e,n)),V1=q1(1,136,256/8);function $1(e,t,n,r){if(typeof e.setBigUint64=="function")return e.setBigUint64(t,n,r);const a=BigInt(32),o=BigInt(4294967295),i=Number(n>>a&o),s=Number(n&o),c=r?4:0,u=r?0:4;e.setUint32(t+c,i,r),e.setUint32(t+u,s,r)}const G1=(e,t,n)=>e&t^~e&n,K1=(e,t,n)=>e&t^e&n^t&n;class W1 extends Fy{constructor(t,n,r,a){super(),this.blockLen=t,this.outputLen=n,this.padOffset=r,this.isLE=a,this.finished=!1,this.length=0,this.pos=0,this.destroyed=!1,this.buffer=new Uint8Array(t),this.view=tc(this.buffer)}update(t){is(this);const{view:n,buffer:r,blockLen:a}=this;t=dd(t);const o=t.length;for(let i=0;i<o;){const s=Math.min(a-this.pos,o-i);if(s===a){const c=tc(t);for(;a<=o-i;i+=a)this.process(c,i);continue}r.set(t.subarray(i,i+s),this.pos),this.pos+=s,i+=s,this.pos===a&&(this.process(n,0),this.pos=0)}return this.length+=t.length,this.roundClean(),this}digestInto(t){is(this),Ly(t,this),this.finished=!0;const{buffer:n,view:r,blockLen:a,isLE:o}=this;let{pos:i}=this;n[i++]=128,this.buffer.subarray(i).fill(0),this.padOffset>a-i&&(this.process(r,0),i=0);for(let h=i;h<a;h++)n[h]=0;$1(r,a-8,BigInt(this.length*8),o),this.process(r,0);const s=tc(t),c=this.outputLen;if(c%4)throw new Error("_sha2: outputLen should be aligned to 32bit");const u=c/4,d=this.get();if(u>d.length)throw new Error("_sha2: outputLen bigger than state");for(let h=0;h<u;h++)s.setUint32(4*h,d[h],o)}digest(){const{buffer:t,outputLen:n}=this;this.digestInto(t);const r=t.slice(0,n);return this.destroy(),r}_cloneInto(t){t||(t=new this.constructor),t.set(...this.get());const{blockLen:n,buffer:r,length:a,finished:o,destroyed:i,pos:s}=this;return t.length=a,t.pos=s,t.finished=o,t.destroyed=i,a%n&&t.buffer.set(r),t}}const X1=new Uint32Array([1116352408,1899447441,3049323471,3921009573,961987163,1508970993,2453635748,2870763221,3624381080,310598401,607225278,1426881987,1925078388,2162078206,2614888103,3248222580,3835390401,4022224774,264347078,604807628,770255983,1249150122,1555081692,1996064986,2554220882,2821834349,2952996808,3210313671,3336571891,3584528711,113926993,338241895,666307205,773529912,1294757372,1396182291,1695183700,1986661051,2177026350,2456956037,2730485921,2820302411,3259730800,3345764771,3516065817,3600352804,4094571909,275423344,430227734,506948616,659060556,883997877,958139571,1322822218,1537002063,1747873779,1955562222,2024104815,2227730452,2361852424,2428436474,2756734187,3204031479,3329325298]),Dn=new Uint32Array([1779033703,3144134277,1013904242,2773480762,1359893119,2600822924,528734635,1541459225]),Fn=new Uint32Array(64);class Z1 extends W1{constructor(){super(64,32,8,!1),this.A=Dn[0]|0,this.B=Dn[1]|0,this.C=Dn[2]|0,this.D=Dn[3]|0,this.E=Dn[4]|0,this.F=Dn[5]|0,this.G=Dn[6]|0,this.H=Dn[7]|0}get(){const{A:t,B:n,C:r,D:a,E:o,F:i,G:s,H:c}=this;return[t,n,r,a,o,i,s,c]}set(t,n,r,a,o,i,s,c){this.A=t|0,this.B=n|0,this.C=r|0,this.D=a|0,this.E=o|0,this.F=i|0,this.G=s|0,this.H=c|0}process(t,n){for(let h=0;h<16;h++,n+=4)Fn[h]=t.getUint32(n,!1);for(let h=16;h<64;h++){const f=Fn[h-15],l=Fn[h-2],g=an(f,7)^an(f,18)^f>>>3,b=an(l,17)^an(l,19)^l>>>10;Fn[h]=b+Fn[h-7]+g+Fn[h-16]|0}let{A:r,B:a,C:o,D:i,E:s,F:c,G:u,H:d}=this;for(let h=0;h<64;h++){const f=an(s,6)^an(s,11)^an(s,25),l=d+f+G1(s,c,u)+X1[h]+Fn[h]|0,b=(an(r,2)^an(r,13)^an(r,22))+K1(r,a,o)|0;d=u,u=c,c=s,s=i+l|0,i=o,o=a,a=r,r=l+b|0}r=r+this.A|0,a=a+this.B|0,o=o+this.C|0,i=i+this.D|0,s=s+this.E|0,c=c+this.F|0,u=u+this.G|0,d=d+this.H|0,this.set(r,a,o,i,s,c,u,d)}roundClean(){Fn.fill(0)}destroy(){this.set(0,0,0,0,0,0,0,0),this.buffer.fill(0)}}const fd=My(()=>new Z1);/*! noble-curves - MIT License (c) 2022 Paul Miller (paulmillr.com) */const pd=BigInt(0),Ky=BigInt(1),Y1=BigInt(2);function $r(e){return e instanceof Uint8Array||ArrayBuffer.isView(e)&&e.constructor.name==="Uint8Array"}function Wo(e){if(!$r(e))throw new Error("Uint8Array expected")}function ja(e,t){if(typeof t!="boolean")throw new Error(e+" boolean expected, got "+t)}const J1=Array.from({length:256},(e,t)=>t.toString(16).padStart(2,"0"));function fr(e){Wo(e);let t="";for(let n=0;n<e.length;n++)t+=J1[e[n]];return t}function ga(e){const t=e.toString(16);return t.length&1?"0"+t:t}function ks(e){if(typeof e!="string")throw new Error("hex string expected, got "+typeof e);return e===""?pd:BigInt("0x"+e)}const Sn={_0:48,_9:57,A:65,F:70,a:97,f:102};function Vf(e){if(e>=Sn._0&&e<=Sn._9)return e-Sn._0;if(e>=Sn.A&&e<=Sn.F)return e-(Sn.A-10);if(e>=Sn.a&&e<=Sn.f)return e-(Sn.a-10)}function Gr(e){if(typeof e!="string")throw new Error("hex string expected, got "+typeof 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 a=0,o=0;a<n;a++,o+=2){const i=Vf(e.charCodeAt(o)),s=Vf(e.charCodeAt(o+1));if(i===void 0||s===void 0){const c=e[o]+e[o+1];throw new Error('hex string expected, got non-hex character "'+c+'" at index '+o)}r[a]=i*16+s}return r}function vt(e){return ks(fr(e))}function hd(e){return Wo(e),ks(fr(Uint8Array.from(e).reverse()))}function xa(e,t){return Gr(e.toString(16).padStart(t*2,"0"))}function md(e,t){return xa(e,t).reverse()}function gd(e){return Gr(ga(e))}function Lt(e,t,n){let r;if(typeof t=="string")try{r=Gr(t)}catch(o){throw new Error(e+" must be hex string or Uint8Array, cause: "+o)}else if($r(t))r=Uint8Array.from(t);else throw new Error(e+" must be hex string or Uint8Array");const a=r.length;if(typeof n=="number"&&a!==n)throw new Error(e+" of length "+n+" expected, got "+a);return r}function Ta(...e){let t=0;for(let r=0;r<e.length;r++){const a=e[r];Wo(a),t+=a.length}const n=new Uint8Array(t);for(let r=0,a=0;r<e.length;r++){const o=e[r];n.set(o,a),a+=o.length}return n}const nc=e=>typeof e=="bigint"&&pd<=e;function _s(e,t,n){return nc(e)&&nc(t)&&nc(n)&&t<=e&&e<n}function Fr(e,t,n,r){if(!_s(t,n,r))throw new Error("expected valid "+e+": "+n+" <= n < "+r+", got "+t)}function Wy(e){let t;for(t=0;e>pd;e>>=Ky,t+=1);return t}const vs=e=>(Y1<<BigInt(e-1))-Ky,rc=e=>new Uint8Array(e),$f=e=>Uint8Array.from(e);function Xy(e,t,n){if(typeof e!="number"||e<2)throw new Error("hashLen must be a number");if(typeof t!="number"||t<2)throw new Error("qByteLen must be a number");if(typeof n!="function")throw new Error("hmacFn must be a function");let r=rc(e),a=rc(e),o=0;const i=()=>{r.fill(1),a.fill(0),o=0},s=(...h)=>n(a,r,...h),c=(h=rc())=>{a=s($f([0]),h),r=s(),h.length!==0&&(a=s($f([1]),h),r=s())},u=()=>{if(o++>=1e3)throw new Error("drbg: tried 1000 values");let h=0;const f=[];for(;h<t;){r=s();const l=r.slice();f.push(l),h+=r.length}return Ta(...f)};return(h,f)=>{i(),c(h);let l;for(;!(l=f(u()));)c();return i(),l}}const Q1={bigint:e=>typeof e=="bigint",function:e=>typeof e=="function",boolean:e=>typeof e=="boolean",string:e=>typeof e=="string",stringOrUint8Array:e=>typeof e=="string"||$r(e),isSafeInteger:e=>Number.isSafeInteger(e),array:e=>Array.isArray(e),field:(e,t)=>t.Fp.isValid(e),hash:e=>typeof e=="function"&&Number.isSafeInteger(e.outputLen)};function Xo(e,t,n={}){const r=(a,o,i)=>{const s=Q1[o];if(typeof s!="function")throw new Error("invalid validator function");const c=e[a];if(!(i&&c===void 0)&&!s(c,e))throw new Error("param "+String(a)+" is invalid. Expected "+o+", got "+c)};for(const[a,o]of Object.entries(t))r(a,o,!1);for(const[a,o]of Object.entries(n))r(a,o,!0);return e}function bl(e){const t=new WeakMap;return(n,...r)=>{const a=t.get(n);if(a!==void 0)return a;const o=e(n,...r);return t.set(n,o),o}}const ev=Object.freeze(Object.defineProperty({__proto__:null,aInRange:Fr,abool:ja,abytes:Wo,bitLen:Wy,bitMask:vs,bytesToHex:fr,bytesToNumberBE:vt,bytesToNumberLE:hd,concatBytes:Ta,createHmacDrbg:Xy,ensureBytes:Lt,hexToBytes:Gr,hexToNumber:ks,inRange:_s,isBytes:$r,memoized:bl,numberToBytesBE:xa,numberToBytesLE:md,numberToHexUnpadded:ga,numberToVarBytesBE:gd,validateObject:Xo},Symbol.toStringTag,{value:"Module"}));/*! noble-curves - MIT License (c) 2022 Paul Miller (paulmillr.com) */const lt=BigInt(0),Ve=BigInt(1),Cr=BigInt(2),tv=BigInt(3),wl=BigInt(4),Gf=BigInt(5),Kf=BigInt(8);function bt(e,t){const n=e%t;return n>=lt?n:t+n}function nv(e,t,n){if(t<lt)throw new Error("invalid exponent, negatives unsupported");if(n<=lt)throw new Error("invalid modulus");if(n===Ve)return lt;let r=Ve;for(;t>lt;)t&Ve&&(r=r*e%n),e=e*e%n,t>>=Ve;return r}function ss(e,t){if(e===lt)throw new Error("invert: expected non-zero number");if(t<=lt)throw new Error("invert: expected positive modulus, got "+t);let n=bt(e,t),r=t,a=lt,o=Ve;for(;n!==lt;){const s=r/n,c=r%n,u=a-o*s;r=n,n=c,a=o,o=u}if(r!==Ve)throw new Error("invert: does not exist");return bt(a,t)}function rv(e){const t=(e-Ve)/Cr;let n,r,a;for(n=e-Ve,r=0;n%Cr===lt;n/=Cr,r++);for(a=Cr;a<e&&nv(a,t,e)!==e-Ve;a++)if(a>1e3)throw new Error("Cannot find square root: likely non-prime P");if(r===1){const i=(e+Ve)/wl;return function(c,u){const d=c.pow(u,i);if(!c.eql(c.sqr(d),u))throw new Error("Cannot find square root");return d}}const o=(n+Ve)/Cr;return function(s,c){if(s.pow(c,t)===s.neg(s.ONE))throw new Error("Cannot find square root");let u=r,d=s.pow(s.mul(s.ONE,a),n),h=s.pow(c,o),f=s.pow(c,n);for(;!s.eql(f,s.ONE);){if(s.eql(f,s.ZERO))return s.ZERO;let l=1;for(let b=s.sqr(f);l<u&&!s.eql(b,s.ONE);l++)b=s.sqr(b);const g=s.pow(d,Ve<<BigInt(u-l-1));d=s.sqr(g),h=s.mul(h,g),f=s.mul(f,d),u=l}return h}}function av(e){if(e%wl===tv){const t=(e+Ve)/wl;return function(r,a){const o=r.pow(a,t);if(!r.eql(r.sqr(o),a))throw new Error("Cannot find square root");return o}}if(e%Kf===Gf){const t=(e-Gf)/Kf;return function(r,a){const o=r.mul(a,Cr),i=r.pow(o,t),s=r.mul(a,i),c=r.mul(r.mul(s,Cr),i),u=r.mul(s,r.sub(c,r.ONE));if(!r.eql(r.sqr(u),a))throw new Error("Cannot find square root");return u}}return rv(e)}const ov=["create","isValid","is0","neg","inv","sqrt","sqr","eql","add","sub","mul","pow","div","addN","subN","mulN","sqrN"];function yd(e){const t={ORDER:"bigint",MASK:"bigint",BYTES:"isSafeInteger",BITS:"isSafeInteger"},n=ov.reduce((r,a)=>(r[a]="function",r),t);return Xo(e,n)}function Zy(e,t,n){if(n<lt)throw new Error("invalid exponent, negatives unsupported");if(n===lt)return e.ONE;if(n===Ve)return t;let r=e.ONE,a=t;for(;n>lt;)n&Ve&&(r=e.mul(r,a)),a=e.sqr(a),n>>=Ve;return r}function iv(e,t){const n=new Array(t.length),r=t.reduce((o,i,s)=>e.is0(i)?o:(n[s]=o,e.mul(o,i)),e.ONE),a=e.inv(r);return t.reduceRight((o,i,s)=>e.is0(i)?o:(n[s]=e.mul(o,n[s]),e.mul(o,i)),a),n}function Yy(e,t){const n=t!==void 0?t:e.toString(2).length,r=Math.ceil(n/8);return{nBitLength:n,nByteLength:r}}function bd(e,t,n=!1,r={}){if(e<=lt)throw new Error("invalid field: expected ORDER > 0, got "+e);const{nBitLength:a,nByteLength:o}=Yy(e,t);if(o>2048)throw new Error("invalid field: expected ORDER of <= 2048 bytes");let i;const s=Object.freeze({ORDER:e,BITS:a,BYTES:o,MASK:vs(a),ZERO:lt,ONE:Ve,create:c=>bt(c,e),isValid:c=>{if(typeof c!="bigint")throw new Error("invalid field element: expected bigint, got "+typeof c);return lt<=c&&c<e},is0:c=>c===lt,isOdd:c=>(c&Ve)===Ve,neg:c=>bt(-c,e),eql:(c,u)=>c===u,sqr:c=>bt(c*c,e),add:(c,u)=>bt(c+u,e),sub:(c,u)=>bt(c-u,e),mul:(c,u)=>bt(c*u,e),pow:(c,u)=>Zy(s,c,u),div:(c,u)=>bt(c*ss(u,e),e),sqrN:c=>c*c,addN:(c,u)=>c+u,subN:(c,u)=>c-u,mulN:(c,u)=>c*u,inv:c=>ss(c,e),sqrt:r.sqrt||(c=>(i||(i=av(e)),i(s,c))),invertBatch:c=>iv(s,c),cmov:(c,u,d)=>d?u:c,toBytes:c=>n?md(c,o):xa(c,o),fromBytes:c=>{if(c.length!==o)throw new Error("Field.fromBytes: expected "+o+" bytes, got "+c.length);return n?hd(c):vt(c)}});return Object.freeze(s)}function Jy(e){if(typeof e!="bigint")throw new Error("field order must be bigint");const t=e.toString(2).length;return Math.ceil(t/8)}function Qy(e){const t=Jy(e);return t+Math.ceil(t/2)}function sv(e,t,n=!1){const r=e.length,a=Jy(t),o=Qy(t);if(r<16||r<o||r>1024)throw new Error("expected "+o+"-1024 bytes of input, got "+r);const i=n?vt(e):hd(e),s=bt(i,t-Ve)+Ve;return n?md(s,a):xa(s,a)}/*! noble-curves - MIT License (c) 2022 Paul Miller (paulmillr.com) */function cv(e){const{Fp:t,mds:n,reversePartialPowIdx:r,roundConstants:a}=e,{roundsFull:o,roundsPartial:i,sboxPower:s,t:c}=e;yd(t);for(const g of["t","roundsFull","roundsPartial"])if(typeof e[g]!="number"||!Number.isSafeInteger(e[g]))throw new Error("invalid number "+g);if(!Array.isArray(n)||n.length!==c)throw new Error("Poseidon: invalid MDS matrix");const u=n.map(g=>{if(!Array.isArray(g)||g.length!==c)throw new Error("invalid MDS matrix row: "+g);return g.map(b=>{if(typeof b!="bigint")throw new Error("invalid MDS matrix bigint: "+b);return t.create(b)})});if(r!==void 0&&typeof r!="boolean")throw new Error("invalid param reversePartialPowIdx="+r);if(o&1)throw new Error("roundsFull is not even"+o);const d=o+i;if(!Array.isArray(a)||a.length!==d)throw new Error("Poseidon: invalid round constants");const h=a.map(g=>{if(!Array.isArray(g)||g.length!==c)throw new Error("invalid round constants");return g.map(b=>{if(typeof b!="bigint"||!t.isValid(b))throw new Error("invalid round constant");return t.create(b)})});if(!s||![3,5,7].includes(s))throw new Error("invalid sboxPower");const f=BigInt(s);let l=g=>Zy(t,g,f);return s===3?l=g=>t.mul(t.sqrN(g),g):s===5&&(l=g=>t.mul(t.sqrN(t.sqrN(g)),g)),Object.freeze({...e,rounds:d,sboxFn:l,roundConstants:h,mds:u})}function uv(e){const t=cv(e),{Fp:n,mds:r,roundConstants:a,rounds:o,roundsPartial:i,sboxFn:s,t:c}=t,u=t.roundsFull/2,d=t.reversePartialPowIdx?c-1:0,h=(l,g,b)=>(l=l.map((y,_)=>n.add(y,a[b][_])),g?l=l.map(y=>s(y)):l[d]=s(l[d]),l=r.map(y=>y.reduce((_,k,w)=>n.add(_,n.mulN(k,l[w])),n.ZERO)),l),f=function(g){if(!Array.isArray(g)||g.length!==c)throw new Error("invalid values, expected array of bigints with length "+c);g=g.map(y=>{if(typeof y!="bigint")throw new Error("invalid bigint="+y);return n.create(y)});let b=0;for(let y=0;y<u;y++)g=h(g,!0,b++);for(let y=0;y<i;y++)g=h(g,!1,b++);for(let y=0;y<u;y++)g=h(g,!0,b++);if(b!==o)throw new Error("invalid number of rounds");return g};return f.roundConstants=a,f}/*! noble-curves - MIT License (c) 2022 Paul Miller (paulmillr.com) */const Wf=BigInt(0),mi=BigInt(1);function ac(e,t){const n=t.negate();return e?n:t}function e0(e,t){if(!Number.isSafeInteger(e)||e<=0||e>t)throw new Error("invalid window size, expected [1.."+t+"], got W="+e)}function oc(e,t){e0(e,t);const n=Math.ceil(t/e)+1,r=2**(e-1);return{windows:n,windowSize:r}}function lv(e,t){if(!Array.isArray(e))throw new Error("array expected");e.forEach((n,r)=>{if(!(n instanceof t))throw new Error("invalid point at index "+r)})}function dv(e,t){if(!Array.isArray(e))throw new Error("array of scalars expected");e.forEach((n,r)=>{if(!t.isValid(n))throw new Error("invalid scalar at index "+r)})}const ic=new WeakMap,t0=new WeakMap;function sc(e){return t0.get(e)||1}function fv(e,t){return{constTimeNegate:ac,hasPrecomputes(n){return sc(n)!==1},unsafeLadder(n,r,a=e.ZERO){let o=n;for(;r>Wf;)r&mi&&(a=a.add(o)),o=o.double(),r>>=mi;return a},precomputeWindow(n,r){const{windows:a,windowSize:o}=oc(r,t),i=[];let s=n,c=s;for(let u=0;u<a;u++){c=s,i.push(c);for(let d=1;d<o;d++)c=c.add(s),i.push(c);s=c.double()}return i},wNAF(n,r,a){const{windows:o,windowSize:i}=oc(n,t);let s=e.ZERO,c=e.BASE;const u=BigInt(2**n-1),d=2**n,h=BigInt(n);for(let f=0;f<o;f++){const l=f*i;let g=Number(a&u);a>>=h,g>i&&(g-=d,a+=mi);const b=l,y=l+Math.abs(g)-1,_=f%2!==0,k=g<0;g===0?c=c.add(ac(_,r[b])):s=s.add(ac(k,r[y]))}return{p:s,f:c}},wNAFUnsafe(n,r,a,o=e.ZERO){const{windows:i,windowSize:s}=oc(n,t),c=BigInt(2**n-1),u=2**n,d=BigInt(n);for(let h=0;h<i;h++){const f=h*s;if(a===Wf)break;let l=Number(a&c);if(a>>=d,l>s&&(l-=u,a+=mi),l===0)continue;let g=r[f+Math.abs(l)-1];l<0&&(g=g.negate()),o=o.add(g)}return o},getPrecomputes(n,r,a){let o=ic.get(r);return o||(o=this.precomputeWindow(r,n),n!==1&&ic.set(r,a(o))),o},wNAFCached(n,r,a){const o=sc(n);return this.wNAF(o,this.getPrecomputes(o,n,a),r)},wNAFCachedUnsafe(n,r,a,o){const i=sc(n);return i===1?this.unsafeLadder(n,r,o):this.wNAFUnsafe(i,this.getPrecomputes(i,n,a),r,o)},setWindowSize(n,r){e0(r,t),t0.set(n,r),ic.delete(n)}}}function pv(e,t,n,r){if(lv(n,e),dv(r,t),n.length!==r.length)throw new Error("arrays of points and scalars must have equal length");const a=e.ZERO,o=Wy(BigInt(n.length)),i=o>12?o-3:o>4?o-2:o?2:1,s=(1<<i)-1,c=new Array(s+1).fill(a),u=Math.floor((t.BITS-1)/i)*i;let d=a;for(let h=u;h>=0;h-=i){c.fill(a);for(let l=0;l<r.length;l++){const g=r[l],b=Number(g>>BigInt(h)&BigInt(s));c[b]=c[b].add(n[l])}let f=a;for(let l=c.length-1,g=a;l>0;l--)g=g.add(c[l]),f=f.add(g);if(d=d.add(f),h!==0)for(let l=0;l<i;l++)d=d.double()}return d}function n0(e){return yd(e.Fp),Xo(e,{n:"bigint",h:"bigint",Gx:"field",Gy:"field"},{nBitLength:"isSafeInteger",nByteLength:"isSafeInteger"}),Object.freeze({...Yy(e.n,e.nBitLength),...e,p:e.Fp.ORDER})}/*! noble-curves - MIT License (c) 2022 Paul Miller (paulmillr.com) */function Xf(e){e.lowS!==void 0&&ja("lowS",e.lowS),e.prehash!==void 0&&ja("prehash",e.prehash)}function hv(e){const t=n0(e);Xo(t,{a:"field",b:"field"},{allowedPrivateKeyLengths:"array",wrapPrivateKey:"boolean",isTorsionFree:"function",clearCofactor:"function",allowInfinityPoint:"boolean",fromBytes:"function",toBytes:"function"});const{endo:n,Fp:r,a}=t;if(n){if(!r.eql(a,r.ZERO))throw new Error("invalid endomorphism, can only be defined for Koblitz curves that have a=0");if(typeof n!="object"||typeof n.beta!="bigint"||typeof n.splitScalar!="function")throw new Error("invalid endomorphism, expected beta: bigint and splitScalar: function")}return Object.freeze({...t})}const{bytesToNumberBE:mv,hexToBytes:gv}=ev,un={Err:class extends Error{constructor(t=""){super(t)}},_tlv:{encode:(e,t)=>{const{Err:n}=un;if(e<0||e>256)throw new n("tlv.encode: wrong tag");if(t.length&1)throw new n("tlv.encode: unpadded data");const r=t.length/2,a=ga(r);if(a.length/2&128)throw new n("tlv.encode: long form length too big");const o=r>127?ga(a.length/2|128):"";return ga(e)+o+a+t},decode(e,t){const{Err:n}=un;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 a=t[r++],o=!!(a&128);let i=0;if(!o)i=a;else{const c=a&127;if(!c)throw new n("tlv.decode(long): indefinite length not supported");if(c>4)throw new n("tlv.decode(long): byte length is too big");const u=t.subarray(r,r+c);if(u.length!==c)throw new n("tlv.decode: length bytes not complete");if(u[0]===0)throw new n("tlv.decode(long): zero leftmost byte");for(const d of u)i=i<<8|d;if(r+=c,i<128)throw new n("tlv.decode(long): not minimal encoding")}const s=t.subarray(r,r+i);if(s.length!==i)throw new n("tlv.decode: wrong value length");return{v:s,l:t.subarray(r+i)}}},_int:{encode(e){const{Err:t}=un;if(e<zn)throw new t("integer: negative integers are not allowed");let n=ga(e);if(Number.parseInt(n[0],16)&8&&(n="00"+n),n.length&1)throw new t("unexpected DER parsing assertion: unpadded hex");return n},decode(e){const{Err:t}=un;if(e[0]&128)throw new t("invalid signature integer: negative");if(e[0]===0&&!(e[1]&128))throw new t("invalid signature integer: unnecessary leading zero");return mv(e)}},toSig(e){const{Err:t,_int:n,_tlv:r}=un,a=typeof e=="string"?gv(e):e;Wo(a);const{v:o,l:i}=r.decode(48,a);if(i.length)throw new t("invalid signature: left bytes after parsing");const{v:s,l:c}=r.decode(2,o),{v:u,l:d}=r.decode(2,c);if(d.length)throw new t("invalid signature: left bytes after parsing");return{r:n.decode(s),s:n.decode(u)}},hexFromSig(e){const{_tlv:t,_int:n}=un,r=t.encode(2,n.encode(e.r)),a=t.encode(2,n.encode(e.s)),o=r+a;return t.encode(48,o)}},zn=BigInt(0),et=BigInt(1);BigInt(2);const Zf=BigInt(3);BigInt(4);function yv(e){const t=hv(e),{Fp:n}=t,r=bd(t.n,t.nBitLength),a=t.toBytes||((b,y,_)=>{const k=y.toAffine();return Ta(Uint8Array.from([4]),n.toBytes(k.x),n.toBytes(k.y))}),o=t.fromBytes||(b=>{const y=b.subarray(1),_=n.fromBytes(y.subarray(0,n.BYTES)),k=n.fromBytes(y.subarray(n.BYTES,2*n.BYTES));return{x:_,y:k}});function i(b){const{a:y,b:_}=t,k=n.sqr(b),w=n.mul(k,b);return n.add(n.add(w,n.mul(b,y)),_)}if(!n.eql(n.sqr(t.Gy),i(t.Gx)))throw new Error("bad generator point: equation left != right");function s(b){return _s(b,et,t.n)}function c(b){const{allowedPrivateKeyLengths:y,nByteLength:_,wrapPrivateKey:k,n:w}=t;if(y&&typeof b!="bigint"){if($r(b)&&(b=fr(b)),typeof b!="string"||!y.includes(b.length))throw new Error("invalid private key");b=b.padStart(_*2,"0")}let v;try{v=typeof b=="bigint"?b:vt(Lt("private key",b,_))}catch{throw new Error("invalid private key, expected hex or "+_+" bytes, got "+typeof b)}return k&&(v=bt(v,w)),Fr("private key",v,et,w),v}function u(b){if(!(b instanceof f))throw new Error("ProjectivePoint expected")}const d=bl((b,y)=>{const{px:_,py:k,pz:w}=b;if(n.eql(w,n.ONE))return{x:_,y:k};const v=b.is0();y==null&&(y=v?n.ONE:n.inv(w));const A=n.mul(_,y),T=n.mul(k,y),I=n.mul(w,y);if(v)return{x:n.ZERO,y:n.ZERO};if(!n.eql(I,n.ONE))throw new Error("invZ was invalid");return{x:A,y:T}}),h=bl(b=>{if(b.is0()){if(t.allowInfinityPoint&&!n.is0(b.py))return;throw new Error("bad point: ZERO")}const{x:y,y:_}=b.toAffine();if(!n.isValid(y)||!n.isValid(_))throw new Error("bad point: x or y not FE");const k=n.sqr(_),w=i(y);if(!n.eql(k,w))throw new Error("bad point: equation left != right");if(!b.isTorsionFree())throw new Error("bad point: not in prime-order subgroup");return!0});class f{constructor(y,_,k){if(this.px=y,this.py=_,this.pz=k,y==null||!n.isValid(y))throw new Error("x required");if(_==null||!n.isValid(_))throw new Error("y required");if(k==null||!n.isValid(k))throw new Error("z required");Object.freeze(this)}static fromAffine(y){const{x:_,y:k}=y||{};if(!y||!n.isValid(_)||!n.isValid(k))throw new Error("invalid affine point");if(y instanceof f)throw new Error("projective point not allowed");const w=v=>n.eql(v,n.ZERO);return w(_)&&w(k)?f.ZERO:new f(_,k,n.ONE)}get x(){return this.toAffine().x}get y(){return this.toAffine().y}static normalizeZ(y){const _=n.invertBatch(y.map(k=>k.pz));return y.map((k,w)=>k.toAffine(_[w])).map(f.fromAffine)}static fromHex(y){const _=f.fromAffine(o(Lt("pointHex",y)));return _.assertValidity(),_}static fromPrivateKey(y){return f.BASE.multiply(c(y))}static msm(y,_){return pv(f,r,y,_)}_setWindowSize(y){g.setWindowSize(this,y)}assertValidity(){h(this)}hasEvenY(){const{y}=this.toAffine();if(n.isOdd)return!n.isOdd(y);throw new Error("Field doesn't support isOdd")}equals(y){u(y);const{px:_,py:k,pz:w}=this,{px:v,py:A,pz:T}=y,I=n.eql(n.mul(_,T),n.mul(v,w)),z=n.eql(n.mul(k,T),n.mul(A,w));return I&&z}negate(){return new f(this.px,n.neg(this.py),this.pz)}double(){const{a:y,b:_}=t,k=n.mul(_,Zf),{px:w,py:v,pz:A}=this;let T=n.ZERO,I=n.ZERO,z=n.ZERO,S=n.mul(w,w),B=n.mul(v,v),P=n.mul(A,A),M=n.mul(w,v);return M=n.add(M,M),z=n.mul(w,A),z=n.add(z,z),T=n.mul(y,z),I=n.mul(k,P),I=n.add(T,I),T=n.sub(B,I),I=n.add(B,I),I=n.mul(T,I),T=n.mul(M,T),z=n.mul(k,z),P=n.mul(y,P),M=n.sub(S,P),M=n.mul(y,M),M=n.add(M,z),z=n.add(S,S),S=n.add(z,S),S=n.add(S,P),S=n.mul(S,M),I=n.add(I,S),P=n.mul(v,A),P=n.add(P,P),S=n.mul(P,M),T=n.sub(T,S),z=n.mul(P,B),z=n.add(z,z),z=n.add(z,z),new f(T,I,z)}add(y){u(y);const{px:_,py:k,pz:w}=this,{px:v,py:A,pz:T}=y;let I=n.ZERO,z=n.ZERO,S=n.ZERO;const B=t.a,P=n.mul(t.b,Zf);let M=n.mul(_,v),D=n.mul(k,A),R=n.mul(w,T),$=n.add(_,k),q=n.add(v,A);$=n.mul($,q),q=n.add(M,D),$=n.sub($,q),q=n.add(_,w);let X=n.add(v,T);return q=n.mul(q,X),X=n.add(M,R),q=n.sub(q,X),X=n.add(k,w),I=n.add(A,T),X=n.mul(X,I),I=n.add(D,R),X=n.sub(X,I),S=n.mul(B,q),I=n.mul(P,R),S=n.add(I,S),I=n.sub(D,S),S=n.add(D,S),z=n.mul(I,S),D=n.add(M,M),D=n.add(D,M),R=n.mul(B,R),q=n.mul(P,q),D=n.add(D,R),R=n.sub(M,R),R=n.mul(B,R),q=n.add(q,R),M=n.mul(D,q),z=n.add(z,M),M=n.mul(X,q),I=n.mul($,I),I=n.sub(I,M),M=n.mul($,D),S=n.mul(X,S),S=n.add(S,M),new f(I,z,S)}subtract(y){return this.add(y.negate())}is0(){return this.equals(f.ZERO)}wNAF(y){return g.wNAFCached(this,y,f.normalizeZ)}multiplyUnsafe(y){const{endo:_,n:k}=t;Fr("scalar",y,zn,k);const w=f.ZERO;if(y===zn)return w;if(this.is0()||y===et)return this;if(!_||g.hasPrecomputes(this))return g.wNAFCachedUnsafe(this,y,f.normalizeZ);let{k1neg:v,k1:A,k2neg:T,k2:I}=_.splitScalar(y),z=w,S=w,B=this;for(;A>zn||I>zn;)A&et&&(z=z.add(B)),I&et&&(S=S.add(B)),B=B.double(),A>>=et,I>>=et;return v&&(z=z.negate()),T&&(S=S.negate()),S=new f(n.mul(S.px,_.beta),S.py,S.pz),z.add(S)}multiply(y){const{endo:_,n:k}=t;Fr("scalar",y,et,k);let w,v;if(_){const{k1neg:A,k1:T,k2neg:I,k2:z}=_.splitScalar(y);let{p:S,f:B}=this.wNAF(T),{p:P,f:M}=this.wNAF(z);S=g.constTimeNegate(A,S),P=g.constTimeNegate(I,P),P=new f(n.mul(P.px,_.beta),P.py,P.pz),w=S.add(P),v=B.add(M)}else{const{p:A,f:T}=this.wNAF(y);w=A,v=T}return f.normalizeZ([w,v])[0]}multiplyAndAddUnsafe(y,_,k){const w=f.BASE,v=(T,I)=>I===zn||I===et||!T.equals(w)?T.multiplyUnsafe(I):T.multiply(I),A=v(this,_).add(v(y,k));return A.is0()?void 0:A}toAffine(y){return d(this,y)}isTorsionFree(){const{h:y,isTorsionFree:_}=t;if(y===et)return!0;if(_)return _(f,this);throw new Error("isTorsionFree() has not been declared for the elliptic curve")}clearCofactor(){const{h:y,clearCofactor:_}=t;return y===et?this:_?_(f,this):this.multiplyUnsafe(t.h)}toRawBytes(y=!0){return ja("isCompressed",y),this.assertValidity(),a(f,this,y)}toHex(y=!0){return ja("isCompressed",y),fr(this.toRawBytes(y))}}f.BASE=new f(t.Gx,t.Gy,n.ONE),f.ZERO=new f(n.ZERO,n.ONE,n.ZERO);const l=t.nBitLength,g=fv(f,t.endo?Math.ceil(l/2):l);return{CURVE:t,ProjectivePoint:f,normPrivateKeyToScalar:c,weierstrassEquation:i,isWithinCurveOrder:s}}function bv(e){const t=n0(e);return Xo(t,{hash:"hash",hmac:"function",randomBytes:"function"},{bits2int:"function",bits2int_modN:"function",lowS:"boolean"}),Object.freeze({lowS:!0,...t})}function wv(e){const t=bv(e),{Fp:n,n:r}=t,a=n.BYTES+1,o=2*n.BYTES+1;function i(R){return bt(R,r)}function s(R){return ss(R,r)}const{ProjectivePoint:c,normPrivateKeyToScalar:u,weierstrassEquation:d,isWithinCurveOrder:h}=yv({...t,toBytes(R,$,q){const X=$.toAffine(),H=n.toBytes(X.x),C=Ta;return ja("isCompressed",q),q?C(Uint8Array.from([$.hasEvenY()?2:3]),H):C(Uint8Array.from([4]),H,n.toBytes(X.y))},fromBytes(R){const $=R.length,q=R[0],X=R.subarray(1);if($===a&&(q===2||q===3)){const H=vt(X);if(!_s(H,et,n.ORDER))throw new Error("Point is not on curve");const C=d(H);let V;try{V=n.sqrt(C)}catch(K){const Y=K instanceof Error?": "+K.message:"";throw new Error("Point is not on curve"+Y)}const W=(V&et)===et;return(q&1)===1!==W&&(V=n.neg(V)),{x:H,y:V}}else if($===o&&q===4){const H=n.fromBytes(X.subarray(0,n.BYTES)),C=n.fromBytes(X.subarray(n.BYTES,2*n.BYTES));return{x:H,y:C}}else{const H=a,C=o;throw new Error("invalid Point, expected length of "+H+", or uncompressed "+C+", got "+$)}}}),f=R=>fr(xa(R,t.nByteLength));function l(R){const $=r>>et;return R>$}function g(R){return l(R)?i(-R):R}const b=(R,$,q)=>vt(R.slice($,q));class y{constructor($,q,X){this.r=$,this.s=q,this.recovery=X,this.assertValidity()}static fromCompact($){const q=t.nByteLength;return $=Lt("compactSignature",$,q*2),new y(b($,0,q),b($,q,2*q))}static fromDER($){const{r:q,s:X}=un.toSig(Lt("DER",$));return new y(q,X)}assertValidity(){Fr("r",this.r,et,r),Fr("s",this.s,et,r)}addRecoveryBit($){return new y(this.r,this.s,$)}recoverPublicKey($){const{r:q,s:X,recovery:H}=this,C=T(Lt("msgHash",$));if(H==null||![0,1,2,3].includes(H))throw new Error("recovery id invalid");const V=H===2||H===3?q+t.n:q;if(V>=n.ORDER)throw new Error("recovery id 2 or 3 invalid");const W=(H&1)===0?"02":"03",U=c.fromHex(W+f(V)),K=s(V),Y=i(-C*K),de=i(X*K),te=c.BASE.multiplyAndAddUnsafe(U,Y,de);if(!te)throw new Error("point at infinify");return te.assertValidity(),te}hasHighS(){return l(this.s)}normalizeS(){return this.hasHighS()?new y(this.r,i(-this.s),this.recovery):this}toDERRawBytes(){return Gr(this.toDERHex())}toDERHex(){return un.hexFromSig({r:this.r,s:this.s})}toCompactRawBytes(){return Gr(this.toCompactHex())}toCompactHex(){return f(this.r)+f(this.s)}}const _={isValidPrivateKey(R){try{return u(R),!0}catch{return!1}},normPrivateKeyToScalar:u,randomPrivateKey:()=>{const R=Qy(t.n);return sv(t.randomBytes(R),t.n)},precompute(R=8,$=c.BASE){return $._setWindowSize(R),$.multiply(BigInt(3)),$}};function k(R,$=!0){return c.fromPrivateKey(R).toRawBytes($)}function w(R){const $=$r(R),q=typeof R=="string",X=($||q)&&R.length;return $?X===a||X===o:q?X===2*a||X===2*o:R instanceof c}function v(R,$,q=!0){if(w(R))throw new Error("first arg must be private key");if(!w($))throw new Error("second arg must be public key");return c.fromHex($).multiply(u(R)).toRawBytes(q)}const A=t.bits2int||function(R){if(R.length>8192)throw new Error("input is too large");const $=vt(R),q=R.length*8-t.nBitLength;return q>0?$>>BigInt(q):$},T=t.bits2int_modN||function(R){return i(A(R))},I=vs(t.nBitLength);function z(R){return Fr("num < 2^"+t.nBitLength,R,zn,I),xa(R,t.nByteLength)}function S(R,$,q=B){if(["recovered","canonical"].some(oe=>oe in q))throw new Error("sign() legacy options not supported");const{hash:X,randomBytes:H}=t;let{lowS:C,prehash:V,extraEntropy:W}=q;C==null&&(C=!0),R=Lt("msgHash",R),Xf(q),V&&(R=Lt("prehashed msgHash",X(R)));const U=T(R),K=u($),Y=[z(K),z(U)];if(W!=null&&W!==!1){const oe=W===!0?H(n.BYTES):W;Y.push(Lt("extraEntropy",oe))}const de=Ta(...Y),te=U;function re(oe){const ae=A(oe);if(!h(ae))return;const se=s(ae),G=c.BASE.multiply(ae).toAffine(),N=i(G.x);if(N===zn)return;const L=i(se*i(te+N*K));if(L===zn)return;let J=(G.x===N?0:2)|Number(G.y&et),Z=L;return C&&l(L)&&(Z=g(L),J^=1),new y(N,Z,J)}return{seed:de,k2sig:re}}const B={lowS:t.lowS,prehash:!1},P={lowS:t.lowS,prehash:!1};function M(R,$,q=B){const{seed:X,k2sig:H}=S(R,$,q),C=t;return Xy(C.hash.outputLen,C.nByteLength,C.hmac)(X,H)}c.BASE._setWindowSize(8);function D(R,$,q,X=P){var J;const H=R;$=Lt("msgHash",$),q=Lt("publicKey",q);const{lowS:C,prehash:V,format:W}=X;if(Xf(X),"strict"in X)throw new Error("options.strict was renamed to lowS");if(W!==void 0&&W!=="compact"&&W!=="der")throw new Error("format must be compact or der");const U=typeof H=="string"||$r(H),K=!U&&!W&&typeof H=="object"&&H!==null&&typeof H.r=="bigint"&&typeof H.s=="bigint";if(!U&&!K)throw new Error("invalid signature, expected Uint8Array, hex string or Signature instance");let Y,de;try{if(K&&(Y=new y(H.r,H.s)),U){try{W!=="compact"&&(Y=y.fromDER(H))}catch(Z){if(!(Z instanceof un.Err))throw Z}!Y&&W!=="der"&&(Y=y.fromCompact(H))}de=c.fromHex(q)}catch{return!1}if(!Y||C&&Y.hasHighS())return!1;V&&($=t.hash($));const{r:te,s:re}=Y,oe=T($),ae=s(re),se=i(oe*ae),G=i(te*ae),N=(J=c.BASE.multiplyAndAddUnsafe(de,se,G))==null?void 0:J.toAffine();return N?i(N.x)===te:!1}return{CURVE:t,getPublicKey:k,getSharedSecret:v,sign:M,verify:D,ProjectivePoint:c,Signature:y,utils:_}}function Yf(e){if(!Number.isSafeInteger(e)||e<0)throw new Error("positive integer expected, got "+e)}function kv(e){return e instanceof Uint8Array||ArrayBuffer.isView(e)&&e.constructor.name==="Uint8Array"}function wd(e,...t){if(!kv(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 _v(e){if(typeof e!="function"||typeof e.create!="function")throw new Error("Hash should be wrapped by utils.wrapConstructor");Yf(e.outputLen),Yf(e.blockLen)}function Jf(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")}const ca=typeof globalThis=="object"&&"crypto"in globalThis?globalThis.crypto:void 0;/*! noble-hashes - MIT License (c) 2022 Paul Miller (paulmillr.com) */function vv(e){if(typeof e!="string")throw new Error("utf8ToBytes expected string, got "+typeof e);return new Uint8Array(new TextEncoder().encode(e))}function Ev(e){return typeof e=="string"&&(e=vv(e)),wd(e),e}function Av(...e){let t=0;for(let r=0;r<e.length;r++){const a=e[r];wd(a),t+=a.length}const n=new Uint8Array(t);for(let r=0,a=0;r<e.length;r++){const o=e[r];n.set(o,a),a+=o.length}return n}let Sv=class{clone(){return this._cloneInto()}};function jv(e=32){if(ca&&typeof ca.getRandomValues=="function")return ca.getRandomValues(new Uint8Array(e));if(ca&&typeof ca.randomBytes=="function")return ca.randomBytes(e);throw new Error("crypto.getRandomValues must be defined")}let r0=class extends Sv{constructor(t,n){super(),this.finished=!1,this.destroyed=!1,_v(t);const r=Ev(n);if(this.iHash=t.create(),typeof this.iHash.update!="function")throw new Error("Expected instance of class which extends utils.Hash");this.blockLen=this.iHash.blockLen,this.outputLen=this.iHash.outputLen;const a=this.blockLen,o=new Uint8Array(a);o.set(r.length>a?t.create().update(r).digest():r);for(let i=0;i<o.length;i++)o[i]^=54;this.iHash.update(o),this.oHash=t.create();for(let i=0;i<o.length;i++)o[i]^=106;this.oHash.update(o),o.fill(0)}update(t){return Jf(this),this.iHash.update(t),this}digestInto(t){Jf(this),wd(t,this.outputLen),this.finished=!0,this.iHash.digestInto(t),this.oHash.update(t),this.oHash.digestInto(t),this.destroy()}digest(){const t=new Uint8Array(this.oHash.outputLen);return this.digestInto(t),t}_cloneInto(t){t||(t=Object.create(Object.getPrototypeOf(this),{}));const{oHash:n,iHash:r,finished:a,destroyed:o,blockLen:i,outputLen:s}=this;return t=t,t.finished=a,t.destroyed=o,t.blockLen=i,t.outputLen=s,t.oHash=n._cloneInto(t.oHash),t.iHash=r._cloneInto(t.iHash),t}destroy(){this.destroyed=!0,this.oHash.destroy(),this.iHash.destroy()}};const a0=(e,t,n)=>new r0(e,t).update(n).digest();a0.create=(e,t)=>new r0(e,t);/*! noble-curves - MIT License (c) 2022 Paul Miller (paulmillr.com) */function xv(e){return{hash:e,hmac:(t,...n)=>a0(e,t,Av(...n)),randomBytes:jv}}/*! scure-starknet - MIT License (c) 2022 Paul Miller (paulmillr.com) */const Ao=BigInt("3618502788666131213697322783095070105526743751716087489154079457884512865583"),zr=BigInt("0x800000000000000000000000000000000000000000000000000000000000000"),o0=252;function Qf(e){for(;e[0]===0;)e=e.subarray(1);const t=e.length*8-o0,n=vt(e);return t>0?n>>BigInt(t):n}function i0(e){return typeof e=="string"&&(e=_d(e),e.length&1&&(e="0"+e)),Gr(e)}const ea=wv({a:BigInt(1),b:BigInt("3141592653589793238462643383279502884197169399375105820974944592307816406665"),Fp:bd(BigInt("0x800000000000011000000000000000000000000000000000000000000000001")),n:Ao,nBitLength:o0,Gx:BigInt("874739451078007766457464989774322083649278607533249481151382481072868806602"),Gy:BigInt("152666792071518830868575557812948353041420400780739481342941381225525861407"),h:BigInt(1),lowS:!1,...xv(fd),bits2int:Qf,bits2int_modN:e=>{const t=vt(e).toString(16);return t.length===63&&(e=i0(t+"0")),bt(Qf(e),Ao)}}),Tv=ea;function Ia(e){return Lt("",typeof e=="string"?i0(e):e)}function Es(e){return fr(Ia(e)).padStart(64,"0")}function kd(e,t=!1){return ea.getPublicKey(Es(e),t)}function Iv(e,t){return ea.getSharedSecret(Es(e),t)}function s0(e){const{r:t,s:n}=e;if(t<0n||t>=zr)throw new Error(`Signature.r should be [1, ${zr})`);const r=ss(n,Ao);if(r<0n||r>=zr)throw new Error(`inv(Signature.s) should be [1, ${zr})`)}function c0(e){const t=Ia(e);if(vt(t)>=zr)throw new Error(`msgHash should be [0, ${zr})`);return t}function Cv(e,t,n){const r=ea.sign(c0(e),Es(t),n);return s0(r),r}function u0(e,t,n){if(!(e instanceof go)){const r=Ia(e);try{e=go.fromDER(r)}catch(a){if(!(a instanceof un.Err))throw a;e=go.fromCompact(r)}}return s0(e),ea.verify(e,c0(t),Ia(n))}const{CURVE:Ov,ProjectivePoint:ma,Signature:go,utils:l0}=ea;function d0(e){return`0x${fr(e.subarray(1)).replace(/^0+/gm,"")}`}function _d(e){return e.replace(/^0x/i,"")}function f0(e){const t=Ia(e),n=2n**256n,r=n-bt(n,Ao);for(let a=0;;a++){const o=kl(Ta(t,gd(BigInt(a))));if(o<r)return bt(o,Ao).toString(16);if(a===1e5)throw new Error("grindKey is broken: tried 100k vals")}}function p0(e){return d0(kd(e,!0))}function Bv(e){if(e=_d(e),e.length!==130)throw new Error("Wrong ethereum signature");return f0(e.substring(0,64))}const zv=2n**31n-1n,gi=e=>Number(e&zv);function Pv(e,t,n,r){const a=gi(kl(e)),o=gi(kl(t)),i=ks(_d(n));return`m/2645'/${a}'/${o}'/${gi(i)}'/${gi(i>>31n)}'/${r}`}const So=[new ma(2089986280348253421170679821480865132823066470938446095505822317253594081284n,1713931329540660377023406109199410414810705867260802078187082345529207694986n,1n),new ma(996781205833008774514500082376783249102396023663454813447423147977397232763n,1668503676786377725805489344771023921079126552019160156920634619255970485781n,1n),new ma(2251563274489750535117886426533222435294046428347329203627021249169616184184n,1798716007562728905295480679789526322175868328062420237419143593021674992973n,1n),new ma(2138414695194151160943305727036575959195309218611738193261179310511854807447n,113410276730064486255102093846540133784865286929052426931474106396135072156n,1n),new ma(2379962749567351885752724891227938183011949129833673362440656643086021394946n,776496453633298175483985398648758586525933812536653089401905292063708816422n,1n)];function h0(e,t){const n=[];let r=e;for(let a=0;a<248;a++)n.push(r),r=r.double();r=t;for(let a=0;a<4;a++)n.push(r),r=r.double();return n}const Rv=h0(So[1],So[2]),Nv=h0(So[3],So[4]);function Uv(e){let t;if(typeof e=="bigint")t=e;else if(typeof e=="number"){if(!Number.isSafeInteger(e))throw new Error(`Invalid pedersenArg: ${e}`);t=BigInt(e)}else t=vt(Ia(e));if(!(0n<=t&&t<ea.CURVE.Fp.ORDER))throw new Error(`PedersenArg should be 0 <= value < CURVE.P: ${t}`);return t}function ep(e,t,n){let r=Uv(t);for(let a=0;a<252;a++){const o=n[a];if(!o)throw new Error("invalid constant index");if(o.equals(e))throw new Error("Same point");(r&1n)!==0n&&(e=e.add(o)),r>>=1n}return e}function Ra(e,t){let n=So[0];return n=ep(n,e,Rv),n=ep(n,t,Nv),d0(n.toRawBytes(!0))}const Hv=(e,t=Ra)=>[0,...e,e.length].reduce((n,r)=>t(n,r)),Lv=vs(250),pr=e=>vt(V1(e))&Lv,kl=e=>vt(fd(e)),m0=bd(BigInt("3618502788666131213697322783095070105623107215331596699973092056135872020481"));function _l(e,t,n){const r=e.fromBytes(fd(Dy(`${t}${n}`)));return e.create(r)}function g0(e,t,n,r=0){const a=[],o=[];for(let i=0;i<n;i++)a.push(_l(e,`${t}x`,r*n+i)),o.push(_l(e,`${t}y`,r*n+i));if(new Set([...a,...o]).size!==2*n)throw new Error("X and Y values are not distinct");return a.map(i=>o.map(s=>e.inv(e.sub(i,s))))}const Dv=[[3,1,1],[1,-1,1],[1,1,-2]].map(e=>e.map(BigInt));function vd(e,t){if(yd(e.Fp),!Number.isSafeInteger(e.rate)||!Number.isSafeInteger(e.capacity))throw new Error(`Wrong poseidon opts: ${e}`);const n=e.rate+e.capacity,r=e.roundsFull+e.roundsPartial,a=[];for(let i=0;i<r;i++){const s=[];for(let c=0;c<n;c++)s.push(_l(e.Fp,"Hades",n*i+c));a.push(s)}const o=uv({...e,t:n,sboxPower:3,reversePartialPowIdx:!0,mds:t,roundConstants:a});return o.m=n,o.rate=e.rate,o.capacity=e.capacity,o}function Fv(e,t=0){const n=e.rate+e.capacity;if(!Number.isSafeInteger(t))throw new Error(`Wrong mdsAttempt=${t}`);return vd(e,g0(e.Fp,"HadesMDS",n,t))}const Zo=vd({Fp:m0,rate:2,capacity:1,roundsFull:8,roundsPartial:83},Dv);function Ed(e,t,n=Zo){return n([e,t,2n])[0]}function Mv(e,t,n=Zo){return gd(Ed(vt(e),vt(t),n))}function qv(e,t=Zo){return t([e,0n,1n])[0]}function ot(e,t=Zo){const{m:n,rate:r}=t;if(!Array.isArray(e))throw new Error("bigint array expected in values");const a=Array.from(e);for(a.push(1n);a.length%r!==0;)a.push(0n);let o=new Array(n).fill(0n);for(let i=0;i<a.length;i+=r){for(let s=0;s<r;s++){const c=a[i+s];if(typeof c>"u")throw new Error("invalid index");if(typeof o[s]>"u")throw new Error("state[j] is undefined");o[s]=o[s]+c}o=t(o)}return o[0]}const Vv=Object.freeze(Object.defineProperty({__proto__:null,CURVE:Ov,Fp251:m0,MAX_VALUE:zr,ProjectivePoint:ma,Signature:go,_poseidonMDS:g0,_starkCurve:Tv,computeHashOnElements:Hv,ethSigToPrivate:Bv,getAccountPath:Pv,getPublicKey:kd,getSharedSecret:Iv,getStarkKey:p0,grindKey:f0,keccak:pr,normalizePrivateKey:Es,pedersen:Ra,poseidonBasic:vd,poseidonCreate:Fv,poseidonHash:Ed,poseidonHashFunc:Mv,poseidonHashMany:ot,poseidonHashSingle:qv,poseidonSmall:Zo,sign:Cv,utils:l0,verify:u0},Symbol.toStringTag,{value:"Module"})),yi=BigInt(2**32-1),tp=BigInt(32);function $v(e,t=!1){return t?{h:Number(e&yi),l:Number(e>>tp&yi)}:{h:Number(e>>tp&yi)|0,l:Number(e&yi)|0}}function Gv(e,t=!1){let n=new Uint32Array(e.length),r=new Uint32Array(e.length);for(let a=0;a<e.length;a++){const{h:o,l:i}=$v(e[a],t);[n[a],r[a]]=[o,i]}return[n,r]}const Kv=(e,t,n)=>e<<n|t>>>32-n,Wv=(e,t,n)=>t<<n|e>>>32-n,Xv=(e,t,n)=>t<<n-32|e>>>64-n,Zv=(e,t,n)=>e<<n-32|t>>>64-n,y0=[],b0=[],w0=[],Yv=BigInt(0),qa=BigInt(1),Jv=BigInt(2),Qv=BigInt(7),e2=BigInt(256),t2=BigInt(113);for(let e=0,t=qa,n=1,r=0;e<24;e++){[n,r]=[r,(2*n+3*r)%5],y0.push(2*(5*r+n)),b0.push((e+1)*(e+2)/2%64);let a=Yv;for(let o=0;o<7;o++)t=(t<<qa^(t>>Qv)*t2)%e2,t&Jv&&(a^=qa<<(qa<<BigInt(o))-qa);w0.push(a)}const[n2,r2]=Gv(w0,!0),np=(e,t,n)=>n>32?Xv(e,t,n):Kv(e,t,n),rp=(e,t,n)=>n>32?Zv(e,t,n):Wv(e,t,n);function a2(e,t=24){const n=new Uint32Array(10);for(let r=24-t;r<24;r++){for(let i=0;i<10;i++)n[i]=e[i]^e[i+10]^e[i+20]^e[i+30]^e[i+40];for(let i=0;i<10;i+=2){const s=(i+8)%10,c=(i+2)%10,u=n[c],d=n[c+1],h=np(u,d,1)^n[s],f=rp(u,d,1)^n[s+1];for(let l=0;l<50;l+=10)e[i+l]^=h,e[i+l+1]^=f}let a=e[2],o=e[3];for(let i=0;i<24;i++){const s=b0[i],c=np(a,o,s),u=rp(a,o,s),d=y0[i];a=e[d],o=e[d+1],e[d]=c,e[d+1]=u}for(let i=0;i<50;i+=10){for(let s=0;s<10;s++)n[s]=e[i+s];for(let s=0;s<10;s++)e[i+s]^=~n[(s+2)%10]&n[(s+4)%10]}e[0]^=n2[r],e[1]^=r2[r]}n.fill(0)}let o2=class k0 extends ud{constructor(t,n,r,a=!1,o=24){if(super(),this.blockLen=t,this.suffix=n,this.outputLen=r,this.enableXOF=a,this.rounds=o,this.pos=0,this.posOut=0,this.finished=!1,this.destroyed=!1,os(r),0>=this.blockLen||this.blockLen>=200)throw new Error("Sha3 supports only keccak-f1600 function");this.state=new Uint8Array(200),this.state32=h1(this.state)}keccak(){Nf||Uf(this.state32),a2(this.state32,this.rounds),Nf||Uf(this.state32),this.posOut=0,this.pos=0}update(t){Sa(this);const{blockLen:n,state:r}=this;t=ws(t);const a=t.length;for(let o=0;o<a;){const i=Math.min(n-this.pos,a-o);for(let s=0;s<i;s++)r[this.pos++]^=t[o++];this.pos===n&&this.keccak()}return this}finish(){if(this.finished)return;this.finished=!0;const{state:t,suffix:n,pos:r,blockLen:a}=this;t[r]^=n,(n&128)!==0&&r===a-1&&this.keccak(),t[a-1]^=128,this.keccak()}writeInto(t){Sa(this,!1),Ko(t),this.finish();const n=this.state,{blockLen:r}=this;for(let a=0,o=t.length;a<o;){this.posOut>=r&&this.keccak();const i=Math.min(r-this.posOut,o-a);t.set(n.subarray(this.posOut,this.posOut+i),a),this.posOut+=i,a+=i}return t}xofInto(t){if(!this.enableXOF)throw new Error("XOF is not possible for this instance");return this.writeInto(t)}xof(t){return os(t),this.xofInto(new Uint8Array(t))}digestInto(t){if(Ny(t,this),this.finished)throw new Error("digest() was already called");return this.writeInto(t),this.destroy(),t}digest(){return this.digestInto(new Uint8Array(this.outputLen))}destroy(){this.destroyed=!0,this.state.fill(0)}_cloneInto(t){const{blockLen:n,suffix:r,outputLen:a,rounds:o,enableXOF:i}=this;return t||(t=new k0(n,r,a,i,o)),t.state32.set(this.state32),t.pos=this.pos,t.posOut=this.posOut,t.finished=this.finished,t.rounds=o,t.suffix=r,t.outputLen=a,t.enableXOF=i,t.destroyed=this.destroyed,t}};const i2=(e,t,n)=>Uy(()=>new o2(t,e,n)),s2=i2(1,136,256/8);/*! noble-curves - MIT License (c) 2022 Paul Miller (paulmillr.com) */const at=BigInt(0),$e=BigInt(1),Or=BigInt(2),c2=BigInt(3),vl=BigInt(4),ap=BigInt(5),op=BigInt(8);function jt(e,t){const n=e%t;return n>=at?n:t+n}function u2(e,t,n){if(t<at)throw new Error("invalid exponent, negatives unsupported");if(n<=at)throw new Error("invalid modulus");if(n===$e)return at;let r=$e;for(;t>at;)t&$e&&(r=r*e%n),e=e*e%n,t>>=$e;return r}function Ht(e,t,n){let r=e;for(;t-- >at;)r*=r,r%=n;return r}function El(e,t){if(e===at)throw new Error("invert: expected non-zero number");if(t<=at)throw new Error("invert: expected positive modulus, got "+t);let n=jt(e,t),r=t,a=at,o=$e;for(;n!==at;){const s=r/n,c=r%n,u=a-o*s;r=n,n=c,a=o,o=u}if(r!==$e)throw new Error("invert: does not exist");return jt(a,t)}function l2(e){const t=(e-$e)/Or;let n,r,a;for(n=e-$e,r=0;n%Or===at;n/=Or,r++);for(a=Or;a<e&&u2(a,t,e)!==e-$e;a++)if(a>1e3)throw new Error("Cannot find square root: likely non-prime P");if(r===1){const i=(e+$e)/vl;return function(c,u){const d=c.pow(u,i);if(!c.eql(c.sqr(d),u))throw new Error("Cannot find square root");return d}}const o=(n+$e)/Or;return function(s,c){if(s.pow(c,t)===s.neg(s.ONE))throw new Error("Cannot find square root");let u=r,d=s.pow(s.mul(s.ONE,a),n),h=s.pow(c,o),f=s.pow(c,n);for(;!s.eql(f,s.ONE);){if(s.eql(f,s.ZERO))return s.ZERO;let l=1;for(let b=s.sqr(f);l<u&&!s.eql(b,s.ONE);l++)b=s.sqr(b);const g=s.pow(d,$e<<BigInt(u-l-1));d=s.sqr(g),h=s.mul(h,g),f=s.mul(f,d),u=l}return h}}function d2(e){if(e%vl===c2){const t=(e+$e)/vl;return function(r,a){const o=r.pow(a,t);if(!r.eql(r.sqr(o),a))throw new Error("Cannot find square root");return o}}if(e%op===ap){const t=(e-ap)/op;return function(r,a){const o=r.mul(a,Or),i=r.pow(o,t),s=r.mul(a,i),c=r.mul(r.mul(s,Or),i),u=r.mul(s,r.sub(c,r.ONE));if(!r.eql(r.sqr(u),a))throw new Error("Cannot find square root");return u}}return l2(e)}const f2=["create","isValid","is0","neg","inv","sqrt","sqr","eql","add","sub","mul","pow","div","addN","subN","mulN","sqrN"];function Ad(e){const t={ORDER:"bigint",MASK:"bigint",BYTES:"isSafeInteger",BITS:"isSafeInteger"},n=f2.reduce((r,a)=>(r[a]="function",r),t);return Go(e,n)}function _0(e,t,n){if(n<at)throw new Error("invalid exponent, negatives unsupported");if(n===at)return e.ONE;if(n===$e)return t;let r=e.ONE,a=t;for(;n>at;)n&$e&&(r=e.mul(r,a)),a=e.sqr(a),n>>=$e;return r}function p2(e,t){const n=new Array(t.length),r=t.reduce((o,i,s)=>e.is0(i)?o:(n[s]=o,e.mul(o,i)),e.ONE),a=e.inv(r);return t.reduceRight((o,i,s)=>e.is0(i)?o:(n[s]=e.mul(o,n[s]),e.mul(o,i)),a),n}function v0(e,t){const n=t!==void 0?t:e.toString(2).length,r=Math.ceil(n/8);return{nBitLength:n,nByteLength:r}}function E0(e,t,n=!1,r={}){if(e<=at)throw new Error("invalid field: expected ORDER > 0, got "+e);const{nBitLength:a,nByteLength:o}=v0(e,t);if(o>2048)throw new Error("invalid field: expected ORDER of <= 2048 bytes");let i;const s=Object.freeze({ORDER:e,BITS:a,BYTES:o,MASK:cd(a),ZERO:at,ONE:$e,create:c=>jt(c,e),isValid:c=>{if(typeof c!="bigint")throw new Error("invalid field element: expected bigint, got "+typeof c);return at<=c&&c<e},is0:c=>c===at,isOdd:c=>(c&$e)===$e,neg:c=>jt(-c,e),eql:(c,u)=>c===u,sqr:c=>jt(c*c,e),add:(c,u)=>jt(c+u,e),sub:(c,u)=>jt(c-u,e),mul:(c,u)=>jt(c*u,e),pow:(c,u)=>_0(s,c,u),div:(c,u)=>jt(c*El(u,e),e),sqrN:c=>c*c,addN:(c,u)=>c+u,subN:(c,u)=>c-u,mulN:(c,u)=>c*u,inv:c=>El(c,e),sqrt:r.sqrt||(c=>(i||(i=d2(e)),i(s,c))),invertBatch:c=>p2(s,c),cmov:(c,u,d)=>d?u:c,toBytes:c=>n?sd(c,o):Aa(c,o),fromBytes:c=>{if(c.length!==o)throw new Error("Field.fromBytes: expected "+o+" bytes, got "+c.length);return n?id(c):Lr(c)}});return Object.freeze(s)}function A0(e){if(typeof e!="bigint")throw new Error("field order must be bigint");const t=e.toString(2).length;return Math.ceil(t/8)}function S0(e){const t=A0(e);return t+Math.ceil(t/2)}function h2(e,t,n=!1){const r=e.length,a=A0(t),o=S0(t);if(r<16||r<o||r>1024)throw new Error("expected "+o+"-1024 bytes of input, got "+r);const i=n?Lr(e):id(e),s=jt(i,t-$e)+$e;return n?sd(s,a):Aa(s,a)}/*! noble-curves - MIT License (c) 2022 Paul Miller (paulmillr.com) */function j0(e){const{Fp:t,mds:n,reversePartialPowIdx:r,roundConstants:a}=e,{roundsFull:o,roundsPartial:i,sboxPower:s,t:c}=e;Ad(t);for(const g of["t","roundsFull","roundsPartial"])if(typeof e[g]!="number"||!Number.isSafeInteger(e[g]))throw new Error("invalid number "+g);if(!Array.isArray(n)||n.length!==c)throw new Error("Poseidon: invalid MDS matrix");const u=n.map(g=>{if(!Array.isArray(g)||g.length!==c)throw new Error("invalid MDS matrix row: "+g);return g.map(b=>{if(typeof b!="bigint")throw new Error("invalid MDS matrix bigint: "+b);return t.create(b)})});if(r!==void 0&&typeof r!="boolean")throw new Error("invalid param reversePartialPowIdx="+r);if(o&1)throw new Error("roundsFull is not even"+o);const d=o+i;if(!Array.isArray(a)||a.length!==d)throw new Error("Poseidon: invalid round constants");const h=a.map(g=>{if(!Array.isArray(g)||g.length!==c)throw new Error("invalid round constants");return g.map(b=>{if(typeof b!="bigint"||!t.isValid(b))throw new Error("invalid round constant");return t.create(b)})});if(!s||![3,5,7].includes(s))throw new Error("invalid sboxPower");const f=BigInt(s);let l=g=>_0(t,g,f);return s===3?l=g=>t.mul(t.sqrN(g),g):s===5&&(l=g=>t.mul(t.sqrN(t.sqrN(g)),g)),Object.freeze({...e,rounds:d,sboxFn:l,roundConstants:h,mds:u})}function m2(e,t){if(typeof t!="number")throw new Error("poseidonSplitConstants: invalid t");if(!Array.isArray(e)||e.length%t)throw new Error("poseidonSplitConstants: invalid rc");const n=[];let r=[];for(let a=0;a<e.length;a++)r.push(e[a]),r.length===t&&(n.push(r),r=[]);return n}function g2(e){const t=j0(e),{Fp:n,mds:r,roundConstants:a,rounds:o,roundsPartial:i,sboxFn:s,t:c}=t,u=t.roundsFull/2,d=t.reversePartialPowIdx?c-1:0,h=(l,g,b)=>(l=l.map((y,_)=>n.add(y,a[b][_])),g?l=l.map(y=>s(y)):l[d]=s(l[d]),l=r.map(y=>y.reduce((_,k,w)=>n.add(_,n.mulN(k,l[w])),n.ZERO)),l),f=function(g){if(!Array.isArray(g)||g.length!==c)throw new Error("invalid values, expected array of bigints with length "+c);g=g.map(y=>{if(typeof y!="bigint")throw new Error("invalid bigint="+y);return n.create(y)});let b=0;for(let y=0;y<u;y++)g=h(g,!0,b++);for(let y=0;y<i;y++)g=h(g,!1,b++);for(let y=0;y<u;y++)g=h(g,!0,b++);if(b!==o)throw new Error("invalid number of rounds");return g};return f.roundConstants=a,f}const y2=Object.freeze(Object.defineProperty({__proto__:null,poseidon:g2,splitConstants:m2,validateOpts:j0},Symbol.toStringTag,{value:"Module"}));/*! noble-curves - MIT License (c) 2022 Paul Miller (paulmillr.com) */const ip=BigInt(0),bi=BigInt(1);function cc(e,t){const n=t.negate();return e?n:t}function x0(e,t){if(!Number.isSafeInteger(e)||e<=0||e>t)throw new Error("invalid window size, expected [1.."+t+"], got W="+e)}function uc(e,t){x0(e,t);const n=Math.ceil(t/e)+1,r=2**(e-1);return{windows:n,windowSize:r}}function b2(e,t){if(!Array.isArray(e))throw new Error("array expected");e.forEach((n,r)=>{if(!(n instanceof t))throw new Error("invalid point at index "+r)})}function w2(e,t){if(!Array.isArray(e))throw new Error("array of scalars expected");e.forEach((n,r)=>{if(!t.isValid(n))throw new Error("invalid scalar at index "+r)})}const lc=new WeakMap,T0=new WeakMap;function dc(e){return T0.get(e)||1}function k2(e,t){return{constTimeNegate:cc,hasPrecomputes(n){return dc(n)!==1},unsafeLadder(n,r,a=e.ZERO){let o=n;for(;r>ip;)r&bi&&(a=a.add(o)),o=o.double(),r>>=bi;return a},precomputeWindow(n,r){const{windows:a,windowSize:o}=uc(r,t),i=[];let s=n,c=s;for(let u=0;u<a;u++){c=s,i.push(c);for(let d=1;d<o;d++)c=c.add(s),i.push(c);s=c.double()}return i},wNAF(n,r,a){const{windows:o,windowSize:i}=uc(n,t);let s=e.ZERO,c=e.BASE;const u=BigInt(2**n-1),d=2**n,h=BigInt(n);for(let f=0;f<o;f++){const l=f*i;let g=Number(a&u);a>>=h,g>i&&(g-=d,a+=bi);const b=l,y=l+Math.abs(g)-1,_=f%2!==0,k=g<0;g===0?c=c.add(cc(_,r[b])):s=s.add(cc(k,r[y]))}return{p:s,f:c}},wNAFUnsafe(n,r,a,o=e.ZERO){const{windows:i,windowSize:s}=uc(n,t),c=BigInt(2**n-1),u=2**n,d=BigInt(n);for(let h=0;h<i;h++){const f=h*s;if(a===ip)break;let l=Number(a&c);if(a>>=d,l>s&&(l-=u,a+=bi),l===0)continue;let g=r[f+Math.abs(l)-1];l<0&&(g=g.negate()),o=o.add(g)}return o},getPrecomputes(n,r,a){let o=lc.get(r);return o||(o=this.precomputeWindow(r,n),n!==1&&lc.set(r,a(o))),o},wNAFCached(n,r,a){const o=dc(n);return this.wNAF(o,this.getPrecomputes(o,n,a),r)},wNAFCachedUnsafe(n,r,a,o){const i=dc(n);return i===1?this.unsafeLadder(n,r,o):this.wNAFUnsafe(i,this.getPrecomputes(i,n,a),r,o)},setWindowSize(n,r){x0(r,t),T0.set(n,r),lc.delete(n)}}}function _2(e,t,n,r){if(b2(n,e),w2(r,t),n.length!==r.length)throw new Error("arrays of points and scalars must have equal length");const a=e.ZERO,o=Py(BigInt(n.length)),i=o>12?o-3:o>4?o-2:o?2:1,s=(1<<i)-1,c=new Array(s+1).fill(a),u=Math.floor((t.BITS-1)/i)*i;let d=a;for(let h=u;h>=0;h-=i){c.fill(a);for(let l=0;l<r.length;l++){const g=r[l],b=Number(g>>BigInt(h)&BigInt(s));c[b]=c[b].add(n[l])}let f=a;for(let l=c.length-1,g=a;l>0;l--)g=g.add(c[l]),f=f.add(g);if(d=d.add(f),h!==0)for(let l=0;l<i;l++)d=d.double()}return d}function I0(e){return Ad(e.Fp),Go(e,{n:"bigint",h:"bigint",Gx:"field",Gy:"field"},{nBitLength:"isSafeInteger",nByteLength:"isSafeInteger"}),Object.freeze({...v0(e.n,e.nBitLength),...e,p:e.Fp.ORDER})}/*! noble-curves - MIT License (c) 2022 Paul Miller (paulmillr.com) */function sp(e){e.lowS!==void 0&&va("lowS",e.lowS),e.prehash!==void 0&&va("prehash",e.prehash)}function v2(e){const t=I0(e);Go(t,{a:"field",b:"field"},{allowedPrivateKeyLengths:"array",wrapPrivateKey:"boolean",isTorsionFree:"function",clearCofactor:"function",allowInfinityPoint:"boolean",fromBytes:"function",toBytes:"function"});const{endo:n,Fp:r,a}=t;if(n){if(!r.eql(a,r.ZERO))throw new Error("invalid endomorphism, can only be defined for Koblitz curves that have a=0");if(typeof n!="object"||typeof n.beta!="bigint"||typeof n.splitScalar!="function")throw new Error("invalid endomorphism, expected beta: bigint and splitScalar: function")}return Object.freeze({...t})}const{bytesToNumberBE:E2,hexToBytes:A2}=d1,ln={Err:class extends Error{constructor(t=""){super(t)}},_tlv:{encode:(e,t)=>{const{Err:n}=ln;if(e<0||e>256)throw new n("tlv.encode: wrong tag");if(t.length&1)throw new n("tlv.encode: unpadded data");const r=t.length/2,a=co(r);if(a.length/2&128)throw new n("tlv.encode: long form length too big");const o=r>127?co(a.length/2|128):"";return co(e)+o+a+t},decode(e,t){const{Err:n}=ln;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 a=t[r++],o=!!(a&128);let i=0;if(!o)i=a;else{const c=a&127;if(!c)throw new n("tlv.decode(long): indefinite length not supported");if(c>4)throw new n("tlv.decode(long): byte length is too big");const u=t.subarray(r,r+c);if(u.length!==c)throw new n("tlv.decode: length bytes not complete");if(u[0]===0)throw new n("tlv.decode(long): zero leftmost byte");for(const d of u)i=i<<8|d;if(r+=c,i<128)throw new n("tlv.decode(long): not minimal encoding")}const s=t.subarray(r,r+i);if(s.length!==i)throw new n("tlv.decode: wrong value length");return{v:s,l:t.subarray(r+i)}}},_int:{encode(e){const{Err:t}=ln;if(e<Xt)throw new t("integer: negative integers are not allowed");let n=co(e);if(Number.parseInt(n[0],16)&8&&(n="00"+n),n.length&1)throw new t("unexpected DER parsing assertion: unpadded hex");return n},decode(e){const{Err:t}=ln;if(e[0]&128)throw new t("invalid signature integer: negative");if(e[0]===0&&!(e[1]&128))throw new t("invalid signature integer: unnecessary leading zero");return E2(e)}},toSig(e){const{Err:t,_int:n,_tlv:r}=ln,a=typeof e=="string"?A2(e):e;$o(a);const{v:o,l:i}=r.decode(48,a);if(i.length)throw new t("invalid signature: left bytes after parsing");const{v:s,l:c}=r.decode(2,o),{v:u,l:d}=r.decode(2,c);if(d.length)throw new t("invalid signature: left bytes after parsing");return{r:n.decode(s),s:n.decode(u)}},hexFromSig(e){const{_tlv:t,_int:n}=ln,r=t.encode(2,n.encode(e.r)),a=t.encode(2,n.encode(e.s)),o=r+a;return t.encode(48,o)}},Xt=BigInt(0),ze=BigInt(1),Mn=BigInt(2),cs=BigInt(3),cp=BigInt(4);function C0(e){const t=v2(e),{Fp:n}=t,r=E0(t.n,t.nBitLength),a=t.toBytes||((b,y,_)=>{const k=y.toAffine();return Eo(Uint8Array.from([4]),n.toBytes(k.x),n.toBytes(k.y))}),o=t.fromBytes||(b=>{const y=b.subarray(1),_=n.fromBytes(y.subarray(0,n.BYTES)),k=n.fromBytes(y.subarray(n.BYTES,2*n.BYTES));return{x:_,y:k}});function i(b){const{a:y,b:_}=t,k=n.sqr(b),w=n.mul(k,b);return n.add(n.add(w,n.mul(b,y)),_)}if(!n.eql(n.sqr(t.Gy),i(t.Gx)))throw new Error("bad generator point: equation left != right");function s(b){return bs(b,ze,t.n)}function c(b){const{allowedPrivateKeyLengths:y,nByteLength:_,wrapPrivateKey:k,n:w}=t;if(y&&typeof b!="bigint"){if(qr(b)&&(b=Vr(b)),typeof b!="string"||!y.includes(b.length))throw new Error("invalid private key");b=b.padStart(_*2,"0")}let v;try{v=typeof b=="bigint"?b:Lr(Wt("private key",b,_))}catch{throw new Error("invalid private key, expected hex or "+_+" bytes, got "+typeof b)}return k&&(v=jt(v,w)),Dr("private key",v,ze,w),v}function u(b){if(!(b instanceof f))throw new Error("ProjectivePoint expected")}const d=yl((b,y)=>{const{px:_,py:k,pz:w}=b;if(n.eql(w,n.ONE))return{x:_,y:k};const v=b.is0();y==null&&(y=v?n.ONE:n.inv(w));const A=n.mul(_,y),T=n.mul(k,y),I=n.mul(w,y);if(v)return{x:n.ZERO,y:n.ZERO};if(!n.eql(I,n.ONE))throw new Error("invZ was invalid");return{x:A,y:T}}),h=yl(b=>{if(b.is0()){if(t.allowInfinityPoint&&!n.is0(b.py))return;throw new Error("bad point: ZERO")}const{x:y,y:_}=b.toAffine();if(!n.isValid(y)||!n.isValid(_))throw new Error("bad point: x or y not FE");const k=n.sqr(_),w=i(y);if(!n.eql(k,w))throw new Error("bad point: equation left != right");if(!b.isTorsionFree())throw new Error("bad point: not in prime-order subgroup");return!0});class f{constructor(y,_,k){if(this.px=y,this.py=_,this.pz=k,y==null||!n.isValid(y))throw new Error("x required");if(_==null||!n.isValid(_))throw new Error("y required");if(k==null||!n.isValid(k))throw new Error("z required");Object.freeze(this)}static fromAffine(y){const{x:_,y:k}=y||{};if(!y||!n.isValid(_)||!n.isValid(k))throw new Error("invalid affine point");if(y instanceof f)throw new Error("projective point not allowed");const w=v=>n.eql(v,n.ZERO);return w(_)&&w(k)?f.ZERO:new f(_,k,n.ONE)}get x(){return this.toAffine().x}get y(){return this.toAffine().y}static normalizeZ(y){const _=n.invertBatch(y.map(k=>k.pz));return y.map((k,w)=>k.toAffine(_[w])).map(f.fromAffine)}static fromHex(y){const _=f.fromAffine(o(Wt("pointHex",y)));return _.assertValidity(),_}static fromPrivateKey(y){return f.BASE.multiply(c(y))}static msm(y,_){return _2(f,r,y,_)}_setWindowSize(y){g.setWindowSize(this,y)}assertValidity(){h(this)}hasEvenY(){const{y}=this.toAffine();if(n.isOdd)return!n.isOdd(y);throw new Error("Field doesn't support isOdd")}equals(y){u(y);const{px:_,py:k,pz:w}=this,{px:v,py:A,pz:T}=y,I=n.eql(n.mul(_,T),n.mul(v,w)),z=n.eql(n.mul(k,T),n.mul(A,w));return I&&z}negate(){return new f(this.px,n.neg(this.py),this.pz)}double(){const{a:y,b:_}=t,k=n.mul(_,cs),{px:w,py:v,pz:A}=this;let T=n.ZERO,I=n.ZERO,z=n.ZERO,S=n.mul(w,w),B=n.mul(v,v),P=n.mul(A,A),M=n.mul(w,v);return M=n.add(M,M),z=n.mul(w,A),z=n.add(z,z),T=n.mul(y,z),I=n.mul(k,P),I=n.add(T,I),T=n.sub(B,I),I=n.add(B,I),I=n.mul(T,I),T=n.mul(M,T),z=n.mul(k,z),P=n.mul(y,P),M=n.sub(S,P),M=n.mul(y,M),M=n.add(M,z),z=n.add(S,S),S=n.add(z,S),S=n.add(S,P),S=n.mul(S,M),I=n.add(I,S),P=n.mul(v,A),P=n.add(P,P),S=n.mul(P,M),T=n.sub(T,S),z=n.mul(P,B),z=n.add(z,z),z=n.add(z,z),new f(T,I,z)}add(y){u(y);const{px:_,py:k,pz:w}=this,{px:v,py:A,pz:T}=y;let I=n.ZERO,z=n.ZERO,S=n.ZERO;const B=t.a,P=n.mul(t.b,cs);let M=n.mul(_,v),D=n.mul(k,A),R=n.mul(w,T),$=n.add(_,k),q=n.add(v,A);$=n.mul($,q),q=n.add(M,D),$=n.sub($,q),q=n.add(_,w);let X=n.add(v,T);return q=n.mul(q,X),X=n.add(M,R),q=n.sub(q,X),X=n.add(k,w),I=n.add(A,T),X=n.mul(X,I),I=n.add(D,R),X=n.sub(X,I),S=n.mul(B,q),I=n.mul(P,R),S=n.add(I,S),I=n.sub(D,S),S=n.add(D,S),z=n.mul(I,S),D=n.add(M,M),D=n.add(D,M),R=n.mul(B,R),q=n.mul(P,q),D=n.add(D,R),R=n.sub(M,R),R=n.mul(B,R),q=n.add(q,R),M=n.mul(D,q),z=n.add(z,M),M=n.mul(X,q),I=n.mul($,I),I=n.sub(I,M),M=n.mul($,D),S=n.mul(X,S),S=n.add(S,M),new f(I,z,S)}subtract(y){return this.add(y.negate())}is0(){return this.equals(f.ZERO)}wNAF(y){return g.wNAFCached(this,y,f.normalizeZ)}multiplyUnsafe(y){const{endo:_,n:k}=t;Dr("scalar",y,Xt,k);const w=f.ZERO;if(y===Xt)return w;if(this.is0()||y===ze)return this;if(!_||g.hasPrecomputes(this))return g.wNAFCachedUnsafe(this,y,f.normalizeZ);let{k1neg:v,k1:A,k2neg:T,k2:I}=_.splitScalar(y),z=w,S=w,B=this;for(;A>Xt||I>Xt;)A&ze&&(z=z.add(B)),I&ze&&(S=S.add(B)),B=B.double(),A>>=ze,I>>=ze;return v&&(z=z.negate()),T&&(S=S.negate()),S=new f(n.mul(S.px,_.beta),S.py,S.pz),z.add(S)}multiply(y){const{endo:_,n:k}=t;Dr("scalar",y,ze,k);let w,v;if(_){const{k1neg:A,k1:T,k2neg:I,k2:z}=_.splitScalar(y);let{p:S,f:B}=this.wNAF(T),{p:P,f:M}=this.wNAF(z);S=g.constTimeNegate(A,S),P=g.constTimeNegate(I,P),P=new f(n.mul(P.px,_.beta),P.py,P.pz),w=S.add(P),v=B.add(M)}else{const{p:A,f:T}=this.wNAF(y);w=A,v=T}return f.normalizeZ([w,v])[0]}multiplyAndAddUnsafe(y,_,k){const w=f.BASE,v=(T,I)=>I===Xt||I===ze||!T.equals(w)?T.multiplyUnsafe(I):T.multiply(I),A=v(this,_).add(v(y,k));return A.is0()?void 0:A}toAffine(y){return d(this,y)}isTorsionFree(){const{h:y,isTorsionFree:_}=t;if(y===ze)return!0;if(_)return _(f,this);throw new Error("isTorsionFree() has not been declared for the elliptic curve")}clearCofactor(){const{h:y,clearCofactor:_}=t;return y===ze?this:_?_(f,this):this.multiplyUnsafe(t.h)}toRawBytes(y=!0){return va("isCompressed",y),this.assertValidity(),a(f,this,y)}toHex(y=!0){return va("isCompressed",y),Vr(this.toRawBytes(y))}}f.BASE=new f(t.Gx,t.Gy,n.ONE),f.ZERO=new f(n.ZERO,n.ONE,n.ZERO);const l=t.nBitLength,g=k2(f,t.endo?Math.ceil(l/2):l);return{CURVE:t,ProjectivePoint:f,normPrivateKeyToScalar:c,weierstrassEquation:i,isWithinCurveOrder:s}}function S2(e){const t=I0(e);return Go(t,{hash:"hash",hmac:"function",randomBytes:"function"},{bits2int:"function",bits2int_modN:"function",lowS:"boolean"}),Object.freeze({lowS:!0,...t})}function O0(e){const t=S2(e),{Fp:n,n:r}=t,a=n.BYTES+1,o=2*n.BYTES+1;function i(R){return jt(R,r)}function s(R){return El(R,r)}const{ProjectivePoint:c,normPrivateKeyToScalar:u,weierstrassEquation:d,isWithinCurveOrder:h}=C0({...t,toBytes(R,$,q){const X=$.toAffine(),H=n.toBytes(X.x),C=Eo;return va("isCompressed",q),q?C(Uint8Array.from([$.hasEvenY()?2:3]),H):C(Uint8Array.from([4]),H,n.toBytes(X.y))},fromBytes(R){const $=R.length,q=R[0],X=R.subarray(1);if($===a&&(q===2||q===3)){const H=Lr(X);if(!bs(H,ze,n.ORDER))throw new Error("Point is not on curve");const C=d(H);let V;try{V=n.sqrt(C)}catch(K){const Y=K instanceof Error?": "+K.message:"";throw new Error("Point is not on curve"+Y)}const W=(V&ze)===ze;return(q&1)===1!==W&&(V=n.neg(V)),{x:H,y:V}}else if($===o&&q===4){const H=n.fromBytes(X.subarray(0,n.BYTES)),C=n.fromBytes(X.subarray(n.BYTES,2*n.BYTES));return{x:H,y:C}}else{const H=a,C=o;throw new Error("invalid Point, expected length of "+H+", or uncompressed "+C+", got "+$)}}}),f=R=>Vr(Aa(R,t.nByteLength));function l(R){const $=r>>ze;return R>$}function g(R){return l(R)?i(-R):R}const b=(R,$,q)=>Lr(R.slice($,q));class y{constructor($,q,X){this.r=$,this.s=q,this.recovery=X,this.assertValidity()}static fromCompact($){const q=t.nByteLength;return $=Wt("compactSignature",$,q*2),new y(b($,0,q),b($,q,2*q))}static fromDER($){const{r:q,s:X}=ln.toSig(Wt("DER",$));return new y(q,X)}assertValidity(){Dr("r",this.r,ze,r),Dr("s",this.s,ze,r)}addRecoveryBit($){return new y(this.r,this.s,$)}recoverPublicKey($){const{r:q,s:X,recovery:H}=this,C=T(Wt("msgHash",$));if(H==null||![0,1,2,3].includes(H))throw new Error("recovery id invalid");const V=H===2||H===3?q+t.n:q;if(V>=n.ORDER)throw new Error("recovery id 2 or 3 invalid");const W=(H&1)===0?"02":"03",U=c.fromHex(W+f(V)),K=s(V),Y=i(-C*K),de=i(X*K),te=c.BASE.multiplyAndAddUnsafe(U,Y,de);if(!te)throw new Error("point at infinify");return te.assertValidity(),te}hasHighS(){return l(this.s)}normalizeS(){return this.hasHighS()?new y(this.r,i(-this.s),this.recovery):this}toDERRawBytes(){return Ea(this.toDERHex())}toDERHex(){return ln.hexFromSig({r:this.r,s:this.s})}toCompactRawBytes(){return Ea(this.toCompactHex())}toCompactHex(){return f(this.r)+f(this.s)}}const _={isValidPrivateKey(R){try{return u(R),!0}catch{return!1}},normPrivateKeyToScalar:u,randomPrivateKey:()=>{const R=S0(t.n);return h2(t.randomBytes(R),t.n)},precompute(R=8,$=c.BASE){return $._setWindowSize(R),$.multiply(BigInt(3)),$}};function k(R,$=!0){return c.fromPrivateKey(R).toRawBytes($)}function w(R){const $=qr(R),q=typeof R=="string",X=($||q)&&R.length;return $?X===a||X===o:q?X===2*a||X===2*o:R instanceof c}function v(R,$,q=!0){if(w(R))throw new Error("first arg must be private key");if(!w($))throw new Error("second arg must be public key");return c.fromHex($).multiply(u(R)).toRawBytes(q)}const A=t.bits2int||function(R){if(R.length>8192)throw new Error("input is too large");const $=Lr(R),q=R.length*8-t.nBitLength;return q>0?$>>BigInt(q):$},T=t.bits2int_modN||function(R){return i(A(R))},I=cd(t.nBitLength);function z(R){return Dr("num < 2^"+t.nBitLength,R,Xt,I),Aa(R,t.nByteLength)}function S(R,$,q=B){if(["recovered","canonical"].some(oe=>oe in q))throw new Error("sign() legacy options not supported");const{hash:X,randomBytes:H}=t;let{lowS:C,prehash:V,extraEntropy:W}=q;C==null&&(C=!0),R=Wt("msgHash",R),sp(q),V&&(R=Wt("prehashed msgHash",X(R)));const U=T(R),K=u($),Y=[z(K),z(U)];if(W!=null&&W!==!1){const oe=W===!0?H(n.BYTES):W;Y.push(Wt("extraEntropy",oe))}const de=Eo(...Y),te=U;function re(oe){const ae=A(oe);if(!h(ae))return;const se=s(ae),G=c.BASE.multiply(ae).toAffine(),N=i(G.x);if(N===Xt)return;const L=i(se*i(te+N*K));if(L===Xt)return;let J=(G.x===N?0:2)|Number(G.y&ze),Z=L;return C&&l(L)&&(Z=g(L),J^=1),new y(N,Z,J)}return{seed:de,k2sig:re}}const B={lowS:t.lowS,prehash:!1},P={lowS:t.lowS,prehash:!1};function M(R,$,q=B){const{seed:X,k2sig:H}=S(R,$,q),C=t;return Ry(C.hash.outputLen,C.nByteLength,C.hmac)(X,H)}c.BASE._setWindowSize(8);function D(R,$,q,X=P){var J;const H=R;$=Wt("msgHash",$),q=Wt("publicKey",q);const{lowS:C,prehash:V,format:W}=X;if(sp(X),"strict"in X)throw new Error("options.strict was renamed to lowS");if(W!==void 0&&W!=="compact"&&W!=="der")throw new Error("format must be compact or der");const U=typeof H=="string"||qr(H),K=!U&&!W&&typeof H=="object"&&H!==null&&typeof H.r=="bigint"&&typeof H.s=="bigint";if(!U&&!K)throw new Error("invalid signature, expected Uint8Array, hex string or Signature instance");let Y,de;try{if(K&&(Y=new y(H.r,H.s)),U){try{W!=="compact"&&(Y=y.fromDER(H))}catch(Z){if(!(Z instanceof ln.Err))throw Z}!Y&&W!=="der"&&(Y=y.fromCompact(H))}de=c.fromHex(q)}catch{return!1}if(!Y||C&&Y.hasHighS())return!1;V&&($=t.hash($));const{r:te,s:re}=Y,oe=T($),ae=s(re),se=i(oe*ae),G=i(te*ae),N=(J=c.BASE.multiplyAndAddUnsafe(de,se,G))==null?void 0:J.toAffine();return N?i(N.x)===te:!1}return{CURVE:t,getPublicKey:k,getSharedSecret:v,sign:M,verify:D,ProjectivePoint:c,Signature:y,utils:_}}function B0(e,t){const n=e.ORDER;let r=Xt;for(let g=n-ze;g%Mn===Xt;g/=Mn)r+=ze;const a=r,o=Mn<<a-ze-ze,i=o*Mn,s=(n-ze)/i,c=(s-ze)/Mn,u=i-ze,d=o,h=e.pow(t,s),f=e.pow(t,(s+ze)/Mn);let l=(g,b)=>{let y=h,_=e.pow(b,u),k=e.sqr(_);k=e.mul(k,b);let w=e.mul(g,k);w=e.pow(w,c),w=e.mul(w,_),_=e.mul(w,b),k=e.mul(w,g);let v=e.mul(k,_);w=e.pow(v,d);let A=e.eql(w,e.ONE);_=e.mul(k,f),w=e.mul(v,y),k=e.cmov(_,k,A),v=e.cmov(w,v,A);for(let T=a;T>ze;T--){let I=T-Mn;I=Mn<<I-ze;let z=e.pow(v,I);const S=e.eql(z,e.ONE);_=e.mul(k,y),y=e.mul(y,y),z=e.mul(v,y),k=e.cmov(_,k,S),v=e.cmov(z,v,S)}return{isValid:A,value:k}};if(e.ORDER%cp===cs){const g=(e.ORDER-cs)/cp,b=e.sqrt(e.neg(t));l=(y,_)=>{let k=e.sqr(_);const w=e.mul(y,_);k=e.mul(k,w);let v=e.pow(k,g);v=e.mul(v,w);const A=e.mul(v,b),T=e.mul(e.sqr(v),_),I=e.eql(T,y);let z=e.cmov(A,v,I);return{isValid:I,value:z}}}return l}function j2(e,t){if(Ad(e),!e.isValid(t.A)||!e.isValid(t.B)||!e.isValid(t.Z))throw new Error("mapToCurveSimpleSWU: invalid opts");const n=B0(e,t.Z);if(!e.isOdd)throw new Error("Fp.isOdd is not implemented!");return r=>{let a,o,i,s,c,u,d,h;a=e.sqr(r),a=e.mul(a,t.Z),o=e.sqr(a),o=e.add(o,a),i=e.add(o,e.ONE),i=e.mul(i,t.B),s=e.cmov(t.Z,e.neg(o),!e.eql(o,e.ZERO)),s=e.mul(s,t.A),o=e.sqr(i),u=e.sqr(s),c=e.mul(u,t.A),o=e.add(o,c),o=e.mul(o,i),u=e.mul(u,s),c=e.mul(u,t.B),o=e.add(o,c),d=e.mul(a,i);const{isValid:f,value:l}=n(o,u);h=e.mul(a,r),h=e.mul(h,l),d=e.cmov(d,i,f),h=e.cmov(h,l,f);const g=e.isOdd(r)===e.isOdd(h);return h=e.cmov(e.neg(h),h,g),d=e.div(d,s),{x:d,y:h}}}const x2=Object.freeze(Object.defineProperty({__proto__:null,DER:ln,SWUFpSqrtRatio:B0,mapToCurveSimpleSWU:j2,weierstrass:O0,weierstrassPoints:C0},Symbol.toStringTag,{value:"Module"}));/*! pako 2.1.0 https://github.com/nodeca/pako @license (MIT AND Zlib) */const T2=4,up=0,lp=1,I2=2;function Na(e){let t=e.length;for(;--t>=0;)e[t]=0}const C2=0,z0=1,O2=2,B2=3,z2=258,Sd=29,Yo=256,jo=Yo+1+Sd,wa=30,jd=19,P0=2*jo+1,Pr=15,fc=16,P2=7,xd=256,R0=16,N0=17,U0=18,Al=new Uint8Array([0,0,0,0,0,0,0,0,1,1,1,1,2,2,2,2,3,3,3,3,4,4,4,4,5,5,5,5,0]),Wi=new Uint8Array([0,0,0,0,1,1,2,2,3,3,4,4,5,5,6,6,7,7,8,8,9,9,10,10,11,11,12,12,13,13]),R2=new Uint8Array([0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,3,7]),H0=new Uint8Array([16,17,18,0,8,7,9,6,10,5,11,4,12,3,13,2,14,1,15]),N2=512,On=new Array((jo+2)*2);Na(On);const yo=new Array(wa*2);Na(yo);const xo=new Array(N2);Na(xo);const To=new Array(z2-B2+1);Na(To);const Td=new Array(Sd);Na(Td);const us=new Array(wa);Na(us);function pc(e,t,n,r,a){this.static_tree=e,this.extra_bits=t,this.extra_base=n,this.elems=r,this.max_length=a,this.has_stree=e&&e.length}let L0,D0,F0;function hc(e,t){this.dyn_tree=e,this.max_code=0,this.stat_desc=t}const M0=e=>e<256?xo[e]:xo[256+(e>>>7)],Io=(e,t)=>{e.pending_buf[e.pending++]=t&255,e.pending_buf[e.pending++]=t>>>8&255},Tt=(e,t,n)=>{e.bi_valid>fc-n?(e.bi_buf|=t<<e.bi_valid&65535,Io(e,e.bi_buf),e.bi_buf=t>>fc-e.bi_valid,e.bi_valid+=n-fc):(e.bi_buf|=t<<e.bi_valid&65535,e.bi_valid+=n)},fn=(e,t,n)=>{Tt(e,n[t*2],n[t*2+1])},q0=(e,t)=>{let n=0;do n|=e&1,e>>>=1,n<<=1;while(--t>0);return n>>>1},U2=e=>{e.bi_valid===16?(Io(e,e.bi_buf),e.bi_buf=0,e.bi_valid=0):e.bi_valid>=8&&(e.pending_buf[e.pending++]=e.bi_buf&255,e.bi_buf>>=8,e.bi_valid-=8)},H2=(e,t)=>{const n=t.dyn_tree,r=t.max_code,a=t.stat_desc.static_tree,o=t.stat_desc.has_stree,i=t.stat_desc.extra_bits,s=t.stat_desc.extra_base,c=t.stat_desc.max_length;let u,d,h,f,l,g,b=0;for(f=0;f<=Pr;f++)e.bl_count[f]=0;for(n[e.heap[e.heap_max]*2+1]=0,u=e.heap_max+1;u<P0;u++)d=e.heap[u],f=n[n[d*2+1]*2+1]+1,f>c&&(f=c,b++),n[d*2+1]=f,!(d>r)&&(e.bl_count[f]++,l=0,d>=s&&(l=i[d-s]),g=n[d*2],e.opt_len+=g*(f+l),o&&(e.static_len+=g*(a[d*2+1]+l)));if(b!==0){do{for(f=c-1;e.bl_count[f]===0;)f--;e.bl_count[f]--,e.bl_count[f+1]+=2,e.bl_count[c]--,b-=2}while(b>0);for(f=c;f!==0;f--)for(d=e.bl_count[f];d!==0;)h=e.heap[--u],!(h>r)&&(n[h*2+1]!==f&&(e.opt_len+=(f-n[h*2+1])*n[h*2],n[h*2+1]=f),d--)}},V0=(e,t,n)=>{const r=new Array(Pr+1);let a=0,o,i;for(o=1;o<=Pr;o++)a=a+n[o-1]<<1,r[o]=a;for(i=0;i<=t;i++){let s=e[i*2+1];s!==0&&(e[i*2]=q0(r[s]++,s))}},L2=()=>{let e,t,n,r,a;const o=new Array(Pr+1);for(n=0,r=0;r<Sd-1;r++)for(Td[r]=n,e=0;e<1<<Al[r];e++)To[n++]=r;for(To[n-1]=r,a=0,r=0;r<16;r++)for(us[r]=a,e=0;e<1<<Wi[r];e++)xo[a++]=r;for(a>>=7;r<wa;r++)for(us[r]=a<<7,e=0;e<1<<Wi[r]-7;e++)xo[256+a++]=r;for(t=0;t<=Pr;t++)o[t]=0;for(e=0;e<=143;)On[e*2+1]=8,e++,o[8]++;for(;e<=255;)On[e*2+1]=9,e++,o[9]++;for(;e<=279;)On[e*2+1]=7,e++,o[7]++;for(;e<=287;)On[e*2+1]=8,e++,o[8]++;for(V0(On,jo+1,o),e=0;e<wa;e++)yo[e*2+1]=5,yo[e*2]=q0(e,5);L0=new pc(On,Al,Yo+1,jo,Pr),D0=new pc(yo,Wi,0,wa,Pr),F0=new pc(new Array(0),R2,0,jd,P2)},$0=e=>{let t;for(t=0;t<jo;t++)e.dyn_ltree[t*2]=0;for(t=0;t<wa;t++)e.dyn_dtree[t*2]=0;for(t=0;t<jd;t++)e.bl_tree[t*2]=0;e.dyn_ltree[xd*2]=1,e.opt_len=e.static_len=0,e.sym_next=e.matches=0},G0=e=>{e.bi_valid>8?Io(e,e.bi_buf):e.bi_valid>0&&(e.pending_buf[e.pending++]=e.bi_buf),e.bi_buf=0,e.bi_valid=0},dp=(e,t,n,r)=>{const a=t*2,o=n*2;return e[a]<e[o]||e[a]===e[o]&&r[t]<=r[n]},mc=(e,t,n)=>{const r=e.heap[n];let a=n<<1;for(;a<=e.heap_len&&(a<e.heap_len&&dp(t,e.heap[a+1],e.heap[a],e.depth)&&a++,!dp(t,r,e.heap[a],e.depth));)e.heap[n]=e.heap[a],n=a,a<<=1;e.heap[n]=r},fp=(e,t,n)=>{let r,a,o=0,i,s;if(e.sym_next!==0)do r=e.pending_buf[e.sym_buf+o++]&255,r+=(e.pending_buf[e.sym_buf+o++]&255)<<8,a=e.pending_buf[e.sym_buf+o++],r===0?fn(e,a,t):(i=To[a],fn(e,i+Yo+1,t),s=Al[i],s!==0&&(a-=Td[i],Tt(e,a,s)),r--,i=M0(r),fn(e,i,n),s=Wi[i],s!==0&&(r-=us[i],Tt(e,r,s)));while(o<e.sym_next);fn(e,xd,t)},Sl=(e,t)=>{const n=t.dyn_tree,r=t.stat_desc.static_tree,a=t.stat_desc.has_stree,o=t.stat_desc.elems;let i,s,c=-1,u;for(e.heap_len=0,e.heap_max=P0,i=0;i<o;i++)n[i*2]!==0?(e.heap[++e.heap_len]=c=i,e.depth[i]=0):n[i*2+1]=0;for(;e.heap_len<2;)u=e.heap[++e.heap_len]=c<2?++c:0,n[u*2]=1,e.depth[u]=0,e.opt_len--,a&&(e.static_len-=r[u*2+1]);for(t.max_code=c,i=e.heap_len>>1;i>=1;i--)mc(e,n,i);u=o;do i=e.heap[1],e.heap[1]=e.heap[e.heap_len--],mc(e,n,1),s=e.heap[1],e.heap[--e.heap_max]=i,e.heap[--e.heap_max]=s,n[u*2]=n[i*2]+n[s*2],e.depth[u]=(e.depth[i]>=e.depth[s]?e.depth[i]:e.depth[s])+1,n[i*2+1]=n[s*2+1]=u,e.heap[1]=u++,mc(e,n,1);while(e.heap_len>=2);e.heap[--e.heap_max]=e.heap[1],H2(e,t),V0(n,c,e.bl_count)},pp=(e,t,n)=>{let r,a=-1,o,i=t[1],s=0,c=7,u=4;for(i===0&&(c=138,u=3),t[(n+1)*2+1]=65535,r=0;r<=n;r++)o=i,i=t[(r+1)*2+1],!(++s<c&&o===i)&&(s<u?e.bl_tree[o*2]+=s:o!==0?(o!==a&&e.bl_tree[o*2]++,e.bl_tree[R0*2]++):s<=10?e.bl_tree[N0*2]++:e.bl_tree[U0*2]++,s=0,a=o,i===0?(c=138,u=3):o===i?(c=6,u=3):(c=7,u=4))},hp=(e,t,n)=>{let r,a=-1,o,i=t[1],s=0,c=7,u=4;for(i===0&&(c=138,u=3),r=0;r<=n;r++)if(o=i,i=t[(r+1)*2+1],!(++s<c&&o===i)){if(s<u)do fn(e,o,e.bl_tree);while(--s!==0);else o!==0?(o!==a&&(fn(e,o,e.bl_tree),s--),fn(e,R0,e.bl_tree),Tt(e,s-3,2)):s<=10?(fn(e,N0,e.bl_tree),Tt(e,s-3,3)):(fn(e,U0,e.bl_tree),Tt(e,s-11,7));s=0,a=o,i===0?(c=138,u=3):o===i?(c=6,u=3):(c=7,u=4)}},D2=e=>{let t;for(pp(e,e.dyn_ltree,e.l_desc.max_code),pp(e,e.dyn_dtree,e.d_desc.max_code),Sl(e,e.bl_desc),t=jd-1;t>=3&&e.bl_tree[H0[t]*2+1]===0;t--);return e.opt_len+=3*(t+1)+5+5+4,t},F2=(e,t,n,r)=>{let a;for(Tt(e,t-257,5),Tt(e,n-1,5),Tt(e,r-4,4),a=0;a<r;a++)Tt(e,e.bl_tree[H0[a]*2+1],3);hp(e,e.dyn_ltree,t-1),hp(e,e.dyn_dtree,n-1)},M2=e=>{let t=4093624447,n;for(n=0;n<=31;n++,t>>>=1)if(t&1&&e.dyn_ltree[n*2]!==0)return up;if(e.dyn_ltree[18]!==0||e.dyn_ltree[20]!==0||e.dyn_ltree[26]!==0)return lp;for(n=32;n<Yo;n++)if(e.dyn_ltree[n*2]!==0)return lp;return up};let mp=!1;const q2=e=>{mp||(L2(),mp=!0),e.l_desc=new hc(e.dyn_ltree,L0),e.d_desc=new hc(e.dyn_dtree,D0),e.bl_desc=new hc(e.bl_tree,F0),e.bi_buf=0,e.bi_valid=0,$0(e)},K0=(e,t,n,r)=>{Tt(e,(C2<<1)+(r?1:0),3),G0(e),Io(e,n),Io(e,~n),n&&e.pending_buf.set(e.window.subarray(t,t+n),e.pending),e.pending+=n},V2=e=>{Tt(e,z0<<1,3),fn(e,xd,On),U2(e)},$2=(e,t,n,r)=>{let a,o,i=0;e.level>0?(e.strm.data_type===I2&&(e.strm.data_type=M2(e)),Sl(e,e.l_desc),Sl(e,e.d_desc),i=D2(e),a=e.opt_len+3+7>>>3,o=e.static_len+3+7>>>3,o<=a&&(a=o)):a=o=n+5,n+4<=a&&t!==-1?K0(e,t,n,r):e.strategy===T2||o===a?(Tt(e,(z0<<1)+(r?1:0),3),fp(e,On,yo)):(Tt(e,(O2<<1)+(r?1:0),3),F2(e,e.l_desc.max_code+1,e.d_desc.max_code+1,i+1),fp(e,e.dyn_ltree,e.dyn_dtree)),$0(e),r&&G0(e)},G2=(e,t,n)=>(e.pending_buf[e.sym_buf+e.sym_next++]=t,e.pending_buf[e.sym_buf+e.sym_next++]=t>>8,e.pending_buf[e.sym_buf+e.sym_next++]=n,t===0?e.dyn_ltree[n*2]++:(e.matches++,t--,e.dyn_ltree[(To[n]+Yo+1)*2]++,e.dyn_dtree[M0(t)*2]++),e.sym_next===e.sym_end);var K2=q2,W2=K0,X2=$2,Z2=G2,Y2=V2,J2={_tr_init:K2,_tr_stored_block:W2,_tr_flush_block:X2,_tr_tally:Z2,_tr_align:Y2};const Q2=(e,t,n,r)=>{let a=e&65535|0,o=e>>>16&65535|0,i=0;for(;n!==0;){i=n>2e3?2e3:n,n-=i;do a=a+t[r++]|0,o=o+a|0;while(--i);a%=65521,o%=65521}return a|o<<16|0};var Co=Q2;const eE=()=>{let e,t=[];for(var n=0;n<256;n++){e=n;for(var r=0;r<8;r++)e=e&1?3988292384^e>>>1:e>>>1;t[n]=e}return t},tE=new Uint32Array(eE()),nE=(e,t,n,r)=>{const a=tE,o=r+n;e^=-1;for(let i=r;i<o;i++)e=e>>>8^a[(e^t[i])&255];return e^-1};var tt=nE,Kr={2:"need dictionary",1:"stream end",0:"","-1":"file error","-2":"stream error","-3":"data error","-4":"insufficient memory","-5":"buffer error","-6":"incompatible version"},As={Z_NO_FLUSH:0,Z_PARTIAL_FLUSH:1,Z_SYNC_FLUSH:2,Z_FULL_FLUSH:3,Z_FINISH:4,Z_BLOCK:5,Z_TREES:6,Z_OK:0,Z_STREAM_END:1,Z_NEED_DICT:2,Z_STREAM_ERROR:-2,Z_DATA_ERROR:-3,Z_MEM_ERROR:-4,Z_BUF_ERROR:-5,Z_DEFAULT_COMPRESSION:-1,Z_FILTERED:1,Z_HUFFMAN_ONLY:2,Z_RLE:3,Z_FIXED:4,Z_DEFAULT_STRATEGY:0,Z_UNKNOWN:2,Z_DEFLATED:8};const{_tr_init:rE,_tr_stored_block:jl,_tr_flush_block:aE,_tr_tally:sr,_tr_align:oE}=J2,{Z_NO_FLUSH:cr,Z_PARTIAL_FLUSH:iE,Z_FULL_FLUSH:sE,Z_FINISH:Ft,Z_BLOCK:gp,Z_OK:ct,Z_STREAM_END:yp,Z_STREAM_ERROR:bn,Z_DATA_ERROR:cE,Z_BUF_ERROR:gc,Z_DEFAULT_COMPRESSION:uE,Z_FILTERED:lE,Z_HUFFMAN_ONLY:wi,Z_RLE:dE,Z_FIXED:fE,Z_DEFAULT_STRATEGY:pE,Z_UNKNOWN:hE,Z_DEFLATED:Ss}=As,mE=9,gE=15,yE=8,bE=29,wE=256,xl=wE+1+bE,kE=30,_E=19,vE=2*xl+1,EE=15,ve=3,ar=258,wn=ar+ve+1,AE=32,Ca=42,Id=57,Tl=69,Il=73,Cl=91,Ol=103,Rr=113,uo=666,kt=1,Ua=2,Wr=3,Ha=4,SE=3,Nr=(e,t)=>(e.msg=Kr[t],t),bp=e=>e*2-(e>4?9:0),rr=e=>{let t=e.length;for(;--t>=0;)e[t]=0},jE=e=>{let t,n,r,a=e.w_size;t=e.hash_size,r=t;do n=e.head[--r],e.head[r]=n>=a?n-a:0;while(--t);t=a,r=t;do n=e.prev[--r],e.prev[r]=n>=a?n-a:0;while(--t)};let xE=(e,t,n)=>(t<<e.hash_shift^n)&e.hash_mask,ur=xE;const Ot=e=>{const t=e.state;let n=t.pending;n>e.avail_out&&(n=e.avail_out),n!==0&&(e.output.set(t.pending_buf.subarray(t.pending_out,t.pending_out+n),e.next_out),e.next_out+=n,t.pending_out+=n,e.total_out+=n,e.avail_out-=n,t.pending-=n,t.pending===0&&(t.pending_out=0))},Nt=(e,t)=>{aE(e,e.block_start>=0?e.block_start:-1,e.strstart-e.block_start,t),e.block_start=e.strstart,Ot(e.strm)},Te=(e,t)=>{e.pending_buf[e.pending++]=t},Va=(e,t)=>{e.pending_buf[e.pending++]=t>>>8&255,e.pending_buf[e.pending++]=t&255},Bl=(e,t,n,r)=>{let a=e.avail_in;return a>r&&(a=r),a===0?0:(e.avail_in-=a,t.set(e.input.subarray(e.next_in,e.next_in+a),n),e.state.wrap===1?e.adler=Co(e.adler,t,a,n):e.state.wrap===2&&(e.adler=tt(e.adler,t,a,n)),e.next_in+=a,e.total_in+=a,a)},W0=(e,t)=>{let n=e.max_chain_length,r=e.strstart,a,o,i=e.prev_length,s=e.nice_match;const c=e.strstart>e.w_size-wn?e.strstart-(e.w_size-wn):0,u=e.window,d=e.w_mask,h=e.prev,f=e.strstart+ar;let l=u[r+i-1],g=u[r+i];e.prev_length>=e.good_match&&(n>>=2),s>e.lookahead&&(s=e.lookahead);do if(a=t,!(u[a+i]!==g||u[a+i-1]!==l||u[a]!==u[r]||u[++a]!==u[r+1])){r+=2,a++;do;while(u[++r]===u[++a]&&u[++r]===u[++a]&&u[++r]===u[++a]&&u[++r]===u[++a]&&u[++r]===u[++a]&&u[++r]===u[++a]&&u[++r]===u[++a]&&u[++r]===u[++a]&&r<f);if(o=ar-(f-r),r=f-ar,o>i){if(e.match_start=t,i=o,o>=s)break;l=u[r+i-1],g=u[r+i]}}while((t=h[t&d])>c&&--n!==0);return i<=e.lookahead?i:e.lookahead},Oa=e=>{const t=e.w_size;let n,r,a;do{if(r=e.window_size-e.lookahead-e.strstart,e.strstart>=t+(t-wn)&&(e.window.set(e.window.subarray(t,t+t-r),0),e.match_start-=t,e.strstart-=t,e.block_start-=t,e.insert>e.strstart&&(e.insert=e.strstart),jE(e),r+=t),e.strm.avail_in===0)break;if(n=Bl(e.strm,e.window,e.strstart+e.lookahead,r),e.lookahead+=n,e.lookahead+e.insert>=ve)for(a=e.strstart-e.insert,e.ins_h=e.window[a],e.ins_h=ur(e,e.ins_h,e.window[a+1]);e.insert&&(e.ins_h=ur(e,e.ins_h,e.window[a+ve-1]),e.prev[a&e.w_mask]=e.head[e.ins_h],e.head[e.ins_h]=a,a++,e.insert--,!(e.lookahead+e.insert<ve)););}while(e.lookahead<wn&&e.strm.avail_in!==0)},X0=(e,t)=>{let n=e.pending_buf_size-5>e.w_size?e.w_size:e.pending_buf_size-5,r,a,o,i=0,s=e.strm.avail_in;do{if(r=65535,o=e.bi_valid+42>>3,e.strm.avail_out<o||(o=e.strm.avail_out-o,a=e.strstart-e.block_start,r>a+e.strm.avail_in&&(r=a+e.strm.avail_in),r>o&&(r=o),r<n&&(r===0&&t!==Ft||t===cr||r!==a+e.strm.avail_in)))break;i=t===Ft&&r===a+e.strm.avail_in?1:0,jl(e,0,0,i),e.pending_buf[e.pending-4]=r,e.pending_buf[e.pending-3]=r>>8,e.pending_buf[e.pending-2]=~r,e.pending_buf[e.pending-1]=~r>>8,Ot(e.strm),a&&(a>r&&(a=r),e.strm.output.set(e.window.subarray(e.block_start,e.block_start+a),e.strm.next_out),e.strm.next_out+=a,e.strm.avail_out-=a,e.strm.total_out+=a,e.block_start+=a,r-=a),r&&(Bl(e.strm,e.strm.output,e.strm.next_out,r),e.strm.next_out+=r,e.strm.avail_out-=r,e.strm.total_out+=r)}while(i===0);return s-=e.strm.avail_in,s&&(s>=e.w_size?(e.matches=2,e.window.set(e.strm.input.subarray(e.strm.next_in-e.w_size,e.strm.next_in),0),e.strstart=e.w_size,e.insert=e.strstart):(e.window_size-e.strstart<=s&&(e.strstart-=e.w_size,e.window.set(e.window.subarray(e.w_size,e.w_size+e.strstart),0),e.matches<2&&e.matches++,e.insert>e.strstart&&(e.insert=e.strstart)),e.window.set(e.strm.input.subarray(e.strm.next_in-s,e.strm.next_in),e.strstart),e.strstart+=s,e.insert+=s>e.w_size-e.insert?e.w_size-e.insert:s),e.block_start=e.strstart),e.high_water<e.strstart&&(e.high_water=e.strstart),i?Ha:t!==cr&&t!==Ft&&e.strm.avail_in===0&&e.strstart===e.block_start?Ua:(o=e.window_size-e.strstart,e.strm.avail_in>o&&e.block_start>=e.w_size&&(e.block_start-=e.w_size,e.strstart-=e.w_size,e.window.set(e.window.subarray(e.w_size,e.w_size+e.strstart),0),e.matches<2&&e.matches++,o+=e.w_size,e.insert>e.strstart&&(e.insert=e.strstart)),o>e.strm.avail_in&&(o=e.strm.avail_in),o&&(Bl(e.strm,e.window,e.strstart,o),e.strstart+=o,e.insert+=o>e.w_size-e.insert?e.w_size-e.insert:o),e.high_water<e.strstart&&(e.high_water=e.strstart),o=e.bi_valid+42>>3,o=e.pending_buf_size-o>65535?65535:e.pending_buf_size-o,n=o>e.w_size?e.w_size:o,a=e.strstart-e.block_start,(a>=n||(a||t===Ft)&&t!==cr&&e.strm.avail_in===0&&a<=o)&&(r=a>o?o:a,i=t===Ft&&e.strm.avail_in===0&&r===a?1:0,jl(e,e.block_start,r,i),e.block_start+=r,Ot(e.strm)),i?Wr:kt)},yc=(e,t)=>{let n,r;for(;;){if(e.lookahead<wn){if(Oa(e),e.lookahead<wn&&t===cr)return kt;if(e.lookahead===0)break}if(n=0,e.lookahead>=ve&&(e.ins_h=ur(e,e.ins_h,e.window[e.strstart+ve-1]),n=e.prev[e.strstart&e.w_mask]=e.head[e.ins_h],e.head[e.ins_h]=e.strstart),n!==0&&e.strstart-n<=e.w_size-wn&&(e.match_length=W0(e,n)),e.match_length>=ve)if(r=sr(e,e.strstart-e.match_start,e.match_length-ve),e.lookahead-=e.match_length,e.match_length<=e.max_lazy_match&&e.lookahead>=ve){e.match_length--;do e.strstart++,e.ins_h=ur(e,e.ins_h,e.window[e.strstart+ve-1]),n=e.prev[e.strstart&e.w_mask]=e.head[e.ins_h],e.head[e.ins_h]=e.strstart;while(--e.match_length!==0);e.strstart++}else e.strstart+=e.match_length,e.match_length=0,e.ins_h=e.window[e.strstart],e.ins_h=ur(e,e.ins_h,e.window[e.strstart+1]);else r=sr(e,0,e.window[e.strstart]),e.lookahead--,e.strstart++;if(r&&(Nt(e,!1),e.strm.avail_out===0))return kt}return e.insert=e.strstart<ve-1?e.strstart:ve-1,t===Ft?(Nt(e,!0),e.strm.avail_out===0?Wr:Ha):e.sym_next&&(Nt(e,!1),e.strm.avail_out===0)?kt:Ua},ua=(e,t)=>{let n,r,a;for(;;){if(e.lookahead<wn){if(Oa(e),e.lookahead<wn&&t===cr)return kt;if(e.lookahead===0)break}if(n=0,e.lookahead>=ve&&(e.ins_h=ur(e,e.ins_h,e.window[e.strstart+ve-1]),n=e.prev[e.strstart&e.w_mask]=e.head[e.ins_h],e.head[e.ins_h]=e.strstart),e.prev_length=e.match_length,e.prev_match=e.match_start,e.match_length=ve-1,n!==0&&e.prev_length<e.max_lazy_match&&e.strstart-n<=e.w_size-wn&&(e.match_length=W0(e,n),e.match_length<=5&&(e.strategy===lE||e.match_length===ve&&e.strstart-e.match_start>4096)&&(e.match_length=ve-1)),e.prev_length>=ve&&e.match_length<=e.prev_length){a=e.strstart+e.lookahead-ve,r=sr(e,e.strstart-1-e.prev_match,e.prev_length-ve),e.lookahead-=e.prev_length-1,e.prev_length-=2;do++e.strstart<=a&&(e.ins_h=ur(e,e.ins_h,e.window[e.strstart+ve-1]),n=e.prev[e.strstart&e.w_mask]=e.head[e.ins_h],e.head[e.ins_h]=e.strstart);while(--e.prev_length!==0);if(e.match_available=0,e.match_length=ve-1,e.strstart++,r&&(Nt(e,!1),e.strm.avail_out===0))return kt}else if(e.match_available){if(r=sr(e,0,e.window[e.strstart-1]),r&&Nt(e,!1),e.strstart++,e.lookahead--,e.strm.avail_out===0)return kt}else e.match_available=1,e.strstart++,e.lookahead--}return e.match_available&&(r=sr(e,0,e.window[e.strstart-1]),e.match_available=0),e.insert=e.strstart<ve-1?e.strstart:ve-1,t===Ft?(Nt(e,!0),e.strm.avail_out===0?Wr:Ha):e.sym_next&&(Nt(e,!1),e.strm.avail_out===0)?kt:Ua},TE=(e,t)=>{let n,r,a,o;const i=e.window;for(;;){if(e.lookahead<=ar){if(Oa(e),e.lookahead<=ar&&t===cr)return kt;if(e.lookahead===0)break}if(e.match_length=0,e.lookahead>=ve&&e.strstart>0&&(a=e.strstart-1,r=i[a],r===i[++a]&&r===i[++a]&&r===i[++a])){o=e.strstart+ar;do;while(r===i[++a]&&r===i[++a]&&r===i[++a]&&r===i[++a]&&r===i[++a]&&r===i[++a]&&r===i[++a]&&r===i[++a]&&a<o);e.match_length=ar-(o-a),e.match_length>e.lookahead&&(e.match_length=e.lookahead)}if(e.match_length>=ve?(n=sr(e,1,e.match_length-ve),e.lookahead-=e.match_length,e.strstart+=e.match_length,e.match_length=0):(n=sr(e,0,e.window[e.strstart]),e.lookahead--,e.strstart++),n&&(Nt(e,!1),e.strm.avail_out===0))return kt}return e.insert=0,t===Ft?(Nt(e,!0),e.strm.avail_out===0?Wr:Ha):e.sym_next&&(Nt(e,!1),e.strm.avail_out===0)?kt:Ua},IE=(e,t)=>{let n;for(;;){if(e.lookahead===0&&(Oa(e),e.lookahead===0)){if(t===cr)return kt;break}if(e.match_length=0,n=sr(e,0,e.window[e.strstart]),e.lookahead--,e.strstart++,n&&(Nt(e,!1),e.strm.avail_out===0))return kt}return e.insert=0,t===Ft?(Nt(e,!0),e.strm.avail_out===0?Wr:Ha):e.sym_next&&(Nt(e,!1),e.strm.avail_out===0)?kt:Ua};function on(e,t,n,r,a){this.good_length=e,this.max_lazy=t,this.nice_length=n,this.max_chain=r,this.func=a}const lo=[new on(0,0,0,0,X0),new on(4,4,8,4,yc),new on(4,5,16,8,yc),new on(4,6,32,32,yc),new on(4,4,16,16,ua),new on(8,16,32,32,ua),new on(8,16,128,128,ua),new on(8,32,128,256,ua),new on(32,128,258,1024,ua),new on(32,258,258,4096,ua)],CE=e=>{e.window_size=2*e.w_size,rr(e.head),e.max_lazy_match=lo[e.level].max_lazy,e.good_match=lo[e.level].good_length,e.nice_match=lo[e.level].nice_length,e.max_chain_length=lo[e.level].max_chain,e.strstart=0,e.block_start=0,e.lookahead=0,e.insert=0,e.match_length=e.prev_length=ve-1,e.match_available=0,e.ins_h=0};function OE(){this.strm=null,this.status=0,this.pending_buf=null,this.pending_buf_size=0,this.pending_out=0,this.pending=0,this.wrap=0,this.gzhead=null,this.gzindex=0,this.method=Ss,this.last_flush=-1,this.w_size=0,this.w_bits=0,this.w_mask=0,this.window=null,this.window_size=0,this.prev=null,this.head=null,this.ins_h=0,this.hash_size=0,this.hash_bits=0,this.hash_mask=0,this.hash_shift=0,this.block_start=0,this.match_length=0,this.prev_match=0,this.match_available=0,this.strstart=0,this.match_start=0,this.lookahead=0,this.prev_length=0,this.max_chain_length=0,this.max_lazy_match=0,this.level=0,this.strategy=0,this.good_match=0,this.nice_match=0,this.dyn_ltree=new Uint16Array(vE*2),this.dyn_dtree=new Uint16Array((2*kE+1)*2),this.bl_tree=new Uint16Array((2*_E+1)*2),rr(this.dyn_ltree),rr(this.dyn_dtree),rr(this.bl_tree),this.l_desc=null,this.d_desc=null,this.bl_desc=null,this.bl_count=new Uint16Array(EE+1),this.heap=new Uint16Array(2*xl+1),rr(this.heap),this.heap_len=0,this.heap_max=0,this.depth=new Uint16Array(2*xl+1),rr(this.depth),this.sym_buf=0,this.lit_bufsize=0,this.sym_next=0,this.sym_end=0,this.opt_len=0,this.static_len=0,this.matches=0,this.insert=0,this.bi_buf=0,this.bi_valid=0}const Jo=e=>{if(!e)return 1;const t=e.state;return!t||t.strm!==e||t.status!==Ca&&t.status!==Id&&t.status!==Tl&&t.status!==Il&&t.status!==Cl&&t.status!==Ol&&t.status!==Rr&&t.status!==uo?1:0},Z0=e=>{if(Jo(e))return Nr(e,bn);e.total_in=e.total_out=0,e.data_type=hE;const t=e.state;return t.pending=0,t.pending_out=0,t.wrap<0&&(t.wrap=-t.wrap),t.status=t.wrap===2?Id:t.wrap?Ca:Rr,e.adler=t.wrap===2?0:1,t.last_flush=-2,rE(t),ct},Y0=e=>{const t=Z0(e);return t===ct&&CE(e.state),t},BE=(e,t)=>Jo(e)||e.state.wrap!==2?bn:(e.state.gzhead=t,ct),J0=(e,t,n,r,a,o)=>{if(!e)return bn;let i=1;if(t===uE&&(t=6),r<0?(i=0,r=-r):r>15&&(i=2,r-=16),a<1||a>mE||n!==Ss||r<8||r>15||t<0||t>9||o<0||o>fE||r===8&&i!==1)return Nr(e,bn);r===8&&(r=9);const s=new OE;return e.state=s,s.strm=e,s.status=Ca,s.wrap=i,s.gzhead=null,s.w_bits=r,s.w_size=1<<s.w_bits,s.w_mask=s.w_size-1,s.hash_bits=a+7,s.hash_size=1<<s.hash_bits,s.hash_mask=s.hash_size-1,s.hash_shift=~~((s.hash_bits+ve-1)/ve),s.window=new Uint8Array(s.w_size*2),s.head=new Uint16Array(s.hash_size),s.prev=new Uint16Array(s.w_size),s.lit_bufsize=1<<a+6,s.pending_buf_size=s.lit_bufsize*4,s.pending_buf=new Uint8Array(s.pending_buf_size),s.sym_buf=s.lit_bufsize,s.sym_end=(s.lit_bufsize-1)*3,s.level=t,s.strategy=o,s.method=n,Y0(e)},zE=(e,t)=>J0(e,t,Ss,gE,yE,pE),PE=(e,t)=>{if(Jo(e)||t>gp||t<0)return e?Nr(e,bn):bn;const n=e.state;if(!e.output||e.avail_in!==0&&!e.input||n.status===uo&&t!==Ft)return Nr(e,e.avail_out===0?gc:bn);const r=n.last_flush;if(n.last_flush=t,n.pending!==0){if(Ot(e),e.avail_out===0)return n.last_flush=-1,ct}else if(e.avail_in===0&&bp(t)<=bp(r)&&t!==Ft)return Nr(e,gc);if(n.status===uo&&e.avail_in!==0)return Nr(e,gc);if(n.status===Ca&&n.wrap===0&&(n.status=Rr),n.status===Ca){let a=Ss+(n.w_bits-8<<4)<<8,o=-1;if(n.strategy>=wi||n.level<2?o=0:n.level<6?o=1:n.level===6?o=2:o=3,a|=o<<6,n.strstart!==0&&(a|=AE),a+=31-a%31,Va(n,a),n.strstart!==0&&(Va(n,e.adler>>>16),Va(n,e.adler&65535)),e.adler=1,n.status=Rr,Ot(e),n.pending!==0)return n.last_flush=-1,ct}if(n.status===Id){if(e.adler=0,Te(n,31),Te(n,139),Te(n,8),n.gzhead)Te(n,(n.gzhead.text?1:0)+(n.gzhead.hcrc?2:0)+(n.gzhead.extra?4:0)+(n.gzhead.name?8:0)+(n.gzhead.comment?16:0)),Te(n,n.gzhead.time&255),Te(n,n.gzhead.time>>8&255),Te(n,n.gzhead.time>>16&255),Te(n,n.gzhead.time>>24&255),Te(n,n.level===9?2:n.strategy>=wi||n.level<2?4:0),Te(n,n.gzhead.os&255),n.gzhead.extra&&n.gzhead.extra.length&&(Te(n,n.gzhead.extra.length&255),Te(n,n.gzhead.extra.length>>8&255)),n.gzhead.hcrc&&(e.adler=tt(e.adler,n.pending_buf,n.pending,0)),n.gzindex=0,n.status=Tl;else if(Te(n,0),Te(n,0),Te(n,0),Te(n,0),Te(n,0),Te(n,n.level===9?2:n.strategy>=wi||n.level<2?4:0),Te(n,SE),n.status=Rr,Ot(e),n.pending!==0)return n.last_flush=-1,ct}if(n.status===Tl){if(n.gzhead.extra){let a=n.pending,o=(n.gzhead.extra.length&65535)-n.gzindex;for(;n.pending+o>n.pending_buf_size;){let s=n.pending_buf_size-n.pending;if(n.pending_buf.set(n.gzhead.extra.subarray(n.gzindex,n.gzindex+s),n.pending),n.pending=n.pending_buf_size,n.gzhead.hcrc&&n.pending>a&&(e.adler=tt(e.adler,n.pending_buf,n.pending-a,a)),n.gzindex+=s,Ot(e),n.pending!==0)return n.last_flush=-1,ct;a=0,o-=s}let i=new Uint8Array(n.gzhead.extra);n.pending_buf.set(i.subarray(n.gzindex,n.gzindex+o),n.pending),n.pending+=o,n.gzhead.hcrc&&n.pending>a&&(e.adler=tt(e.adler,n.pending_buf,n.pending-a,a)),n.gzindex=0}n.status=Il}if(n.status===Il){if(n.gzhead.name){let a=n.pending,o;do{if(n.pending===n.pending_buf_size){if(n.gzhead.hcrc&&n.pending>a&&(e.adler=tt(e.adler,n.pending_buf,n.pending-a,a)),Ot(e),n.pending!==0)return n.last_flush=-1,ct;a=0}n.gzindex<n.gzhead.name.length?o=n.gzhead.name.charCodeAt(n.gzindex++)&255:o=0,Te(n,o)}while(o!==0);n.gzhead.hcrc&&n.pending>a&&(e.adler=tt(e.adler,n.pending_buf,n.pending-a,a)),n.gzindex=0}n.status=Cl}if(n.status===Cl){if(n.gzhead.comment){let a=n.pending,o;do{if(n.pending===n.pending_buf_size){if(n.gzhead.hcrc&&n.pending>a&&(e.adler=tt(e.adler,n.pending_buf,n.pending-a,a)),Ot(e),n.pending!==0)return n.last_flush=-1,ct;a=0}n.gzindex<n.gzhead.comment.length?o=n.gzhead.comment.charCodeAt(n.gzindex++)&255:o=0,Te(n,o)}while(o!==0);n.gzhead.hcrc&&n.pending>a&&(e.adler=tt(e.adler,n.pending_buf,n.pending-a,a))}n.status=Ol}if(n.status===Ol){if(n.gzhead.hcrc){if(n.pending+2>n.pending_buf_size&&(Ot(e),n.pending!==0))return n.last_flush=-1,ct;Te(n,e.adler&255),Te(n,e.adler>>8&255),e.adler=0}if(n.status=Rr,Ot(e),n.pending!==0)return n.last_flush=-1,ct}if(e.avail_in!==0||n.lookahead!==0||t!==cr&&n.status!==uo){let a=n.level===0?X0(n,t):n.strategy===wi?IE(n,t):n.strategy===dE?TE(n,t):lo[n.level].func(n,t);if((a===Wr||a===Ha)&&(n.status=uo),a===kt||a===Wr)return e.avail_out===0&&(n.last_flush=-1),ct;if(a===Ua&&(t===iE?oE(n):t!==gp&&(jl(n,0,0,!1),t===sE&&(rr(n.head),n.lookahead===0&&(n.strstart=0,n.block_start=0,n.insert=0))),Ot(e),e.avail_out===0))return n.last_flush=-1,ct}return t!==Ft?ct:n.wrap<=0?yp:(n.wrap===2?(Te(n,e.adler&255),Te(n,e.adler>>8&255),Te(n,e.adler>>16&255),Te(n,e.adler>>24&255),Te(n,e.total_in&255),Te(n,e.total_in>>8&255),Te(n,e.total_in>>16&255),Te(n,e.total_in>>24&255)):(Va(n,e.adler>>>16),Va(n,e.adler&65535)),Ot(e),n.wrap>0&&(n.wrap=-n.wrap),n.pending!==0?ct:yp)},RE=e=>{if(Jo(e))return bn;const t=e.state.status;return e.state=null,t===Rr?Nr(e,cE):ct},NE=(e,t)=>{let n=t.length;if(Jo(e))return bn;const r=e.state,a=r.wrap;if(a===2||a===1&&r.status!==Ca||r.lookahead)return bn;if(a===1&&(e.adler=Co(e.adler,t,n,0)),r.wrap=0,n>=r.w_size){a===0&&(rr(r.head),r.strstart=0,r.block_start=0,r.insert=0);let c=new Uint8Array(r.w_size);c.set(t.subarray(n-r.w_size,n),0),t=c,n=r.w_size}const o=e.avail_in,i=e.next_in,s=e.input;for(e.avail_in=n,e.next_in=0,e.input=t,Oa(r);r.lookahead>=ve;){let c=r.strstart,u=r.lookahead-(ve-1);do r.ins_h=ur(r,r.ins_h,r.window[c+ve-1]),r.prev[c&r.w_mask]=r.head[r.ins_h],r.head[r.ins_h]=c,c++;while(--u);r.strstart=c,r.lookahead=ve-1,Oa(r)}return r.strstart+=r.lookahead,r.block_start=r.strstart,r.insert=r.lookahead,r.lookahead=0,r.match_length=r.prev_length=ve-1,r.match_available=0,e.next_in=i,e.input=s,e.avail_in=o,r.wrap=a,ct};var UE=zE,HE=J0,LE=Y0,DE=Z0,FE=BE,ME=PE,qE=RE,VE=NE,$E="pako deflate (from Nodeca project)",bo={deflateInit:UE,deflateInit2:HE,deflateReset:LE,deflateResetKeep:DE,deflateSetHeader:FE,deflate:ME,deflateEnd:qE,deflateSetDictionary:VE,deflateInfo:$E};const GE=(e,t)=>Object.prototype.hasOwnProperty.call(e,t);var KE=function(e){const t=Array.prototype.slice.call(arguments,1);for(;t.length;){const n=t.shift();if(n){if(typeof n!="object")throw new TypeError(n+"must be non-object");for(const r in n)GE(n,r)&&(e[r]=n[r])}}return e},WE=e=>{let t=0;for(let r=0,a=e.length;r<a;r++)t+=e[r].length;const n=new Uint8Array(t);for(let r=0,a=0,o=e.length;r<o;r++){let i=e[r];n.set(i,a),a+=i.length}return n},js={assign:KE,flattenChunks:WE};let Q0=!0;try{String.fromCharCode.apply(null,new Uint8Array(1))}catch{Q0=!1}const Oo=new Uint8Array(256);for(let e=0;e<256;e++)Oo[e]=e>=252?6:e>=248?5:e>=240?4:e>=224?3:e>=192?2:1;Oo[254]=Oo[254]=1;var XE=e=>{if(typeof TextEncoder=="function"&&TextEncoder.prototype.encode)return new TextEncoder().encode(e);let t,n,r,a,o,i=e.length,s=0;for(a=0;a<i;a++)n=e.charCodeAt(a),(n&64512)===55296&&a+1<i&&(r=e.charCodeAt(a+1),(r&64512)===56320&&(n=65536+(n-55296<<10)+(r-56320),a++)),s+=n<128?1:n<2048?2:n<65536?3:4;for(t=new Uint8Array(s),o=0,a=0;o<s;a++)n=e.charCodeAt(a),(n&64512)===55296&&a+1<i&&(r=e.charCodeAt(a+1),(r&64512)===56320&&(n=65536+(n-55296<<10)+(r-56320),a++)),n<128?t[o++]=n:n<2048?(t[o++]=192|n>>>6,t[o++]=128|n&63):n<65536?(t[o++]=224|n>>>12,t[o++]=128|n>>>6&63,t[o++]=128|n&63):(t[o++]=240|n>>>18,t[o++]=128|n>>>12&63,t[o++]=128|n>>>6&63,t[o++]=128|n&63);return t};const ZE=(e,t)=>{if(t<65534&&e.subarray&&Q0)return String.fromCharCode.apply(null,e.length===t?e:e.subarray(0,t));let n="";for(let r=0;r<t;r++)n+=String.fromCharCode(e[r]);return n};var YE=(e,t)=>{const n=t||e.length;if(typeof TextDecoder=="function"&&TextDecoder.prototype.decode)return new TextDecoder().decode(e.subarray(0,t));let r,a;const o=new Array(n*2);for(a=0,r=0;r<n;){let i=e[r++];if(i<128){o[a++]=i;continue}let s=Oo[i];if(s>4){o[a++]=65533,r+=s-1;continue}for(i&=s===2?31:s===3?15:7;s>1&&r<n;)i=i<<6|e[r++]&63,s--;if(s>1){o[a++]=65533;continue}i<65536?o[a++]=i:(i-=65536,o[a++]=55296|i>>10&1023,o[a++]=56320|i&1023)}return ZE(o,a)},JE=(e,t)=>{t=t||e.length,t>e.length&&(t=e.length);let n=t-1;for(;n>=0&&(e[n]&192)===128;)n--;return n<0||n===0?t:n+Oo[e[n]]>t?n:t},Bo={string2buf:XE,buf2string:YE,utf8border:JE};function QE(){this.input=null,this.next_in=0,this.avail_in=0,this.total_in=0,this.output=null,this.next_out=0,this.avail_out=0,this.total_out=0,this.msg="",this.state=null,this.data_type=2,this.adler=0}var eb=QE;const tb=Object.prototype.toString,{Z_NO_FLUSH:eA,Z_SYNC_FLUSH:tA,Z_FULL_FLUSH:nA,Z_FINISH:rA,Z_OK:ls,Z_STREAM_END:aA,Z_DEFAULT_COMPRESSION:oA,Z_DEFAULT_STRATEGY:iA,Z_DEFLATED:sA}=As;function xs(e){this.options=js.assign({level:oA,method:sA,chunkSize:16384,windowBits:15,memLevel:8,strategy:iA},e||{});let t=this.options;t.raw&&t.windowBits>0?t.windowBits=-t.windowBits:t.gzip&&t.windowBits>0&&t.windowBits<16&&(t.windowBits+=16),this.err=0,this.msg="",this.ended=!1,this.chunks=[],this.strm=new eb,this.strm.avail_out=0;let n=bo.deflateInit2(this.strm,t.level,t.method,t.windowBits,t.memLevel,t.strategy);if(n!==ls)throw new Error(Kr[n]);if(t.header&&bo.deflateSetHeader(this.strm,t.header),t.dictionary){let r;if(typeof t.dictionary=="string"?r=Bo.string2buf(t.dictionary):tb.call(t.dictionary)==="[object ArrayBuffer]"?r=new Uint8Array(t.dictionary):r=t.dictionary,n=bo.deflateSetDictionary(this.strm,r),n!==ls)throw new Error(Kr[n]);this._dict_set=!0}}xs.prototype.push=function(e,t){const n=this.strm,r=this.options.chunkSize;let a,o;if(this.ended)return!1;for(t===~~t?o=t:o=t===!0?rA:eA,typeof e=="string"?n.input=Bo.string2buf(e):tb.call(e)==="[object ArrayBuffer]"?n.input=new Uint8Array(e):n.input=e,n.next_in=0,n.avail_in=n.input.length;;){if(n.avail_out===0&&(n.output=new Uint8Array(r),n.next_out=0,n.avail_out=r),(o===tA||o===nA)&&n.avail_out<=6){this.onData(n.output.subarray(0,n.next_out)),n.avail_out=0;continue}if(a=bo.deflate(n,o),a===aA)return n.next_out>0&&this.onData(n.output.subarray(0,n.next_out)),a=bo.deflateEnd(this.strm),this.onEnd(a),this.ended=!0,a===ls;if(n.avail_out===0){this.onData(n.output);continue}if(o>0&&n.next_out>0){this.onData(n.output.subarray(0,n.next_out)),n.avail_out=0;continue}if(n.avail_in===0)break}return!0};xs.prototype.onData=function(e){this.chunks.push(e)};xs.prototype.onEnd=function(e){e===ls&&(this.result=js.flattenChunks(this.chunks)),this.chunks=[],this.err=e,this.msg=this.strm.msg};function cA(e,t){const n=new xs(t);if(n.push(e,!0),n.err)throw n.msg||Kr[n.err];return n.result}function uA(e,t){return t=t||{},t.gzip=!0,cA(e,t)}var lA=uA,dA={gzip:lA};const ki=16209,fA=16191;var pA=function(t,n){let r,a,o,i,s,c,u,d,h,f,l,g,b,y,_,k,w,v,A,T,I,z,S,B;const P=t.state;r=t.next_in,S=t.input,a=r+(t.avail_in-5),o=t.next_out,B=t.output,i=o-(n-t.avail_out),s=o+(t.avail_out-257),c=P.dmax,u=P.wsize,d=P.whave,h=P.wnext,f=P.window,l=P.hold,g=P.bits,b=P.lencode,y=P.distcode,_=(1<<P.lenbits)-1,k=(1<<P.distbits)-1;e:do{g<15&&(l+=S[r++]<<g,g+=8,l+=S[r++]<<g,g+=8),w=b[l&_];t:for(;;){if(v=w>>>24,l>>>=v,g-=v,v=w>>>16&255,v===0)B[o++]=w&65535;else if(v&16){A=w&65535,v&=15,v&&(g<v&&(l+=S[r++]<<g,g+=8),A+=l&(1<<v)-1,l>>>=v,g-=v),g<15&&(l+=S[r++]<<g,g+=8,l+=S[r++]<<g,g+=8),w=y[l&k];n:for(;;){if(v=w>>>24,l>>>=v,g-=v,v=w>>>16&255,v&16){if(T=w&65535,v&=15,g<v&&(l+=S[r++]<<g,g+=8,g<v&&(l+=S[r++]<<g,g+=8)),T+=l&(1<<v)-1,T>c){t.msg="invalid distance too far back",P.mode=ki;break e}if(l>>>=v,g-=v,v=o-i,T>v){if(v=T-v,v>d&&P.sane){t.msg="invalid distance too far back",P.mode=ki;break e}if(I=0,z=f,h===0){if(I+=u-v,v<A){A-=v;do B[o++]=f[I++];while(--v);I=o-T,z=B}}else if(h<v){if(I+=u+h-v,v-=h,v<A){A-=v;do B[o++]=f[I++];while(--v);if(I=0,h<A){v=h,A-=v;do B[o++]=f[I++];while(--v);I=o-T,z=B}}}else if(I+=h-v,v<A){A-=v;do B[o++]=f[I++];while(--v);I=o-T,z=B}for(;A>2;)B[o++]=z[I++],B[o++]=z[I++],B[o++]=z[I++],A-=3;A&&(B[o++]=z[I++],A>1&&(B[o++]=z[I++]))}else{I=o-T;do B[o++]=B[I++],B[o++]=B[I++],B[o++]=B[I++],A-=3;while(A>2);A&&(B[o++]=B[I++],A>1&&(B[o++]=B[I++]))}}else if((v&64)===0){w=y[(w&65535)+(l&(1<<v)-1)];continue n}else{t.msg="invalid distance code",P.mode=ki;break e}break}}else if((v&64)===0){w=b[(w&65535)+(l&(1<<v)-1)];continue t}else if(v&32){P.mode=fA;break e}else{t.msg="invalid literal/length code",P.mode=ki;break e}break}}while(r<a&&o<s);A=g>>3,r-=A,g-=A<<3,l&=(1<<g)-1,t.next_in=r,t.next_out=o,t.avail_in=r<a?5+(a-r):5-(r-a),t.avail_out=o<s?257+(s-o):257-(o-s),P.hold=l,P.bits=g};const la=15,wp=852,kp=592,_p=0,bc=1,vp=2,hA=new Uint16Array([3,4,5,6,7,8,9,10,11,13,15,17,19,23,27,31,35,43,51,59,67,83,99,115,131,163,195,227,258,0,0]),mA=new Uint8Array([16,16,16,16,16,16,16,16,17,17,17,17,18,18,18,18,19,19,19,19,20,20,20,20,21,21,21,21,16,72,78]),gA=new Uint16Array([1,2,3,4,5,7,9,13,17,25,33,49,65,97,129,193,257,385,513,769,1025,1537,2049,3073,4097,6145,8193,12289,16385,24577,0,0]),yA=new Uint8Array([16,16,16,16,17,17,18,18,19,19,20,20,21,21,22,22,23,23,24,24,25,25,26,26,27,27,28,28,29,29,64,64]),bA=(e,t,n,r,a,o,i,s)=>{const c=s.bits;let u=0,d=0,h=0,f=0,l=0,g=0,b=0,y=0,_=0,k=0,w,v,A,T,I,z=null,S;const B=new Uint16Array(la+1),P=new Uint16Array(la+1);let M=null,D,R,$;for(u=0;u<=la;u++)B[u]=0;for(d=0;d<r;d++)B[t[n+d]]++;for(l=c,f=la;f>=1&&B[f]===0;f--);if(l>f&&(l=f),f===0)return a[o++]=1<<24|64<<16|0,a[o++]=1<<24|64<<16|0,s.bits=1,0;for(h=1;h<f&&B[h]===0;h++);for(l<h&&(l=h),y=1,u=1;u<=la;u++)if(y<<=1,y-=B[u],y<0)return-1;if(y>0&&(e===_p||f!==1))return-1;for(P[1]=0,u=1;u<la;u++)P[u+1]=P[u]+B[u];for(d=0;d<r;d++)t[n+d]!==0&&(i[P[t[n+d]]++]=d);if(e===_p?(z=M=i,S=20):e===bc?(z=hA,M=mA,S=257):(z=gA,M=yA,S=0),k=0,d=0,u=h,I=o,g=l,b=0,A=-1,_=1<<l,T=_-1,e===bc&&_>wp||e===vp&&_>kp)return 1;for(;;){D=u-b,i[d]+1<S?(R=0,$=i[d]):i[d]>=S?(R=M[i[d]-S],$=z[i[d]-S]):(R=96,$=0),w=1<<u-b,v=1<<g,h=v;do v-=w,a[I+(k>>b)+v]=D<<24|R<<16|$|0;while(v!==0);for(w=1<<u-1;k&w;)w>>=1;if(w!==0?(k&=w-1,k+=w):k=0,d++,--B[u]===0){if(u===f)break;u=t[n+i[d]]}if(u>l&&(k&T)!==A){for(b===0&&(b=l),I+=h,g=u-b,y=1<<g;g+b<f&&(y-=B[g+b],!(y<=0));)g++,y<<=1;if(_+=1<<g,e===bc&&_>wp||e===vp&&_>kp)return 1;A=k&T,a[A]=l<<24|g<<16|I-o|0}}return k!==0&&(a[I+k]=u-b<<24|64<<16|0),s.bits=l,0};var wo=bA;const wA=0,nb=1,rb=2,{Z_FINISH:Ep,Z_BLOCK:kA,Z_TREES:_i,Z_OK:Xr,Z_STREAM_END:_A,Z_NEED_DICT:vA,Z_STREAM_ERROR:qt,Z_DATA_ERROR:ab,Z_MEM_ERROR:ob,Z_BUF_ERROR:EA,Z_DEFLATED:Ap}=As,Ts=16180,Sp=16181,jp=16182,xp=16183,Tp=16184,Ip=16185,Cp=16186,Op=16187,Bp=16188,zp=16189,ds=16190,jn=16191,wc=16192,Pp=16193,kc=16194,Rp=16195,Np=16196,Up=16197,Hp=16198,vi=16199,Ei=16200,Lp=16201,Dp=16202,Fp=16203,Mp=16204,qp=16205,_c=16206,Vp=16207,$p=16208,Le=16209,ib=16210,sb=16211,AA=852,SA=592,jA=15,xA=jA,Gp=e=>(e>>>24&255)+(e>>>8&65280)+((e&65280)<<8)+((e&255)<<24);function TA(){this.strm=null,this.mode=0,this.last=!1,this.wrap=0,this.havedict=!1,this.flags=0,this.dmax=0,this.check=0,this.total=0,this.head=null,this.wbits=0,this.wsize=0,this.whave=0,this.wnext=0,this.window=null,this.hold=0,this.bits=0,this.length=0,this.offset=0,this.extra=0,this.lencode=null,this.distcode=null,this.lenbits=0,this.distbits=0,this.ncode=0,this.nlen=0,this.ndist=0,this.have=0,this.next=null,this.lens=new Uint16Array(320),this.work=new Uint16Array(288),this.lendyn=null,this.distdyn=null,this.sane=0,this.back=0,this.was=0}const ta=e=>{if(!e)return 1;const t=e.state;return!t||t.strm!==e||t.mode<Ts||t.mode>sb?1:0},cb=e=>{if(ta(e))return qt;const t=e.state;return e.total_in=e.total_out=t.total=0,e.msg="",t.wrap&&(e.adler=t.wrap&1),t.mode=Ts,t.last=0,t.havedict=0,t.flags=-1,t.dmax=32768,t.head=null,t.hold=0,t.bits=0,t.lencode=t.lendyn=new Int32Array(AA),t.distcode=t.distdyn=new Int32Array(SA),t.sane=1,t.back=-1,Xr},ub=e=>{if(ta(e))return qt;const t=e.state;return t.wsize=0,t.whave=0,t.wnext=0,cb(e)},lb=(e,t)=>{let n;if(ta(e))return qt;const r=e.state;return t<0?(n=0,t=-t):(n=(t>>4)+5,t<48&&(t&=15)),t&&(t<8||t>15)?qt:(r.window!==null&&r.wbits!==t&&(r.window=null),r.wrap=n,r.wbits=t,ub(e))},db=(e,t)=>{if(!e)return qt;const n=new TA;e.state=n,n.strm=e,n.window=null,n.mode=Ts;const r=lb(e,t);return r!==Xr&&(e.state=null),r},IA=e=>db(e,xA);let Kp=!0,vc,Ec;const CA=e=>{if(Kp){vc=new Int32Array(512),Ec=new Int32Array(32);let t=0;for(;t<144;)e.lens[t++]=8;for(;t<256;)e.lens[t++]=9;for(;t<280;)e.lens[t++]=7;for(;t<288;)e.lens[t++]=8;for(wo(nb,e.lens,0,288,vc,0,e.work,{bits:9}),t=0;t<32;)e.lens[t++]=5;wo(rb,e.lens,0,32,Ec,0,e.work,{bits:5}),Kp=!1}e.lencode=vc,e.lenbits=9,e.distcode=Ec,e.distbits=5},fb=(e,t,n,r)=>{let a;const o=e.state;return o.window===null&&(o.wsize=1<<o.wbits,o.wnext=0,o.whave=0,o.window=new Uint8Array(o.wsize)),r>=o.wsize?(o.window.set(t.subarray(n-o.wsize,n),0),o.wnext=0,o.whave=o.wsize):(a=o.wsize-o.wnext,a>r&&(a=r),o.window.set(t.subarray(n-r,n-r+a),o.wnext),r-=a,r?(o.window.set(t.subarray(n-r,n),0),o.wnext=r,o.whave=o.wsize):(o.wnext+=a,o.wnext===o.wsize&&(o.wnext=0),o.whave<o.wsize&&(o.whave+=a))),0},OA=(e,t)=>{let n,r,a,o,i,s,c,u,d,h,f,l,g,b,y=0,_,k,w,v,A,T,I,z;const S=new Uint8Array(4);let B,P;const M=new Uint8Array([16,17,18,0,8,7,9,6,10,5,11,4,12,3,13,2,14,1,15]);if(ta(e)||!e.output||!e.input&&e.avail_in!==0)return qt;n=e.state,n.mode===jn&&(n.mode=wc),i=e.next_out,a=e.output,c=e.avail_out,o=e.next_in,r=e.input,s=e.avail_in,u=n.hold,d=n.bits,h=s,f=c,z=Xr;e:for(;;)switch(n.mode){case Ts:if(n.wrap===0){n.mode=wc;break}for(;d<16;){if(s===0)break e;s--,u+=r[o++]<<d,d+=8}if(n.wrap&2&&u===35615){n.wbits===0&&(n.wbits=15),n.check=0,S[0]=u&255,S[1]=u>>>8&255,n.check=tt(n.check,S,2,0),u=0,d=0,n.mode=Sp;break}if(n.head&&(n.head.done=!1),!(n.wrap&1)||(((u&255)<<8)+(u>>8))%31){e.msg="incorrect header check",n.mode=Le;break}if((u&15)!==Ap){e.msg="unknown compression method",n.mode=Le;break}if(u>>>=4,d-=4,I=(u&15)+8,n.wbits===0&&(n.wbits=I),I>15||I>n.wbits){e.msg="invalid window size",n.mode=Le;break}n.dmax=1<<n.wbits,n.flags=0,e.adler=n.check=1,n.mode=u&512?zp:jn,u=0,d=0;break;case Sp:for(;d<16;){if(s===0)break e;s--,u+=r[o++]<<d,d+=8}if(n.flags=u,(n.flags&255)!==Ap){e.msg="unknown compression method",n.mode=Le;break}if(n.flags&57344){e.msg="unknown header flags set",n.mode=Le;break}n.head&&(n.head.text=u>>8&1),n.flags&512&&n.wrap&4&&(S[0]=u&255,S[1]=u>>>8&255,n.check=tt(n.check,S,2,0)),u=0,d=0,n.mode=jp;case jp:for(;d<32;){if(s===0)break e;s--,u+=r[o++]<<d,d+=8}n.head&&(n.head.time=u),n.flags&512&&n.wrap&4&&(S[0]=u&255,S[1]=u>>>8&255,S[2]=u>>>16&255,S[3]=u>>>24&255,n.check=tt(n.check,S,4,0)),u=0,d=0,n.mode=xp;case xp:for(;d<16;){if(s===0)break e;s--,u+=r[o++]<<d,d+=8}n.head&&(n.head.xflags=u&255,n.head.os=u>>8),n.flags&512&&n.wrap&4&&(S[0]=u&255,S[1]=u>>>8&255,n.check=tt(n.check,S,2,0)),u=0,d=0,n.mode=Tp;case Tp:if(n.flags&1024){for(;d<16;){if(s===0)break e;s--,u+=r[o++]<<d,d+=8}n.length=u,n.head&&(n.head.extra_len=u),n.flags&512&&n.wrap&4&&(S[0]=u&255,S[1]=u>>>8&255,n.check=tt(n.check,S,2,0)),u=0,d=0}else n.head&&(n.head.extra=null);n.mode=Ip;case Ip:if(n.flags&1024&&(l=n.length,l>s&&(l=s),l&&(n.head&&(I=n.head.extra_len-n.length,n.head.extra||(n.head.extra=new Uint8Array(n.head.extra_len)),n.head.extra.set(r.subarray(o,o+l),I)),n.flags&512&&n.wrap&4&&(n.check=tt(n.check,r,l,o)),s-=l,o+=l,n.length-=l),n.length))break e;n.length=0,n.mode=Cp;case Cp:if(n.flags&2048){if(s===0)break e;l=0;do I=r[o+l++],n.head&&I&&n.length<65536&&(n.head.name+=String.fromCharCode(I));while(I&&l<s);if(n.flags&512&&n.wrap&4&&(n.check=tt(n.check,r,l,o)),s-=l,o+=l,I)break e}else n.head&&(n.head.name=null);n.length=0,n.mode=Op;case Op:if(n.flags&4096){if(s===0)break e;l=0;do I=r[o+l++],n.head&&I&&n.length<65536&&(n.head.comment+=String.fromCharCode(I));while(I&&l<s);if(n.flags&512&&n.wrap&4&&(n.check=tt(n.check,r,l,o)),s-=l,o+=l,I)break e}else n.head&&(n.head.comment=null);n.mode=Bp;case Bp:if(n.flags&512){for(;d<16;){if(s===0)break e;s--,u+=r[o++]<<d,d+=8}if(n.wrap&4&&u!==(n.check&65535)){e.msg="header crc mismatch",n.mode=Le;break}u=0,d=0}n.head&&(n.head.hcrc=n.flags>>9&1,n.head.done=!0),e.adler=n.check=0,n.mode=jn;break;case zp:for(;d<32;){if(s===0)break e;s--,u+=r[o++]<<d,d+=8}e.adler=n.check=Gp(u),u=0,d=0,n.mode=ds;case ds:if(n.havedict===0)return e.next_out=i,e.avail_out=c,e.next_in=o,e.avail_in=s,n.hold=u,n.bits=d,vA;e.adler=n.check=1,n.mode=jn;case jn:if(t===kA||t===_i)break e;case wc:if(n.last){u>>>=d&7,d-=d&7,n.mode=_c;break}for(;d<3;){if(s===0)break e;s--,u+=r[o++]<<d,d+=8}switch(n.last=u&1,u>>>=1,d-=1,u&3){case 0:n.mode=Pp;break;case 1:if(CA(n),n.mode=vi,t===_i){u>>>=2,d-=2;break e}break;case 2:n.mode=Np;break;case 3:e.msg="invalid block type",n.mode=Le}u>>>=2,d-=2;break;case Pp:for(u>>>=d&7,d-=d&7;d<32;){if(s===0)break e;s--,u+=r[o++]<<d,d+=8}if((u&65535)!==(u>>>16^65535)){e.msg="invalid stored block lengths",n.mode=Le;break}if(n.length=u&65535,u=0,d=0,n.mode=kc,t===_i)break e;case kc:n.mode=Rp;case Rp:if(l=n.length,l){if(l>s&&(l=s),l>c&&(l=c),l===0)break e;a.set(r.subarray(o,o+l),i),s-=l,o+=l,c-=l,i+=l,n.length-=l;break}n.mode=jn;break;case Np:for(;d<14;){if(s===0)break e;s--,u+=r[o++]<<d,d+=8}if(n.nlen=(u&31)+257,u>>>=5,d-=5,n.ndist=(u&31)+1,u>>>=5,d-=5,n.ncode=(u&15)+4,u>>>=4,d-=4,n.nlen>286||n.ndist>30){e.msg="too many length or distance symbols",n.mode=Le;break}n.have=0,n.mode=Up;case Up:for(;n.have<n.ncode;){for(;d<3;){if(s===0)break e;s--,u+=r[o++]<<d,d+=8}n.lens[M[n.have++]]=u&7,u>>>=3,d-=3}for(;n.have<19;)n.lens[M[n.have++]]=0;if(n.lencode=n.lendyn,n.lenbits=7,B={bits:n.lenbits},z=wo(wA,n.lens,0,19,n.lencode,0,n.work,B),n.lenbits=B.bits,z){e.msg="invalid code lengths set",n.mode=Le;break}n.have=0,n.mode=Hp;case Hp:for(;n.have<n.nlen+n.ndist;){for(;y=n.lencode[u&(1<<n.lenbits)-1],_=y>>>24,k=y>>>16&255,w=y&65535,!(_<=d);){if(s===0)break e;s--,u+=r[o++]<<d,d+=8}if(w<16)u>>>=_,d-=_,n.lens[n.have++]=w;else{if(w===16){for(P=_+2;d<P;){if(s===0)break e;s--,u+=r[o++]<<d,d+=8}if(u>>>=_,d-=_,n.have===0){e.msg="invalid bit length repeat",n.mode=Le;break}I=n.lens[n.have-1],l=3+(u&3),u>>>=2,d-=2}else if(w===17){for(P=_+3;d<P;){if(s===0)break e;s--,u+=r[o++]<<d,d+=8}u>>>=_,d-=_,I=0,l=3+(u&7),u>>>=3,d-=3}else{for(P=_+7;d<P;){if(s===0)break e;s--,u+=r[o++]<<d,d+=8}u>>>=_,d-=_,I=0,l=11+(u&127),u>>>=7,d-=7}if(n.have+l>n.nlen+n.ndist){e.msg="invalid bit length repeat",n.mode=Le;break}for(;l--;)n.lens[n.have++]=I}}if(n.mode===Le)break;if(n.lens[256]===0){e.msg="invalid code -- missing end-of-block",n.mode=Le;break}if(n.lenbits=9,B={bits:n.lenbits},z=wo(nb,n.lens,0,n.nlen,n.lencode,0,n.work,B),n.lenbits=B.bits,z){e.msg="invalid literal/lengths set",n.mode=Le;break}if(n.distbits=6,n.distcode=n.distdyn,B={bits:n.distbits},z=wo(rb,n.lens,n.nlen,n.ndist,n.distcode,0,n.work,B),n.distbits=B.bits,z){e.msg="invalid distances set",n.mode=Le;break}if(n.mode=vi,t===_i)break e;case vi:n.mode=Ei;case Ei:if(s>=6&&c>=258){e.next_out=i,e.avail_out=c,e.next_in=o,e.avail_in=s,n.hold=u,n.bits=d,pA(e,f),i=e.next_out,a=e.output,c=e.avail_out,o=e.next_in,r=e.input,s=e.avail_in,u=n.hold,d=n.bits,n.mode===jn&&(n.back=-1);break}for(n.back=0;y=n.lencode[u&(1<<n.lenbits)-1],_=y>>>24,k=y>>>16&255,w=y&65535,!(_<=d);){if(s===0)break e;s--,u+=r[o++]<<d,d+=8}if(k&&(k&240)===0){for(v=_,A=k,T=w;y=n.lencode[T+((u&(1<<v+A)-1)>>v)],_=y>>>24,k=y>>>16&255,w=y&65535,!(v+_<=d);){if(s===0)break e;s--,u+=r[o++]<<d,d+=8}u>>>=v,d-=v,n.back+=v}if(u>>>=_,d-=_,n.back+=_,n.length=w,k===0){n.mode=qp;break}if(k&32){n.back=-1,n.mode=jn;break}if(k&64){e.msg="invalid literal/length code",n.mode=Le;break}n.extra=k&15,n.mode=Lp;case Lp:if(n.extra){for(P=n.extra;d<P;){if(s===0)break e;s--,u+=r[o++]<<d,d+=8}n.length+=u&(1<<n.extra)-1,u>>>=n.extra,d-=n.extra,n.back+=n.extra}n.was=n.length,n.mode=Dp;case Dp:for(;y=n.distcode[u&(1<<n.distbits)-1],_=y>>>24,k=y>>>16&255,w=y&65535,!(_<=d);){if(s===0)break e;s--,u+=r[o++]<<d,d+=8}if((k&240)===0){for(v=_,A=k,T=w;y=n.distcode[T+((u&(1<<v+A)-1)>>v)],_=y>>>24,k=y>>>16&255,w=y&65535,!(v+_<=d);){if(s===0)break e;s--,u+=r[o++]<<d,d+=8}u>>>=v,d-=v,n.back+=v}if(u>>>=_,d-=_,n.back+=_,k&64){e.msg="invalid distance code",n.mode=Le;break}n.offset=w,n.extra=k&15,n.mode=Fp;case Fp:if(n.extra){for(P=n.extra;d<P;){if(s===0)break e;s--,u+=r[o++]<<d,d+=8}n.offset+=u&(1<<n.extra)-1,u>>>=n.extra,d-=n.extra,n.back+=n.extra}if(n.offset>n.dmax){e.msg="invalid distance too far back",n.mode=Le;break}n.mode=Mp;case Mp:if(c===0)break e;if(l=f-c,n.offset>l){if(l=n.offset-l,l>n.whave&&n.sane){e.msg="invalid distance too far back",n.mode=Le;break}l>n.wnext?(l-=n.wnext,g=n.wsize-l):g=n.wnext-l,l>n.length&&(l=n.length),b=n.window}else b=a,g=i-n.offset,l=n.length;l>c&&(l=c),c-=l,n.length-=l;do a[i++]=b[g++];while(--l);n.length===0&&(n.mode=Ei);break;case qp:if(c===0)break e;a[i++]=n.length,c--,n.mode=Ei;break;case _c:if(n.wrap){for(;d<32;){if(s===0)break e;s--,u|=r[o++]<<d,d+=8}if(f-=c,e.total_out+=f,n.total+=f,n.wrap&4&&f&&(e.adler=n.check=n.flags?tt(n.check,a,f,i-f):Co(n.check,a,f,i-f)),f=c,n.wrap&4&&(n.flags?u:Gp(u))!==n.check){e.msg="incorrect data check",n.mode=Le;break}u=0,d=0}n.mode=Vp;case Vp:if(n.wrap&&n.flags){for(;d<32;){if(s===0)break e;s--,u+=r[o++]<<d,d+=8}if(n.wrap&4&&u!==(n.total&4294967295)){e.msg="incorrect length check",n.mode=Le;break}u=0,d=0}n.mode=$p;case $p:z=_A;break e;case Le:z=ab;break e;case ib:return ob;case sb:default:return qt}return e.next_out=i,e.avail_out=c,e.next_in=o,e.avail_in=s,n.hold=u,n.bits=d,(n.wsize||f!==e.avail_out&&n.mode<Le&&(n.mode<_c||t!==Ep))&&fb(e,e.output,e.next_out,f-e.avail_out),h-=e.avail_in,f-=e.avail_out,e.total_in+=h,e.total_out+=f,n.total+=f,n.wrap&4&&f&&(e.adler=n.check=n.flags?tt(n.check,a,f,e.next_out-f):Co(n.check,a,f,e.next_out-f)),e.data_type=n.bits+(n.last?64:0)+(n.mode===jn?128:0)+(n.mode===vi||n.mode===kc?256:0),(h===0&&f===0||t===Ep)&&z===Xr&&(z=EA),z},BA=e=>{if(ta(e))return qt;let t=e.state;return t.window&&(t.window=null),e.state=null,Xr},zA=(e,t)=>{if(ta(e))return qt;const n=e.state;return(n.wrap&2)===0?qt:(n.head=t,t.done=!1,Xr)},PA=(e,t)=>{const n=t.length;let r,a,o;return ta(e)||(r=e.state,r.wrap!==0&&r.mode!==ds)?qt:r.mode===ds&&(a=1,a=Co(a,t,n,0),a!==r.check)?ab:(o=fb(e,t,n,n),o?(r.mode=ib,ob):(r.havedict=1,Xr))};var RA=ub,NA=lb,UA=cb,HA=IA,LA=db,DA=OA,FA=BA,MA=zA,qA=PA,VA="pako inflate (from Nodeca project)",Bn={inflateReset:RA,inflateReset2:NA,inflateResetKeep:UA,inflateInit:HA,inflateInit2:LA,inflate:DA,inflateEnd:FA,inflateGetHeader:MA,inflateSetDictionary:qA,inflateInfo:VA};function $A(){this.text=0,this.time=0,this.xflags=0,this.os=0,this.extra=null,this.extra_len=0,this.name="",this.comment="",this.hcrc=0,this.done=!1}var GA=$A;const pb=Object.prototype.toString,{Z_NO_FLUSH:KA,Z_FINISH:WA,Z_OK:zo,Z_STREAM_END:Ac,Z_NEED_DICT:Sc,Z_STREAM_ERROR:XA,Z_DATA_ERROR:Wp,Z_MEM_ERROR:ZA}=As;function Is(e){this.options=js.assign({chunkSize:1024*64,windowBits:15,to:""},e||{});const t=this.options;t.raw&&t.windowBits>=0&&t.windowBits<16&&(t.windowBits=-t.windowBits,t.windowBits===0&&(t.windowBits=-15)),t.windowBits>=0&&t.windowBits<16&&!(e&&e.windowBits)&&(t.windowBits+=32),t.windowBits>15&&t.windowBits<48&&(t.windowBits&15)===0&&(t.windowBits|=15),this.err=0,this.msg="",this.ended=!1,this.chunks=[],this.strm=new eb,this.strm.avail_out=0;let n=Bn.inflateInit2(this.strm,t.windowBits);if(n!==zo)throw new Error(Kr[n]);if(this.header=new GA,Bn.inflateGetHeader(this.strm,this.header),t.dictionary&&(typeof t.dictionary=="string"?t.dictionary=Bo.string2buf(t.dictionary):pb.call(t.dictionary)==="[object ArrayBuffer]"&&(t.dictionary=new Uint8Array(t.dictionary)),t.raw&&(n=Bn.inflateSetDictionary(this.strm,t.dictionary),n!==zo)))throw new Error(Kr[n])}Is.prototype.push=function(e,t){const n=this.strm,r=this.options.chunkSize,a=this.options.dictionary;let o,i,s;if(this.ended)return!1;for(t===~~t?i=t:i=t===!0?WA:KA,pb.call(e)==="[object ArrayBuffer]"?n.input=new Uint8Array(e):n.input=e,n.next_in=0,n.avail_in=n.input.length;;){for(n.avail_out===0&&(n.output=new Uint8Array(r),n.next_out=0,n.avail_out=r),o=Bn.inflate(n,i),o===Sc&&a&&(o=Bn.inflateSetDictionary(n,a),o===zo?o=Bn.inflate(n,i):o===Wp&&(o=Sc));n.avail_in>0&&o===Ac&&n.state.wrap>0&&e[n.next_in]!==0;)Bn.inflateReset(n),o=Bn.inflate(n,i);switch(o){case XA:case Wp:case Sc:case ZA:return this.onEnd(o),this.ended=!0,!1}if(s=n.avail_out,n.next_out&&(n.avail_out===0||o===Ac))if(this.options.to==="string"){let c=Bo.utf8border(n.output,n.next_out),u=n.next_out-c,d=Bo.buf2string(n.output,c);n.next_out=u,n.avail_out=r-u,u&&n.output.set(n.output.subarray(c,c+u),0),this.onData(d)}else this.onData(n.output.length===n.next_out?n.output:n.output.subarray(0,n.next_out));if(!(o===zo&&s===0)){if(o===Ac)return o=Bn.inflateEnd(this.strm),this.onEnd(o),this.ended=!0,!0;if(n.avail_in===0)break}}return!0};Is.prototype.onData=function(e){this.chunks.push(e)};Is.prototype.onEnd=function(e){e===zo&&(this.options.to==="string"?this.result=this.chunks.join(""):this.result=js.flattenChunks(this.chunks)),this.chunks=[],this.err=e,this.msg=this.strm.msg};function YA(e,t){const n=new Is(t);if(n.push(e),n.err)throw n.msg||Kr[n.err];return n.result}var JA=YA,QA={ungzip:JA};const{gzip:eS}=dA,{ungzip:tS}=QA;var nS=eS,rS=tS;class hb extends ud{constructor(t,n){super(),this.finished=!1,this.destroyed=!1,p1(t);const r=ws(n);if(this.iHash=t.create(),typeof this.iHash.update!="function")throw new Error("Expected instance of class which extends utils.Hash");this.blockLen=this.iHash.blockLen,this.outputLen=this.iHash.outputLen;const a=this.blockLen,o=new Uint8Array(a);o.set(r.length>a?t.create().update(r).digest():r);for(let i=0;i<o.length;i++)o[i]^=54;this.iHash.update(o),this.oHash=t.create();for(let i=0;i<o.length;i++)o[i]^=106;this.oHash.update(o),o.fill(0)}update(t){return Sa(this),this.iHash.update(t),this}digestInto(t){Sa(this),Ko(t,this.outputLen),this.finished=!0,this.iHash.digestInto(t),this.oHash.update(t),this.oHash.digestInto(t),this.destroy()}digest(){const t=new Uint8Array(this.oHash.outputLen);return this.digestInto(t),t}_cloneInto(t){t||(t=Object.create(Object.getPrototypeOf(this),{}));const{oHash:n,iHash:r,finished:a,destroyed:o,blockLen:i,outputLen:s}=this;return t=t,t.finished=a,t.destroyed=o,t.blockLen=i,t.outputLen=s,t.oHash=n._cloneInto(t.oHash),t.iHash=r._cloneInto(t.iHash),t}destroy(){this.destroyed=!0,this.oHash.destroy(),this.iHash.destroy()}}const mb=(e,t,n)=>new hb(e,t).update(n).digest();mb.create=(e,t)=>new hb(e,t);/*! noble-curves - MIT License (c) 2022 Paul Miller (paulmillr.com) */function aS(e){return{hash:e,hmac:(t,...n)=>mb(e,t,y1(...n)),randomBytes:b1}}function oS(e,t){const n=r=>O0({...e,...aS(r)});return Object.freeze({...n(t),create:n})}/*! noble-curves - MIT License (c) 2022 Paul Miller (paulmillr.com) */const gb=BigInt("0xfffffffffffffffffffffffffffffffffffffffffffffffffffffffefffffc2f"),Xp=BigInt("0xfffffffffffffffffffffffffffffffebaaedce6af48a03bbfd25e8cd0364141"),iS=BigInt(1),zl=BigInt(2),Zp=(e,t)=>(e+t/zl)/t;function sS(e){const t=gb,n=BigInt(3),r=BigInt(6),a=BigInt(11),o=BigInt(22),i=BigInt(23),s=BigInt(44),c=BigInt(88),u=e*e*e%t,d=u*u*e%t,h=Ht(d,n,t)*d%t,f=Ht(h,n,t)*d%t,l=Ht(f,zl,t)*u%t,g=Ht(l,a,t)*l%t,b=Ht(g,o,t)*g%t,y=Ht(b,s,t)*b%t,_=Ht(y,c,t)*y%t,k=Ht(_,s,t)*b%t,w=Ht(k,n,t)*d%t,v=Ht(w,i,t)*g%t,A=Ht(v,r,t)*u%t,T=Ht(A,zl,t);if(!Pl.eql(Pl.sqr(T),e))throw new Error("Cannot find square root");return T}const Pl=E0(gb,void 0,void 0,{sqrt:sS}),yb=oS({a:BigInt(0),b:BigInt(7),Fp:Pl,n:Xp,Gx:BigInt("55066263022277343669578718895168534326250603453777594175500187360389116729240"),Gy:BigInt("32670510020758816978083085130507043184471273380659243275938904335757337482424"),h:BigInt(1),lowS:!0,endo:{beta:BigInt("0x7ae96a2b657c07106e64479eac3434e99cf0497512f58995c1396c28719501ee"),splitScalar:e=>{const t=Xp,n=BigInt("0x3086d221a7d46bcde86c90e49284eb15"),r=-iS*BigInt("0xe4437ed6010e88286f547fa90abfe4c3"),a=BigInt("0x114ca50f7a8e2f3f657c1108d9d44cfd8"),o=n,i=BigInt("0x100000000000000000000000000000000"),s=Zp(o*e,t),c=Zp(-r*e,t);let u=jt(e-s*n-c*a,t),d=jt(-s*r-c*o,t);const h=u>i,f=d>i;if(h&&(u=t-u),f&&(d=t-d),u>i||d>i)throw new Error("splitScalar: Endomorphism failed, k="+e);return{k1neg:h,k1:u,k2neg:f,k2:d}}}},Hy);BigInt(0);yb.ProjectivePoint;var fs=typeof globalThis<"u"?globalThis:typeof window<"u"?window:typeof global<"u"?global:typeof self<"u"?self:{};function Cs(e){return e&&e.__esModule&&Object.prototype.hasOwnProperty.call(e,"default")?e.default:e}function cS(e){if(Object.prototype.hasOwnProperty.call(e,"__esModule"))return e;var t=e.default;if(typeof t=="function"){var n=function r(){return this instanceof r?Reflect.construct(t,arguments,this.constructor):t.apply(this,arguments)};n.prototype=t.prototype}else n={};return Object.defineProperty(n,"__esModule",{value:!0}),Object.keys(e).forEach(function(r){var a=Object.getOwnPropertyDescriptor(e,r);Object.defineProperty(n,r,a.get?a:{enumerable:!0,get:function(){return e[r]}})}),n}var qe={};const ka=2147483647,pn=36,Cd=1,Po=26,uS=38,lS=700,bb=72,wb=128,kb="-",dS=/^xn--/,fS=/[^\0-\x7F]/,pS=/[\x2E\u3002\uFF0E\uFF61]/g,hS={overflow:"Overflow: input needs wider integers to process","not-basic":"Illegal input >= 0x80 (not a basic code point)","invalid-input":"Invalid input"},jc=pn-Cd,hn=Math.floor,xc=String.fromCharCode;function nr(e){throw new RangeError(hS[e])}function mS(e,t){const n=[];let r=e.length;for(;r--;)n[r]=t(e[r]);return n}function _b(e,t){const n=e.split("@");let r="";n.length>1&&(r=n[0]+"@",e=n[1]),e=e.replace(pS,".");const a=e.split("."),o=mS(a,t).join(".");return r+o}function Od(e){const t=[];let n=0;const r=e.length;for(;n<r;){const a=e.charCodeAt(n++);if(a>=55296&&a<=56319&&n<r){const o=e.charCodeAt(n++);(o&64512)==56320?t.push(((a&1023)<<10)+(o&1023)+65536):(t.push(a),n--)}else t.push(a)}return t}const vb=e=>String.fromCodePoint(...e),gS=function(e){return e>=48&&e<58?26+(e-48):e>=65&&e<91?e-65:e>=97&&e<123?e-97:pn},Yp=function(e,t){return e+22+75*(e<26)-((t!=0)<<5)},Eb=function(e,t,n){let r=0;for(e=n?hn(e/lS):e>>1,e+=hn(e/t);e>jc*Po>>1;r+=pn)e=hn(e/jc);return hn(r+(jc+1)*e/(e+uS))},Bd=function(e){const t=[],n=e.length;let r=0,a=wb,o=bb,i=e.lastIndexOf(kb);i<0&&(i=0);for(let s=0;s<i;++s)e.charCodeAt(s)>=128&&nr("not-basic"),t.push(e.charCodeAt(s));for(let s=i>0?i+1:0;s<n;){const c=r;for(let d=1,h=pn;;h+=pn){s>=n&&nr("invalid-input");const f=gS(e.charCodeAt(s++));f>=pn&&nr("invalid-input"),f>hn((ka-r)/d)&&nr("overflow"),r+=f*d;const l=h<=o?Cd:h>=o+Po?Po:h-o;if(f<l)break;const g=pn-l;d>hn(ka/g)&&nr("overflow"),d*=g}const u=t.length+1;o=Eb(r-c,u,c==0),hn(r/u)>ka-a&&nr("overflow"),a+=hn(r/u),r%=u,t.splice(r++,0,a)}return String.fromCodePoint(...t)},zd=function(e){const t=[];e=Od(e);const n=e.length;let r=wb,a=0,o=bb;for(const c of e)c<128&&t.push(xc(c));const i=t.length;let s=i;for(i&&t.push(kb);s<n;){let c=ka;for(const d of e)d>=r&&d<c&&(c=d);const u=s+1;c-r>hn((ka-a)/u)&&nr("overflow"),a+=(c-r)*u,r=c;for(const d of e)if(d<r&&++a>ka&&nr("overflow"),d===r){let h=a;for(let f=pn;;f+=pn){const l=f<=o?Cd:f>=o+Po?Po:f-o;if(h<l)break;const g=h-l,b=pn-l;t.push(xc(Yp(l+g%b,0))),h=hn(g/b)}t.push(xc(Yp(h,0))),o=Eb(a,u,s===i),a=0,++s}++a,++r}return t.join("")},Ab=function(e){return _b(e,function(t){return dS.test(t)?Bd(t.slice(4).toLowerCase()):t})},Sb=function(e){return _b(e,function(t){return fS.test(t)?"xn--"+zd(t):t})},yS={version:"2.3.1",ucs2:{decode:Od,encode:vb},decode:Bd,encode:zd,toASCII:Sb,toUnicode:Ab},bS=Object.freeze(Object.defineProperty({__proto__:null,decode:Bd,default:yS,encode:zd,toASCII:Sb,toUnicode:Ab,ucs2decode:Od,ucs2encode:vb},Symbol.toStringTag,{value:"Module"})),wS=cS(bS);var Tc,Jp;function kS(){return Jp||(Jp=1,Tc=function(t,n){if(n=n.split(":")[0],t=+t,!t)return!1;switch(n){case"http":case"ws":return t!==80;case"https":case"wss":return t!==443;case"ftp":return t!==21;case"gopher":return t!==70;case"file":return!1}return t!==0}),Tc}var Ai={},Qp;function _S(){if(Qp)return Ai;Qp=1;var e=Object.prototype.hasOwnProperty,t;function n(i){try{return decodeURIComponent(i.replace(/\+/g," "))}catch{return null}}function r(i){try{return encodeURIComponent(i)}catch{return null}}function a(i){for(var s=/([^=?#&]+)=?([^&]*)/g,c={},u;u=s.exec(i);){var d=n(u[1]),h=n(u[2]);d===null||h===null||d in c||(c[d]=h)}return c}function o(i,s){s=s||"";var c=[],u,d;typeof s!="string"&&(s="?");for(d in i)if(e.call(i,d)){if(u=i[d],!u&&(u===null||u===t||isNaN(u))&&(u=""),d=r(d),u=r(u),d===null||u===null)continue;c.push(d+"="+u)}return c.length?s+c.join("&"):""}return Ai.stringify=o,Ai.parse=a,Ai}var Ic,eh;function vS(){if(eh)return Ic;eh=1;var e=kS(),t=_S(),n=/^[\x00-\x20\u00a0\u1680\u2000-\u200a\u2028\u2029\u202f\u205f\u3000\ufeff]+/,r=/[\n\r\t]/g,a=/^[A-Za-z][A-Za-z0-9+-.]*:\/\//,o=/:\d+$/,i=/^([a-z][a-z0-9.+-]*:)?(\/\/)?([\\/]+)?([\S\s]*)/i,s=/^[a-zA-Z]:/;function c(k){return(k||"").toString().replace(n,"")}var u=[["#","hash"],["?","query"],function(w,v){return f(v.protocol)?w.replace(/\\/g,"/"):w},["/","pathname"],["@","auth",1],[NaN,"host",void 0,1,1],[/:(\d*)$/,"port",void 0,1],[NaN,"hostname",void 0,1,1]],d={hash:1,query:1};function h(k){var w;typeof window<"u"?w=window:typeof fs<"u"?w=fs:typeof self<"u"?w=self:w={};var v=w.location||{};k=k||v;var A={},T=typeof k,I;if(k.protocol==="blob:")A=new b(unescape(k.pathname),{});else if(T==="string"){A=new b(k,{});for(I in d)delete A[I]}else if(T==="object"){for(I in k)I in d||(A[I]=k[I]);A.slashes===void 0&&(A.slashes=a.test(k.href))}return A}function f(k){return k==="file:"||k==="ftp:"||k==="http:"||k==="https:"||k==="ws:"||k==="wss:"}function l(k,w){k=c(k),k=k.replace(r,""),w=w||{};var v=i.exec(k),A=v[1]?v[1].toLowerCase():"",T=!!v[2],I=!!v[3],z=0,S;return T?I?(S=v[2]+v[3]+v[4],z=v[2].length+v[3].length):(S=v[2]+v[4],z=v[2].length):I?(S=v[3]+v[4],z=v[3].length):S=v[4],A==="file:"?z>=2&&(S=S.slice(2)):f(A)?S=v[4]:A?T&&(S=S.slice(2)):z>=2&&f(w.protocol)&&(S=v[4]),{protocol:A,slashes:T||f(A),slashesCount:z,rest:S}}function g(k,w){if(k==="")return w;for(var v=(w||"/").split("/").slice(0,-1).concat(k.split("/")),A=v.length,T=v[A-1],I=!1,z=0;A--;)v[A]==="."?v.splice(A,1):v[A]===".."?(v.splice(A,1),z++):z&&(A===0&&(I=!0),v.splice(A,1),z--);return I&&v.unshift(""),(T==="."||T==="..")&&v.push(""),v.join("/")}function b(k,w,v){if(k=c(k),k=k.replace(r,""),!(this instanceof b))return new b(k,w,v);var A,T,I,z,S,B,P=u.slice(),M=typeof w,D=this,R=0;for(M!=="object"&&M!=="string"&&(v=w,w=null),v&&typeof v!="function"&&(v=t.parse),w=h(w),T=l(k||"",w),A=!T.protocol&&!T.slashes,D.slashes=T.slashes||A&&w.slashes,D.protocol=T.protocol||w.protocol||"",k=T.rest,(T.protocol==="file:"&&(T.slashesCount!==2||s.test(k))||!T.slashes&&(T.protocol||T.slashesCount<2||!f(D.protocol)))&&(P[3]=[/(.*)/,"pathname"]);R<P.length;R++){if(z=P[R],typeof z=="function"){k=z(k,D);continue}I=z[0],B=z[1],I!==I?D[B]=k:typeof I=="string"?(S=I==="@"?k.lastIndexOf(I):k.indexOf(I),~S&&(typeof z[2]=="number"?(D[B]=k.slice(0,S),k=k.slice(S+z[2])):(D[B]=k.slice(S),k=k.slice(0,S)))):(S=I.exec(k))&&(D[B]=S[1],k=k.slice(0,S.index)),D[B]=D[B]||A&&z[3]&&w[B]||"",z[4]&&(D[B]=D[B].toLowerCase())}v&&(D.query=v(D.query)),A&&w.slashes&&D.pathname.charAt(0)!=="/"&&(D.pathname!==""||w.pathname!=="")&&(D.pathname=g(D.pathname,w.pathname)),D.pathname.charAt(0)!=="/"&&f(D.protocol)&&(D.pathname="/"+D.pathname),e(D.port,D.protocol)||(D.host=D.hostname,D.port=""),D.username=D.password="",D.auth&&(S=D.auth.indexOf(":"),~S?(D.username=D.auth.slice(0,S),D.username=encodeURIComponent(decodeURIComponent(D.username)),D.password=D.auth.slice(S+1),D.password=encodeURIComponent(decodeURIComponent(D.password))):D.username=encodeURIComponent(decodeURIComponent(D.auth)),D.auth=D.password?D.username+":"+D.password:D.username),D.origin=D.protocol!=="file:"&&f(D.protocol)&&D.host?D.protocol+"//"+D.host:"null",D.href=D.toString()}function y(k,w,v){var A=this;switch(k){case"query":typeof w=="string"&&w.length&&(w=(v||t.parse)(w)),A[k]=w;break;case"port":A[k]=w,e(w,A.protocol)?w&&(A.host=A.hostname+":"+w):(A.host=A.hostname,A[k]="");break;case"hostname":A[k]=w,A.port&&(w+=":"+A.port),A.host=w;break;case"host":A[k]=w,o.test(w)?(w=w.split(":"),A.port=w.pop(),A.hostname=w.join(":")):(A.hostname=w,A.port="");break;case"protocol":A.protocol=w.toLowerCase(),A.slashes=!v;break;case"pathname":case"hash":if(w){var T=k==="pathname"?"/":"#";A[k]=w.charAt(0)!==T?T+w:w}else A[k]=w;break;case"username":case"password":A[k]=encodeURIComponent(w);break;case"auth":var I=w.indexOf(":");~I?(A.username=w.slice(0,I),A.username=encodeURIComponent(decodeURIComponent(A.username)),A.password=w.slice(I+1),A.password=encodeURIComponent(decodeURIComponent(A.password))):A.username=encodeURIComponent(decodeURIComponent(w))}for(var z=0;z<u.length;z++){var S=u[z];S[4]&&(A[S[1]]=A[S[1]].toLowerCase())}return A.auth=A.password?A.username+":"+A.password:A.username,A.origin=A.protocol!=="file:"&&f(A.protocol)&&A.host?A.protocol+"//"+A.host:"null",A.href=A.toString(),A}function _(k){(!k||typeof k!="function")&&(k=t.stringify);var w,v=this,A=v.host,T=v.protocol;T&&T.charAt(T.length-1)!==":"&&(T+=":");var I=T+(v.protocol&&v.slashes||f(v.protocol)?"//":"");return v.username?(I+=v.username,v.password&&(I+=":"+v.password),I+="@"):v.password?(I+=":"+v.password,I+="@"):v.protocol!=="file:"&&f(v.protocol)&&!A&&v.pathname!=="/"&&(I+="@"),(A[A.length-1]===":"||o.test(v.hostname)&&!v.port)&&(A+=":"),I+=A+v.pathname,w=typeof v.query=="object"?k(v.query):v.query,w&&(I+=w.charAt(0)!=="?"?"?"+w:w),v.hash&&(I+=v.hash),I}return b.prototype={set:y,toString:_},b.extractProtocol=l,b.location=h,b.trimLeft=c,b.qs=t,Ic=b,Ic}var Cc={},Oc={},th;function ES(){return th||(th=1,(function(e){Object.defineProperties(e,{__esModule:{value:!0},[Symbol.toStringTag]:{value:"Module"}});function t(y){return y&&y.__esModule&&Object.prototype.hasOwnProperty.call(y,"default")?y.default:y}var n,r;function a(){if(r)return n;r=1;const y=2147483647,_=36,k=1,w=26,v=38,A=700,T=72,I=128,z="-",S=/^xn--/,B=/[^\0-\x7F]/,P=/[\x2E\u3002\uFF0E\uFF61]/g,M={overflow:"Overflow: input needs wider integers to process","not-basic":"Illegal input >= 0x80 (not a basic code point)","invalid-input":"Invalid input"},D=_-k,R=Math.floor,$=String.fromCharCode;function q(te){throw new RangeError(M[te])}function X(te,re){const oe=[];let ae=te.length;for(;ae--;)oe[ae]=re(te[ae]);return oe}function H(te,re){const oe=te.split("@");let ae="";oe.length>1&&(ae=oe[0]+"@",te=oe[1]),te=te.replace(P,".");const se=te.split("."),G=X(se,re).join(".");return ae+G}function C(te){const re=[];let oe=0;const ae=te.length;for(;oe<ae;){const se=te.charCodeAt(oe++);if(se>=55296&&se<=56319&&oe<ae){const G=te.charCodeAt(oe++);(G&64512)==56320?re.push(((se&1023)<<10)+(G&1023)+65536):(re.push(se),oe--)}else re.push(se)}return re}const V=te=>String.fromCodePoint(...te),W=function(te){return te>=48&&te<58?26+(te-48):te>=65&&te<91?te-65:te>=97&&te<123?te-97:_},U=function(te,re){return te+22+75*(te<26)-((re!=0)<<5)},K=function(te,re,oe){let ae=0;for(te=oe?R(te/A):te>>1,te+=R(te/re);te>D*w>>1;ae+=_)te=R(te/D);return R(ae+(D+1)*te/(te+v))},Y=function(te){const re=[],oe=te.length;let ae=0,se=I,G=T,N=te.lastIndexOf(z);N<0&&(N=0);for(let L=0;L<N;++L)te.charCodeAt(L)>=128&&q("not-basic"),re.push(te.charCodeAt(L));for(let L=N>0?N+1:0;L<oe;){const J=ae;for(let ce=1,fe=_;;fe+=_){L>=oe&&q("invalid-input");const ge=W(te.charCodeAt(L++));ge>=_&&q("invalid-input"),ge>R((y-ae)/ce)&&q("overflow"),ae+=ge*ce;const Q=fe<=G?k:fe>=G+w?w:fe-G;if(ge<Q)break;const ke=_-Q;ce>R(y/ke)&&q("overflow"),ce*=ke}const Z=re.length+1;G=K(ae-J,Z,J==0),R(ae/Z)>y-se&&q("overflow"),se+=R(ae/Z),ae%=Z,re.splice(ae++,0,se)}return String.fromCodePoint(...re)},de=function(te){const re=[];te=C(te);const oe=te.length;let ae=I,se=0,G=T;for(const J of te)J<128&&re.push($(J));const N=re.length;let L=N;for(N&&re.push(z);L<oe;){let J=y;for(const ce of te)ce>=ae&&ce<J&&(J=ce);const Z=L+1;J-ae>R((y-se)/Z)&&q("overflow"),se+=(J-ae)*Z,ae=J;for(const ce of te)if(ce<ae&&++se>y&&q("overflow"),ce===ae){let fe=se;for(let ge=_;;ge+=_){const Q=ge<=G?k:ge>=G+w?w:ge-G;if(fe<Q)break;const ke=fe-Q,me=_-Q;re.push($(U(Q+ke%me,0))),fe=R(ke/me)}re.push($(U(fe,0))),G=K(se,Z,L===N),se=0,++L}++se,++ae}return re.join("")};return n={version:"2.3.1",ucs2:{decode:C,encode:V},decode:Y,encode:de,toASCII:function(te){return H(te,function(re){return B.test(re)?"xn--"+de(re):re})},toUnicode:function(te){return H(te,function(re){return S.test(re)?Y(re.slice(4).toLowerCase()):re})}},n}var o=a();const i=t(o),s=["ac","com.ac","edu.ac","gov.ac","mil.ac","net.ac","org.ac","ad","ae","ac.ae","co.ae","gov.ae","mil.ae","net.ae","org.ae","sch.ae","aero","airline.aero","airport.aero","accident-investigation.aero","accident-prevention.aero","aerobatic.aero","aeroclub.aero","aerodrome.aero","agents.aero","air-surveillance.aero","air-traffic-control.aero","aircraft.aero","airtraffic.aero","ambulance.aero","association.aero","author.aero","ballooning.aero","broker.aero","caa.aero","cargo.aero","catering.aero","certification.aero","championship.aero","charter.aero","civilaviation.aero","club.aero","conference.aero","consultant.aero","consulting.aero","control.aero","council.aero","crew.aero","design.aero","dgca.aero","educator.aero","emergency.aero","engine.aero","engineer.aero","entertainment.aero","equipment.aero","exchange.aero","express.aero","federation.aero","flight.aero","freight.aero","fuel.aero","gliding.aero","government.aero","groundhandling.aero","group.aero","hanggliding.aero","homebuilt.aero","insurance.aero","journal.aero","journalist.aero","leasing.aero","logistics.aero","magazine.aero","maintenance.aero","marketplace.aero","media.aero","microlight.aero","modelling.aero","navigation.aero","parachuting.aero","paragliding.aero","passenger-association.aero","pilot.aero","press.aero","production.aero","recreation.aero","repbody.aero","res.aero","research.aero","rotorcraft.aero","safety.aero","scientist.aero","services.aero","show.aero","skydiving.aero","software.aero","student.aero","taxi.aero","trader.aero","trading.aero","trainer.aero","union.aero","workinggroup.aero","works.aero","af","com.af","edu.af","gov.af","net.af","org.af","ag","co.ag","com.ag","net.ag","nom.ag","org.ag","ai","com.ai","net.ai","off.ai","org.ai","al","com.al","edu.al","gov.al","mil.al","net.al","org.al","am","co.am","com.am","commune.am","net.am","org.am","ao","co.ao","ed.ao","edu.ao","gov.ao","gv.ao","it.ao","og.ao","org.ao","pb.ao","aq","ar","bet.ar","com.ar","coop.ar","edu.ar","gob.ar","gov.ar","int.ar","mil.ar","musica.ar","mutual.ar","net.ar","org.ar","senasa.ar","tur.ar","arpa","e164.arpa","home.arpa","in-addr.arpa","ip6.arpa","iris.arpa","uri.arpa","urn.arpa","as","gov.as","asia","at","ac.at","sth.ac.at","co.at","gv.at","or.at","au","asn.au","com.au","edu.au","gov.au","id.au","net.au","org.au","conf.au","oz.au","act.au","nsw.au","nt.au","qld.au","sa.au","tas.au","vic.au","wa.au","act.edu.au","catholic.edu.au","nsw.edu.au","nt.edu.au","qld.edu.au","sa.edu.au","tas.edu.au","vic.edu.au","wa.edu.au","qld.gov.au","sa.gov.au","tas.gov.au","vic.gov.au","wa.gov.au","schools.nsw.edu.au","aw","com.aw","ax","az","biz.az","com.az","edu.az","gov.az","info.az","int.az","mil.az","name.az","net.az","org.az","pp.az","pro.az","ba","com.ba","edu.ba","gov.ba","mil.ba","net.ba","org.ba","bb","biz.bb","co.bb","com.bb","edu.bb","gov.bb","info.bb","net.bb","org.bb","store.bb","tv.bb","*.bd","be","ac.be","bf","gov.bf","bg","0.bg","1.bg","2.bg","3.bg","4.bg","5.bg","6.bg","7.bg","8.bg","9.bg","a.bg","b.bg","c.bg","d.bg","e.bg","f.bg","g.bg","h.bg","i.bg","j.bg","k.bg","l.bg","m.bg","n.bg","o.bg","p.bg","q.bg","r.bg","s.bg","t.bg","u.bg","v.bg","w.bg","x.bg","y.bg","z.bg","bh","com.bh","edu.bh","gov.bh","net.bh","org.bh","bi","co.bi","com.bi","edu.bi","or.bi","org.bi","biz","bj","africa.bj","agro.bj","architectes.bj","assur.bj","avocats.bj","co.bj","com.bj","eco.bj","econo.bj","edu.bj","info.bj","loisirs.bj","money.bj","net.bj","org.bj","ote.bj","restaurant.bj","resto.bj","tourism.bj","univ.bj","bm","com.bm","edu.bm","gov.bm","net.bm","org.bm","bn","com.bn","edu.bn","gov.bn","net.bn","org.bn","bo","com.bo","edu.bo","gob.bo","int.bo","mil.bo","net.bo","org.bo","tv.bo","web.bo","academia.bo","agro.bo","arte.bo","blog.bo","bolivia.bo","ciencia.bo","cooperativa.bo","democracia.bo","deporte.bo","ecologia.bo","economia.bo","empresa.bo","indigena.bo","industria.bo","info.bo","medicina.bo","movimiento.bo","musica.bo","natural.bo","nombre.bo","noticias.bo","patria.bo","plurinacional.bo","politica.bo","profesional.bo","pueblo.bo","revista.bo","salud.bo","tecnologia.bo","tksat.bo","transporte.bo","wiki.bo","br","9guacu.br","abc.br","adm.br","adv.br","agr.br","aju.br","am.br","anani.br","aparecida.br","app.br","arq.br","art.br","ato.br","b.br","barueri.br","belem.br","bet.br","bhz.br","bib.br","bio.br","blog.br","bmd.br","boavista.br","bsb.br","campinagrande.br","campinas.br","caxias.br","cim.br","cng.br","cnt.br","com.br","contagem.br","coop.br","coz.br","cri.br","cuiaba.br","curitiba.br","def.br","des.br","det.br","dev.br","ecn.br","eco.br","edu.br","emp.br","enf.br","eng.br","esp.br","etc.br","eti.br","far.br","feira.br","flog.br","floripa.br","fm.br","fnd.br","fortal.br","fot.br","foz.br","fst.br","g12.br","geo.br","ggf.br","goiania.br","gov.br","ac.gov.br","al.gov.br","am.gov.br","ap.gov.br","ba.gov.br","ce.gov.br","df.gov.br","es.gov.br","go.gov.br","ma.gov.br","mg.gov.br","ms.gov.br","mt.gov.br","pa.gov.br","pb.gov.br","pe.gov.br","pi.gov.br","pr.gov.br","rj.gov.br","rn.gov.br","ro.gov.br","rr.gov.br","rs.gov.br","sc.gov.br","se.gov.br","sp.gov.br","to.gov.br","gru.br","imb.br","ind.br","inf.br","jab.br","jampa.br","jdf.br","joinville.br","jor.br","jus.br","leg.br","leilao.br","lel.br","log.br","londrina.br","macapa.br","maceio.br","manaus.br","maringa.br","mat.br","med.br","mil.br","morena.br","mp.br","mus.br","natal.br","net.br","niteroi.br","*.nom.br","not.br","ntr.br","odo.br","ong.br","org.br","osasco.br","palmas.br","poa.br","ppg.br","pro.br","psc.br","psi.br","pvh.br","qsl.br","radio.br","rec.br","recife.br","rep.br","ribeirao.br","rio.br","riobranco.br","riopreto.br","salvador.br","sampa.br","santamaria.br","santoandre.br","saobernardo.br","saogonca.br","seg.br","sjc.br","slg.br","slz.br","sorocaba.br","srv.br","taxi.br","tc.br","tec.br","teo.br","the.br","tmp.br","trd.br","tur.br","tv.br","udi.br","vet.br","vix.br","vlog.br","wiki.br","zlg.br","bs","com.bs","edu.bs","gov.bs","net.bs","org.bs","bt","com.bt","edu.bt","gov.bt","net.bt","org.bt","bv","bw","co.bw","org.bw","by","gov.by","mil.by","com.by","of.by","bz","co.bz","com.bz","edu.bz","gov.bz","net.bz","org.bz","ca","ab.ca","bc.ca","mb.ca","nb.ca","nf.ca","nl.ca","ns.ca","nt.ca","nu.ca","on.ca","pe.ca","qc.ca","sk.ca","yk.ca","gc.ca","cat","cc","cd","gov.cd","cf","cg","ch","ci","ac.ci","aéroport.ci","asso.ci","co.ci","com.ci","ed.ci","edu.ci","go.ci","gouv.ci","int.ci","net.ci","or.ci","org.ci","*.ck","!www.ck","cl","co.cl","gob.cl","gov.cl","mil.cl","cm","co.cm","com.cm","gov.cm","net.cm","cn","ac.cn","com.cn","edu.cn","gov.cn","mil.cn","net.cn","org.cn","公司.cn","網絡.cn","网络.cn","ah.cn","bj.cn","cq.cn","fj.cn","gd.cn","gs.cn","gx.cn","gz.cn","ha.cn","hb.cn","he.cn","hi.cn","hk.cn","hl.cn","hn.cn","jl.cn","js.cn","jx.cn","ln.cn","mo.cn","nm.cn","nx.cn","qh.cn","sc.cn","sd.cn","sh.cn","sn.cn","sx.cn","tj.cn","tw.cn","xj.cn","xz.cn","yn.cn","zj.cn","co","com.co","edu.co","gov.co","mil.co","net.co","nom.co","org.co","com","coop","cr","ac.cr","co.cr","ed.cr","fi.cr","go.cr","or.cr","sa.cr","cu","com.cu","edu.cu","gob.cu","inf.cu","nat.cu","net.cu","org.cu","cv","com.cv","edu.cv","id.cv","int.cv","net.cv","nome.cv","org.cv","publ.cv","cw","com.cw","edu.cw","net.cw","org.cw","cx","gov.cx","cy","ac.cy","biz.cy","com.cy","ekloges.cy","gov.cy","ltd.cy","mil.cy","net.cy","org.cy","press.cy","pro.cy","tm.cy","cz","de","dj","dk","dm","co.dm","com.dm","edu.dm","gov.dm","net.dm","org.dm","do","art.do","com.do","edu.do","gob.do","gov.do","mil.do","net.do","org.do","sld.do","web.do","dz","art.dz","asso.dz","com.dz","edu.dz","gov.dz","net.dz","org.dz","pol.dz","soc.dz","tm.dz","ec","com.ec","edu.ec","fin.ec","gob.ec","gov.ec","info.ec","k12.ec","med.ec","mil.ec","net.ec","org.ec","pro.ec","edu","ee","aip.ee","com.ee","edu.ee","fie.ee","gov.ee","lib.ee","med.ee","org.ee","pri.ee","riik.ee","eg","ac.eg","com.eg","edu.eg","eun.eg","gov.eg","info.eg","me.eg","mil.eg","name.eg","net.eg","org.eg","sci.eg","sport.eg","tv.eg","*.er","es","com.es","edu.es","gob.es","nom.es","org.es","et","biz.et","com.et","edu.et","gov.et","info.et","name.et","net.et","org.et","eu","fi","aland.fi","fj","ac.fj","biz.fj","com.fj","gov.fj","info.fj","mil.fj","name.fj","net.fj","org.fj","pro.fj","*.fk","fm","com.fm","edu.fm","net.fm","org.fm","fo","fr","asso.fr","com.fr","gouv.fr","nom.fr","prd.fr","tm.fr","avoues.fr","cci.fr","greta.fr","huissier-justice.fr","ga","gb","gd","edu.gd","gov.gd","ge","com.ge","edu.ge","gov.ge","net.ge","org.ge","pvt.ge","school.ge","gf","gg","co.gg","net.gg","org.gg","gh","com.gh","edu.gh","gov.gh","mil.gh","org.gh","gi","com.gi","edu.gi","gov.gi","ltd.gi","mod.gi","org.gi","gl","co.gl","com.gl","edu.gl","net.gl","org.gl","gm","gn","ac.gn","com.gn","edu.gn","gov.gn","net.gn","org.gn","gov","gp","asso.gp","com.gp","edu.gp","mobi.gp","net.gp","org.gp","gq","gr","com.gr","edu.gr","gov.gr","net.gr","org.gr","gs","gt","com.gt","edu.gt","gob.gt","ind.gt","mil.gt","net.gt","org.gt","gu","com.gu","edu.gu","gov.gu","guam.gu","info.gu","net.gu","org.gu","web.gu","gw","gy","co.gy","com.gy","edu.gy","gov.gy","net.gy","org.gy","hk","com.hk","edu.hk","gov.hk","idv.hk","net.hk","org.hk","个人.hk","個人.hk","公司.hk","政府.hk","敎育.hk","教育.hk","箇人.hk","組織.hk","組织.hk","網絡.hk","網络.hk","组織.hk","组织.hk","网絡.hk","网络.hk","hm","hn","com.hn","edu.hn","gob.hn","mil.hn","net.hn","org.hn","hr","com.hr","from.hr","iz.hr","name.hr","ht","adult.ht","art.ht","asso.ht","com.ht","coop.ht","edu.ht","firm.ht","gouv.ht","info.ht","med.ht","net.ht","org.ht","perso.ht","pol.ht","pro.ht","rel.ht","shop.ht","hu","2000.hu","agrar.hu","bolt.hu","casino.hu","city.hu","co.hu","erotica.hu","erotika.hu","film.hu","forum.hu","games.hu","hotel.hu","info.hu","ingatlan.hu","jogasz.hu","konyvelo.hu","lakas.hu","media.hu","news.hu","org.hu","priv.hu","reklam.hu","sex.hu","shop.hu","sport.hu","suli.hu","szex.hu","tm.hu","tozsde.hu","utazas.hu","video.hu","id","ac.id","biz.id","co.id","desa.id","go.id","mil.id","my.id","net.id","or.id","ponpes.id","sch.id","web.id","ie","gov.ie","il","ac.il","co.il","gov.il","idf.il","k12.il","muni.il","net.il","org.il","ישראל","אקדמיה.ישראל","ישוב.ישראל","צהל.ישראל","ממשל.ישראל","im","ac.im","co.im","ltd.co.im","plc.co.im","com.im","net.im","org.im","tt.im","tv.im","in","5g.in","6g.in","ac.in","ai.in","am.in","bihar.in","biz.in","business.in","ca.in","cn.in","co.in","com.in","coop.in","cs.in","delhi.in","dr.in","edu.in","er.in","firm.in","gen.in","gov.in","gujarat.in","ind.in","info.in","int.in","internet.in","io.in","me.in","mil.in","net.in","nic.in","org.in","pg.in","post.in","pro.in","res.in","travel.in","tv.in","uk.in","up.in","us.in","info","int","eu.int","io","co.io","com.io","edu.io","gov.io","mil.io","net.io","nom.io","org.io","iq","com.iq","edu.iq","gov.iq","mil.iq","net.iq","org.iq","ir","ac.ir","co.ir","gov.ir","id.ir","net.ir","org.ir","sch.ir","ایران.ir","ايران.ir","is","it","edu.it","gov.it","abr.it","abruzzo.it","aosta-valley.it","aostavalley.it","bas.it","basilicata.it","cal.it","calabria.it","cam.it","campania.it","emilia-romagna.it","emiliaromagna.it","emr.it","friuli-v-giulia.it","friuli-ve-giulia.it","friuli-vegiulia.it","friuli-venezia-giulia.it","friuli-veneziagiulia.it","friuli-vgiulia.it","friuliv-giulia.it","friulive-giulia.it","friulivegiulia.it","friulivenezia-giulia.it","friuliveneziagiulia.it","friulivgiulia.it","fvg.it","laz.it","lazio.it","lig.it","liguria.it","lom.it","lombardia.it","lombardy.it","lucania.it","mar.it","marche.it","mol.it","molise.it","piedmont.it","piemonte.it","pmn.it","pug.it","puglia.it","sar.it","sardegna.it","sardinia.it","sic.it","sicilia.it","sicily.it","taa.it","tos.it","toscana.it","trentin-sud-tirol.it","trentin-süd-tirol.it","trentin-sudtirol.it","trentin-südtirol.it","trentin-sued-tirol.it","trentin-suedtirol.it","trentino.it","trentino-a-adige.it","trentino-aadige.it","trentino-alto-adige.it","trentino-altoadige.it","trentino-s-tirol.it","trentino-stirol.it","trentino-sud-tirol.it","trentino-süd-tirol.it","trentino-sudtirol.it","trentino-südtirol.it","trentino-sued-tirol.it","trentino-suedtirol.it","trentinoa-adige.it","trentinoaadige.it","trentinoalto-adige.it","trentinoaltoadige.it","trentinos-tirol.it","trentinostirol.it","trentinosud-tirol.it","trentinosüd-tirol.it","trentinosudtirol.it","trentinosüdtirol.it","trentinosued-tirol.it","trentinosuedtirol.it","trentinsud-tirol.it","trentinsüd-tirol.it","trentinsudtirol.it","trentinsüdtirol.it","trentinsued-tirol.it","trentinsuedtirol.it","tuscany.it","umb.it","umbria.it","val-d-aosta.it","val-daosta.it","vald-aosta.it","valdaosta.it","valle-aosta.it","valle-d-aosta.it","valle-daosta.it","valleaosta.it","valled-aosta.it","valledaosta.it","vallee-aoste.it","vallée-aoste.it","vallee-d-aoste.it","vallée-d-aoste.it","valleeaoste.it","valléeaoste.it","valleedaoste.it","valléedaoste.it","vao.it","vda.it","ven.it","veneto.it","ag.it","agrigento.it","al.it","alessandria.it","alto-adige.it","altoadige.it","an.it","ancona.it","andria-barletta-trani.it","andria-trani-barletta.it","andriabarlettatrani.it","andriatranibarletta.it","ao.it","aosta.it","aoste.it","ap.it","aq.it","aquila.it","ar.it","arezzo.it","ascoli-piceno.it","ascolipiceno.it","asti.it","at.it","av.it","avellino.it","ba.it","balsan.it","balsan-sudtirol.it","balsan-südtirol.it","balsan-suedtirol.it","bari.it","barletta-trani-andria.it","barlettatraniandria.it","belluno.it","benevento.it","bergamo.it","bg.it","bi.it","biella.it","bl.it","bn.it","bo.it","bologna.it","bolzano.it","bolzano-altoadige.it","bozen.it","bozen-sudtirol.it","bozen-südtirol.it","bozen-suedtirol.it","br.it","brescia.it","brindisi.it","bs.it","bt.it","bulsan.it","bulsan-sudtirol.it","bulsan-südtirol.it","bulsan-suedtirol.it","bz.it","ca.it","cagliari.it","caltanissetta.it","campidano-medio.it","campidanomedio.it","campobasso.it","carbonia-iglesias.it","carboniaiglesias.it","carrara-massa.it","carraramassa.it","caserta.it","catania.it","catanzaro.it","cb.it","ce.it","cesena-forli.it","cesena-forlì.it","cesenaforli.it","cesenaforlì.it","ch.it","chieti.it","ci.it","cl.it","cn.it","co.it","como.it","cosenza.it","cr.it","cremona.it","crotone.it","cs.it","ct.it","cuneo.it","cz.it","dell-ogliastra.it","dellogliastra.it","en.it","enna.it","fc.it","fe.it","fermo.it","ferrara.it","fg.it","fi.it","firenze.it","florence.it","fm.it","foggia.it","forli-cesena.it","forlì-cesena.it","forlicesena.it","forlìcesena.it","fr.it","frosinone.it","ge.it","genoa.it","genova.it","go.it","gorizia.it","gr.it","grosseto.it","iglesias-carbonia.it","iglesiascarbonia.it","im.it","imperia.it","is.it","isernia.it","kr.it","la-spezia.it","laquila.it","laspezia.it","latina.it","lc.it","le.it","lecce.it","lecco.it","li.it","livorno.it","lo.it","lodi.it","lt.it","lu.it","lucca.it","macerata.it","mantova.it","massa-carrara.it","massacarrara.it","matera.it","mb.it","mc.it","me.it","medio-campidano.it","mediocampidano.it","messina.it","mi.it","milan.it","milano.it","mn.it","mo.it","modena.it","monza.it","monza-brianza.it","monza-e-della-brianza.it","monzabrianza.it","monzaebrianza.it","monzaedellabrianza.it","ms.it","mt.it","na.it","naples.it","napoli.it","no.it","novara.it","nu.it","nuoro.it","og.it","ogliastra.it","olbia-tempio.it","olbiatempio.it","or.it","oristano.it","ot.it","pa.it","padova.it","padua.it","palermo.it","parma.it","pavia.it","pc.it","pd.it","pe.it","perugia.it","pesaro-urbino.it","pesarourbino.it","pescara.it","pg.it","pi.it","piacenza.it","pisa.it","pistoia.it","pn.it","po.it","pordenone.it","potenza.it","pr.it","prato.it","pt.it","pu.it","pv.it","pz.it","ra.it","ragusa.it","ravenna.it","rc.it","re.it","reggio-calabria.it","reggio-emilia.it","reggiocalabria.it","reggioemilia.it","rg.it","ri.it","rieti.it","rimini.it","rm.it","rn.it","ro.it","roma.it","rome.it","rovigo.it","sa.it","salerno.it","sassari.it","savona.it","si.it","siena.it","siracusa.it","so.it","sondrio.it","sp.it","sr.it","ss.it","südtirol.it","suedtirol.it","sv.it","ta.it","taranto.it","te.it","tempio-olbia.it","tempioolbia.it","teramo.it","terni.it","tn.it","to.it","torino.it","tp.it","tr.it","trani-andria-barletta.it","trani-barletta-andria.it","traniandriabarletta.it","tranibarlettaandria.it","trapani.it","trento.it","treviso.it","trieste.it","ts.it","turin.it","tv.it","ud.it","udine.it","urbino-pesaro.it","urbinopesaro.it","va.it","varese.it","vb.it","vc.it","ve.it","venezia.it","venice.it","verbania.it","vercelli.it","verona.it","vi.it","vibo-valentia.it","vibovalentia.it","vicenza.it","viterbo.it","vr.it","vs.it","vt.it","vv.it","je","co.je","net.je","org.je","*.jm","jo","agri.jo","ai.jo","com.jo","edu.jo","eng.jo","fm.jo","gov.jo","mil.jo","net.jo","org.jo","per.jo","phd.jo","sch.jo","tv.jo","jobs","jp","ac.jp","ad.jp","co.jp","ed.jp","go.jp","gr.jp","lg.jp","ne.jp","or.jp","aichi.jp","akita.jp","aomori.jp","chiba.jp","ehime.jp","fukui.jp","fukuoka.jp","fukushima.jp","gifu.jp","gunma.jp","hiroshima.jp","hokkaido.jp","hyogo.jp","ibaraki.jp","ishikawa.jp","iwate.jp","kagawa.jp","kagoshima.jp","kanagawa.jp","kochi.jp","kumamoto.jp","kyoto.jp","mie.jp","miyagi.jp","miyazaki.jp","nagano.jp","nagasaki.jp","nara.jp","niigata.jp","oita.jp","okayama.jp","okinawa.jp","osaka.jp","saga.jp","saitama.jp","shiga.jp","shimane.jp","shizuoka.jp","tochigi.jp","tokushima.jp","tokyo.jp","tottori.jp","toyama.jp","wakayama.jp","yamagata.jp","yamaguchi.jp","yamanashi.jp","三重.jp","京都.jp","佐賀.jp","兵庫.jp","北海道.jp","千葉.jp","和歌山.jp","埼玉.jp","大分.jp","大阪.jp","奈良.jp","宮城.jp","宮崎.jp","富山.jp","山口.jp","山形.jp","山梨.jp","岐阜.jp","岡山.jp","岩手.jp","島根.jp","広島.jp","徳島.jp","愛媛.jp","愛知.jp","新潟.jp","東京.jp","栃木.jp","沖縄.jp","滋賀.jp","熊本.jp","石川.jp","神奈川.jp","福井.jp","福岡.jp","福島.jp","秋田.jp","群馬.jp","茨城.jp","長崎.jp","長野.jp","青森.jp","静岡.jp","香川.jp","高知.jp","鳥取.jp","鹿児島.jp","*.kawasaki.jp","!city.kawasaki.jp","*.kitakyushu.jp","!city.kitakyushu.jp","*.kobe.jp","!city.kobe.jp","*.nagoya.jp","!city.nagoya.jp","*.sapporo.jp","!city.sapporo.jp","*.sendai.jp","!city.sendai.jp","*.yokohama.jp","!city.yokohama.jp","aisai.aichi.jp","ama.aichi.jp","anjo.aichi.jp","asuke.aichi.jp","chiryu.aichi.jp","chita.aichi.jp","fuso.aichi.jp","gamagori.aichi.jp","handa.aichi.jp","hazu.aichi.jp","hekinan.aichi.jp","higashiura.aichi.jp","ichinomiya.aichi.jp","inazawa.aichi.jp","inuyama.aichi.jp","isshiki.aichi.jp","iwakura.aichi.jp","kanie.aichi.jp","kariya.aichi.jp","kasugai.aichi.jp","kira.aichi.jp","kiyosu.aichi.jp","komaki.aichi.jp","konan.aichi.jp","kota.aichi.jp","mihama.aichi.jp","miyoshi.aichi.jp","nishio.aichi.jp","nisshin.aichi.jp","obu.aichi.jp","oguchi.aichi.jp","oharu.aichi.jp","okazaki.aichi.jp","owariasahi.aichi.jp","seto.aichi.jp","shikatsu.aichi.jp","shinshiro.aichi.jp","shitara.aichi.jp","tahara.aichi.jp","takahama.aichi.jp","tobishima.aichi.jp","toei.aichi.jp","togo.aichi.jp","tokai.aichi.jp","tokoname.aichi.jp","toyoake.aichi.jp","toyohashi.aichi.jp","toyokawa.aichi.jp","toyone.aichi.jp","toyota.aichi.jp","tsushima.aichi.jp","yatomi.aichi.jp","akita.akita.jp","daisen.akita.jp","fujisato.akita.jp","gojome.akita.jp","hachirogata.akita.jp","happou.akita.jp","higashinaruse.akita.jp","honjo.akita.jp","honjyo.akita.jp","ikawa.akita.jp","kamikoani.akita.jp","kamioka.akita.jp","katagami.akita.jp","kazuno.akita.jp","kitaakita.akita.jp","kosaka.akita.jp","kyowa.akita.jp","misato.akita.jp","mitane.akita.jp","moriyoshi.akita.jp","nikaho.akita.jp","noshiro.akita.jp","odate.akita.jp","oga.akita.jp","ogata.akita.jp","semboku.akita.jp","yokote.akita.jp","yurihonjo.akita.jp","aomori.aomori.jp","gonohe.aomori.jp","hachinohe.aomori.jp","hashikami.aomori.jp","hiranai.aomori.jp","hirosaki.aomori.jp","itayanagi.aomori.jp","kuroishi.aomori.jp","misawa.aomori.jp","mutsu.aomori.jp","nakadomari.aomori.jp","noheji.aomori.jp","oirase.aomori.jp","owani.aomori.jp","rokunohe.aomori.jp","sannohe.aomori.jp","shichinohe.aomori.jp","shingo.aomori.jp","takko.aomori.jp","towada.aomori.jp","tsugaru.aomori.jp","tsuruta.aomori.jp","abiko.chiba.jp","asahi.chiba.jp","chonan.chiba.jp","chosei.chiba.jp","choshi.chiba.jp","chuo.chiba.jp","funabashi.chiba.jp","futtsu.chiba.jp","hanamigawa.chiba.jp","ichihara.chiba.jp","ichikawa.chiba.jp","ichinomiya.chiba.jp","inzai.chiba.jp","isumi.chiba.jp","kamagaya.chiba.jp","kamogawa.chiba.jp","kashiwa.chiba.jp","katori.chiba.jp","katsuura.chiba.jp","kimitsu.chiba.jp","kisarazu.chiba.jp","kozaki.chiba.jp","kujukuri.chiba.jp","kyonan.chiba.jp","matsudo.chiba.jp","midori.chiba.jp","mihama.chiba.jp","minamiboso.chiba.jp","mobara.chiba.jp","mutsuzawa.chiba.jp","nagara.chiba.jp","nagareyama.chiba.jp","narashino.chiba.jp","narita.chiba.jp","noda.chiba.jp","oamishirasato.chiba.jp","omigawa.chiba.jp","onjuku.chiba.jp","otaki.chiba.jp","sakae.chiba.jp","sakura.chiba.jp","shimofusa.chiba.jp","shirako.chiba.jp","shiroi.chiba.jp","shisui.chiba.jp","sodegaura.chiba.jp","sosa.chiba.jp","tako.chiba.jp","tateyama.chiba.jp","togane.chiba.jp","tohnosho.chiba.jp","tomisato.chiba.jp","urayasu.chiba.jp","yachimata.chiba.jp","yachiyo.chiba.jp","yokaichiba.chiba.jp","yokoshibahikari.chiba.jp","yotsukaido.chiba.jp","ainan.ehime.jp","honai.ehime.jp","ikata.ehime.jp","imabari.ehime.jp","iyo.ehime.jp","kamijima.ehime.jp","kihoku.ehime.jp","kumakogen.ehime.jp","masaki.ehime.jp","matsuno.ehime.jp","matsuyama.ehime.jp","namikata.ehime.jp","niihama.ehime.jp","ozu.ehime.jp","saijo.ehime.jp","seiyo.ehime.jp","shikokuchuo.ehime.jp","tobe.ehime.jp","toon.ehime.jp","uchiko.ehime.jp","uwajima.ehime.jp","yawatahama.ehime.jp","echizen.fukui.jp","eiheiji.fukui.jp","fukui.fukui.jp","ikeda.fukui.jp","katsuyama.fukui.jp","mihama.fukui.jp","minamiechizen.fukui.jp","obama.fukui.jp","ohi.fukui.jp","ono.fukui.jp","sabae.fukui.jp","sakai.fukui.jp","takahama.fukui.jp","tsuruga.fukui.jp","wakasa.fukui.jp","ashiya.fukuoka.jp","buzen.fukuoka.jp","chikugo.fukuoka.jp","chikuho.fukuoka.jp","chikujo.fukuoka.jp","chikushino.fukuoka.jp","chikuzen.fukuoka.jp","chuo.fukuoka.jp","dazaifu.fukuoka.jp","fukuchi.fukuoka.jp","hakata.fukuoka.jp","higashi.fukuoka.jp","hirokawa.fukuoka.jp","hisayama.fukuoka.jp","iizuka.fukuoka.jp","inatsuki.fukuoka.jp","kaho.fukuoka.jp","kasuga.fukuoka.jp","kasuya.fukuoka.jp","kawara.fukuoka.jp","keisen.fukuoka.jp","koga.fukuoka.jp","kurate.fukuoka.jp","kurogi.fukuoka.jp","kurume.fukuoka.jp","minami.fukuoka.jp","miyako.fukuoka.jp","miyama.fukuoka.jp","miyawaka.fukuoka.jp","mizumaki.fukuoka.jp","munakata.fukuoka.jp","nakagawa.fukuoka.jp","nakama.fukuoka.jp","nishi.fukuoka.jp","nogata.fukuoka.jp","ogori.fukuoka.jp","okagaki.fukuoka.jp","okawa.fukuoka.jp","oki.fukuoka.jp","omuta.fukuoka.jp","onga.fukuoka.jp","onojo.fukuoka.jp","oto.fukuoka.jp","saigawa.fukuoka.jp","sasaguri.fukuoka.jp","shingu.fukuoka.jp","shinyoshitomi.fukuoka.jp","shonai.fukuoka.jp","soeda.fukuoka.jp","sue.fukuoka.jp","tachiarai.fukuoka.jp","tagawa.fukuoka.jp","takata.fukuoka.jp","toho.fukuoka.jp","toyotsu.fukuoka.jp","tsuiki.fukuoka.jp","ukiha.fukuoka.jp","umi.fukuoka.jp","usui.fukuoka.jp","yamada.fukuoka.jp","yame.fukuoka.jp","yanagawa.fukuoka.jp","yukuhashi.fukuoka.jp","aizubange.fukushima.jp","aizumisato.fukushima.jp","aizuwakamatsu.fukushima.jp","asakawa.fukushima.jp","bandai.fukushima.jp","date.fukushima.jp","fukushima.fukushima.jp","furudono.fukushima.jp","futaba.fukushima.jp","hanawa.fukushima.jp","higashi.fukushima.jp","hirata.fukushima.jp","hirono.fukushima.jp","iitate.fukushima.jp","inawashiro.fukushima.jp","ishikawa.fukushima.jp","iwaki.fukushima.jp","izumizaki.fukushima.jp","kagamiishi.fukushima.jp","kaneyama.fukushima.jp","kawamata.fukushima.jp","kitakata.fukushima.jp","kitashiobara.fukushima.jp","koori.fukushima.jp","koriyama.fukushima.jp","kunimi.fukushima.jp","miharu.fukushima.jp","mishima.fukushima.jp","namie.fukushima.jp","nango.fukushima.jp","nishiaizu.fukushima.jp","nishigo.fukushima.jp","okuma.fukushima.jp","omotego.fukushima.jp","ono.fukushima.jp","otama.fukushima.jp","samegawa.fukushima.jp","shimogo.fukushima.jp","shirakawa.fukushima.jp","showa.fukushima.jp","soma.fukushima.jp","sukagawa.fukushima.jp","taishin.fukushima.jp","tamakawa.fukushima.jp","tanagura.fukushima.jp","tenei.fukushima.jp","yabuki.fukushima.jp","yamato.fukushima.jp","yamatsuri.fukushima.jp","yanaizu.fukushima.jp","yugawa.fukushima.jp","anpachi.gifu.jp","ena.gifu.jp","gifu.gifu.jp","ginan.gifu.jp","godo.gifu.jp","gujo.gifu.jp","hashima.gifu.jp","hichiso.gifu.jp","hida.gifu.jp","higashishirakawa.gifu.jp","ibigawa.gifu.jp","ikeda.gifu.jp","kakamigahara.gifu.jp","kani.gifu.jp","kasahara.gifu.jp","kasamatsu.gifu.jp","kawaue.gifu.jp","kitagata.gifu.jp","mino.gifu.jp","minokamo.gifu.jp","mitake.gifu.jp","mizunami.gifu.jp","motosu.gifu.jp","nakatsugawa.gifu.jp","ogaki.gifu.jp","sakahogi.gifu.jp","seki.gifu.jp","sekigahara.gifu.jp","shirakawa.gifu.jp","tajimi.gifu.jp","takayama.gifu.jp","tarui.gifu.jp","toki.gifu.jp","tomika.gifu.jp","wanouchi.gifu.jp","yamagata.gifu.jp","yaotsu.gifu.jp","yoro.gifu.jp","annaka.gunma.jp","chiyoda.gunma.jp","fujioka.gunma.jp","higashiagatsuma.gunma.jp","isesaki.gunma.jp","itakura.gunma.jp","kanna.gunma.jp","kanra.gunma.jp","katashina.gunma.jp","kawaba.gunma.jp","kiryu.gunma.jp","kusatsu.gunma.jp","maebashi.gunma.jp","meiwa.gunma.jp","midori.gunma.jp","minakami.gunma.jp","naganohara.gunma.jp","nakanojo.gunma.jp","nanmoku.gunma.jp","numata.gunma.jp","oizumi.gunma.jp","ora.gunma.jp","ota.gunma.jp","shibukawa.gunma.jp","shimonita.gunma.jp","shinto.gunma.jp","showa.gunma.jp","takasaki.gunma.jp","takayama.gunma.jp","tamamura.gunma.jp","tatebayashi.gunma.jp","tomioka.gunma.jp","tsukiyono.gunma.jp","tsumagoi.gunma.jp","ueno.gunma.jp","yoshioka.gunma.jp","asaminami.hiroshima.jp","daiwa.hiroshima.jp","etajima.hiroshima.jp","fuchu.hiroshima.jp","fukuyama.hiroshima.jp","hatsukaichi.hiroshima.jp","higashihiroshima.hiroshima.jp","hongo.hiroshima.jp","jinsekikogen.hiroshima.jp","kaita.hiroshima.jp","kui.hiroshima.jp","kumano.hiroshima.jp","kure.hiroshima.jp","mihara.hiroshima.jp","miyoshi.hiroshima.jp","naka.hiroshima.jp","onomichi.hiroshima.jp","osakikamijima.hiroshima.jp","otake.hiroshima.jp","saka.hiroshima.jp","sera.hiroshima.jp","seranishi.hiroshima.jp","shinichi.hiroshima.jp","shobara.hiroshima.jp","takehara.hiroshima.jp","abashiri.hokkaido.jp","abira.hokkaido.jp","aibetsu.hokkaido.jp","akabira.hokkaido.jp","akkeshi.hokkaido.jp","asahikawa.hokkaido.jp","ashibetsu.hokkaido.jp","ashoro.hokkaido.jp","assabu.hokkaido.jp","atsuma.hokkaido.jp","bibai.hokkaido.jp","biei.hokkaido.jp","bifuka.hokkaido.jp","bihoro.hokkaido.jp","biratori.hokkaido.jp","chippubetsu.hokkaido.jp","chitose.hokkaido.jp","date.hokkaido.jp","ebetsu.hokkaido.jp","embetsu.hokkaido.jp","eniwa.hokkaido.jp","erimo.hokkaido.jp","esan.hokkaido.jp","esashi.hokkaido.jp","fukagawa.hokkaido.jp","fukushima.hokkaido.jp","furano.hokkaido.jp","furubira.hokkaido.jp","haboro.hokkaido.jp","hakodate.hokkaido.jp","hamatonbetsu.hokkaido.jp","hidaka.hokkaido.jp","higashikagura.hokkaido.jp","higashikawa.hokkaido.jp","hiroo.hokkaido.jp","hokuryu.hokkaido.jp","hokuto.hokkaido.jp","honbetsu.hokkaido.jp","horokanai.hokkaido.jp","horonobe.hokkaido.jp","ikeda.hokkaido.jp","imakane.hokkaido.jp","ishikari.hokkaido.jp","iwamizawa.hokkaido.jp","iwanai.hokkaido.jp","kamifurano.hokkaido.jp","kamikawa.hokkaido.jp","kamishihoro.hokkaido.jp","kamisunagawa.hokkaido.jp","kamoenai.hokkaido.jp","kayabe.hokkaido.jp","kembuchi.hokkaido.jp","kikonai.hokkaido.jp","kimobetsu.hokkaido.jp","kitahiroshima.hokkaido.jp","kitami.hokkaido.jp","kiyosato.hokkaido.jp","koshimizu.hokkaido.jp","kunneppu.hokkaido.jp","kuriyama.hokkaido.jp","kuromatsunai.hokkaido.jp","kushiro.hokkaido.jp","kutchan.hokkaido.jp","kyowa.hokkaido.jp","mashike.hokkaido.jp","matsumae.hokkaido.jp","mikasa.hokkaido.jp","minamifurano.hokkaido.jp","mombetsu.hokkaido.jp","moseushi.hokkaido.jp","mukawa.hokkaido.jp","muroran.hokkaido.jp","naie.hokkaido.jp","nakagawa.hokkaido.jp","nakasatsunai.hokkaido.jp","nakatombetsu.hokkaido.jp","nanae.hokkaido.jp","nanporo.hokkaido.jp","nayoro.hokkaido.jp","nemuro.hokkaido.jp","niikappu.hokkaido.jp","niki.hokkaido.jp","nishiokoppe.hokkaido.jp","noboribetsu.hokkaido.jp","numata.hokkaido.jp","obihiro.hokkaido.jp","obira.hokkaido.jp","oketo.hokkaido.jp","okoppe.hokkaido.jp","otaru.hokkaido.jp","otobe.hokkaido.jp","otofuke.hokkaido.jp","otoineppu.hokkaido.jp","oumu.hokkaido.jp","ozora.hokkaido.jp","pippu.hokkaido.jp","rankoshi.hokkaido.jp","rebun.hokkaido.jp","rikubetsu.hokkaido.jp","rishiri.hokkaido.jp","rishirifuji.hokkaido.jp","saroma.hokkaido.jp","sarufutsu.hokkaido.jp","shakotan.hokkaido.jp","shari.hokkaido.jp","shibecha.hokkaido.jp","shibetsu.hokkaido.jp","shikabe.hokkaido.jp","shikaoi.hokkaido.jp","shimamaki.hokkaido.jp","shimizu.hokkaido.jp","shimokawa.hokkaido.jp","shinshinotsu.hokkaido.jp","shintoku.hokkaido.jp","shiranuka.hokkaido.jp","shiraoi.hokkaido.jp","shiriuchi.hokkaido.jp","sobetsu.hokkaido.jp","sunagawa.hokkaido.jp","taiki.hokkaido.jp","takasu.hokkaido.jp","takikawa.hokkaido.jp","takinoue.hokkaido.jp","teshikaga.hokkaido.jp","tobetsu.hokkaido.jp","tohma.hokkaido.jp","tomakomai.hokkaido.jp","tomari.hokkaido.jp","toya.hokkaido.jp","toyako.hokkaido.jp","toyotomi.hokkaido.jp","toyoura.hokkaido.jp","tsubetsu.hokkaido.jp","tsukigata.hokkaido.jp","urakawa.hokkaido.jp","urausu.hokkaido.jp","uryu.hokkaido.jp","utashinai.hokkaido.jp","wakkanai.hokkaido.jp","wassamu.hokkaido.jp","yakumo.hokkaido.jp","yoichi.hokkaido.jp","aioi.hyogo.jp","akashi.hyogo.jp","ako.hyogo.jp","amagasaki.hyogo.jp","aogaki.hyogo.jp","asago.hyogo.jp","ashiya.hyogo.jp","awaji.hyogo.jp","fukusaki.hyogo.jp","goshiki.hyogo.jp","harima.hyogo.jp","himeji.hyogo.jp","ichikawa.hyogo.jp","inagawa.hyogo.jp","itami.hyogo.jp","kakogawa.hyogo.jp","kamigori.hyogo.jp","kamikawa.hyogo.jp","kasai.hyogo.jp","kasuga.hyogo.jp","kawanishi.hyogo.jp","miki.hyogo.jp","minamiawaji.hyogo.jp","nishinomiya.hyogo.jp","nishiwaki.hyogo.jp","ono.hyogo.jp","sanda.hyogo.jp","sannan.hyogo.jp","sasayama.hyogo.jp","sayo.hyogo.jp","shingu.hyogo.jp","shinonsen.hyogo.jp","shiso.hyogo.jp","sumoto.hyogo.jp","taishi.hyogo.jp","taka.hyogo.jp","takarazuka.hyogo.jp","takasago.hyogo.jp","takino.hyogo.jp","tamba.hyogo.jp","tatsuno.hyogo.jp","toyooka.hyogo.jp","yabu.hyogo.jp","yashiro.hyogo.jp","yoka.hyogo.jp","yokawa.hyogo.jp","ami.ibaraki.jp","asahi.ibaraki.jp","bando.ibaraki.jp","chikusei.ibaraki.jp","daigo.ibaraki.jp","fujishiro.ibaraki.jp","hitachi.ibaraki.jp","hitachinaka.ibaraki.jp","hitachiomiya.ibaraki.jp","hitachiota.ibaraki.jp","ibaraki.ibaraki.jp","ina.ibaraki.jp","inashiki.ibaraki.jp","itako.ibaraki.jp","iwama.ibaraki.jp","joso.ibaraki.jp","kamisu.ibaraki.jp","kasama.ibaraki.jp","kashima.ibaraki.jp","kasumigaura.ibaraki.jp","koga.ibaraki.jp","miho.ibaraki.jp","mito.ibaraki.jp","moriya.ibaraki.jp","naka.ibaraki.jp","namegata.ibaraki.jp","oarai.ibaraki.jp","ogawa.ibaraki.jp","omitama.ibaraki.jp","ryugasaki.ibaraki.jp","sakai.ibaraki.jp","sakuragawa.ibaraki.jp","shimodate.ibaraki.jp","shimotsuma.ibaraki.jp","shirosato.ibaraki.jp","sowa.ibaraki.jp","suifu.ibaraki.jp","takahagi.ibaraki.jp","tamatsukuri.ibaraki.jp","tokai.ibaraki.jp","tomobe.ibaraki.jp","tone.ibaraki.jp","toride.ibaraki.jp","tsuchiura.ibaraki.jp","tsukuba.ibaraki.jp","uchihara.ibaraki.jp","ushiku.ibaraki.jp","yachiyo.ibaraki.jp","yamagata.ibaraki.jp","yawara.ibaraki.jp","yuki.ibaraki.jp","anamizu.ishikawa.jp","hakui.ishikawa.jp","hakusan.ishikawa.jp","kaga.ishikawa.jp","kahoku.ishikawa.jp","kanazawa.ishikawa.jp","kawakita.ishikawa.jp","komatsu.ishikawa.jp","nakanoto.ishikawa.jp","nanao.ishikawa.jp","nomi.ishikawa.jp","nonoichi.ishikawa.jp","noto.ishikawa.jp","shika.ishikawa.jp","suzu.ishikawa.jp","tsubata.ishikawa.jp","tsurugi.ishikawa.jp","uchinada.ishikawa.jp","wajima.ishikawa.jp","fudai.iwate.jp","fujisawa.iwate.jp","hanamaki.iwate.jp","hiraizumi.iwate.jp","hirono.iwate.jp","ichinohe.iwate.jp","ichinoseki.iwate.jp","iwaizumi.iwate.jp","iwate.iwate.jp","joboji.iwate.jp","kamaishi.iwate.jp","kanegasaki.iwate.jp","karumai.iwate.jp","kawai.iwate.jp","kitakami.iwate.jp","kuji.iwate.jp","kunohe.iwate.jp","kuzumaki.iwate.jp","miyako.iwate.jp","mizusawa.iwate.jp","morioka.iwate.jp","ninohe.iwate.jp","noda.iwate.jp","ofunato.iwate.jp","oshu.iwate.jp","otsuchi.iwate.jp","rikuzentakata.iwate.jp","shiwa.iwate.jp","shizukuishi.iwate.jp","sumita.iwate.jp","tanohata.iwate.jp","tono.iwate.jp","yahaba.iwate.jp","yamada.iwate.jp","ayagawa.kagawa.jp","higashikagawa.kagawa.jp","kanonji.kagawa.jp","kotohira.kagawa.jp","manno.kagawa.jp","marugame.kagawa.jp","mitoyo.kagawa.jp","naoshima.kagawa.jp","sanuki.kagawa.jp","tadotsu.kagawa.jp","takamatsu.kagawa.jp","tonosho.kagawa.jp","uchinomi.kagawa.jp","utazu.kagawa.jp","zentsuji.kagawa.jp","akune.kagoshima.jp","amami.kagoshima.jp","hioki.kagoshima.jp","isa.kagoshima.jp","isen.kagoshima.jp","izumi.kagoshima.jp","kagoshima.kagoshima.jp","kanoya.kagoshima.jp","kawanabe.kagoshima.jp","kinko.kagoshima.jp","kouyama.kagoshima.jp","makurazaki.kagoshima.jp","matsumoto.kagoshima.jp","minamitane.kagoshima.jp","nakatane.kagoshima.jp","nishinoomote.kagoshima.jp","satsumasendai.kagoshima.jp","soo.kagoshima.jp","tarumizu.kagoshima.jp","yusui.kagoshima.jp","aikawa.kanagawa.jp","atsugi.kanagawa.jp","ayase.kanagawa.jp","chigasaki.kanagawa.jp","ebina.kanagawa.jp","fujisawa.kanagawa.jp","hadano.kanagawa.jp","hakone.kanagawa.jp","hiratsuka.kanagawa.jp","isehara.kanagawa.jp","kaisei.kanagawa.jp","kamakura.kanagawa.jp","kiyokawa.kanagawa.jp","matsuda.kanagawa.jp","minamiashigara.kanagawa.jp","miura.kanagawa.jp","nakai.kanagawa.jp","ninomiya.kanagawa.jp","odawara.kanagawa.jp","oi.kanagawa.jp","oiso.kanagawa.jp","sagamihara.kanagawa.jp","samukawa.kanagawa.jp","tsukui.kanagawa.jp","yamakita.kanagawa.jp","yamato.kanagawa.jp","yokosuka.kanagawa.jp","yugawara.kanagawa.jp","zama.kanagawa.jp","zushi.kanagawa.jp","aki.kochi.jp","geisei.kochi.jp","hidaka.kochi.jp","higashitsuno.kochi.jp","ino.kochi.jp","kagami.kochi.jp","kami.kochi.jp","kitagawa.kochi.jp","kochi.kochi.jp","mihara.kochi.jp","motoyama.kochi.jp","muroto.kochi.jp","nahari.kochi.jp","nakamura.kochi.jp","nankoku.kochi.jp","nishitosa.kochi.jp","niyodogawa.kochi.jp","ochi.kochi.jp","okawa.kochi.jp","otoyo.kochi.jp","otsuki.kochi.jp","sakawa.kochi.jp","sukumo.kochi.jp","susaki.kochi.jp","tosa.kochi.jp","tosashimizu.kochi.jp","toyo.kochi.jp","tsuno.kochi.jp","umaji.kochi.jp","yasuda.kochi.jp","yusuhara.kochi.jp","amakusa.kumamoto.jp","arao.kumamoto.jp","aso.kumamoto.jp","choyo.kumamoto.jp","gyokuto.kumamoto.jp","kamiamakusa.kumamoto.jp","kikuchi.kumamoto.jp","kumamoto.kumamoto.jp","mashiki.kumamoto.jp","mifune.kumamoto.jp","minamata.kumamoto.jp","minamioguni.kumamoto.jp","nagasu.kumamoto.jp","nishihara.kumamoto.jp","oguni.kumamoto.jp","ozu.kumamoto.jp","sumoto.kumamoto.jp","takamori.kumamoto.jp","uki.kumamoto.jp","uto.kumamoto.jp","yamaga.kumamoto.jp","yamato.kumamoto.jp","yatsushiro.kumamoto.jp","ayabe.kyoto.jp","fukuchiyama.kyoto.jp","higashiyama.kyoto.jp","ide.kyoto.jp","ine.kyoto.jp","joyo.kyoto.jp","kameoka.kyoto.jp","kamo.kyoto.jp","kita.kyoto.jp","kizu.kyoto.jp","kumiyama.kyoto.jp","kyotamba.kyoto.jp","kyotanabe.kyoto.jp","kyotango.kyoto.jp","maizuru.kyoto.jp","minami.kyoto.jp","minamiyamashiro.kyoto.jp","miyazu.kyoto.jp","muko.kyoto.jp","nagaokakyo.kyoto.jp","nakagyo.kyoto.jp","nantan.kyoto.jp","oyamazaki.kyoto.jp","sakyo.kyoto.jp","seika.kyoto.jp","tanabe.kyoto.jp","uji.kyoto.jp","ujitawara.kyoto.jp","wazuka.kyoto.jp","yamashina.kyoto.jp","yawata.kyoto.jp","asahi.mie.jp","inabe.mie.jp","ise.mie.jp","kameyama.mie.jp","kawagoe.mie.jp","kiho.mie.jp","kisosaki.mie.jp","kiwa.mie.jp","komono.mie.jp","kumano.mie.jp","kuwana.mie.jp","matsusaka.mie.jp","meiwa.mie.jp","mihama.mie.jp","minamiise.mie.jp","misugi.mie.jp","miyama.mie.jp","nabari.mie.jp","shima.mie.jp","suzuka.mie.jp","tado.mie.jp","taiki.mie.jp","taki.mie.jp","tamaki.mie.jp","toba.mie.jp","tsu.mie.jp","udono.mie.jp","ureshino.mie.jp","watarai.mie.jp","yokkaichi.mie.jp","furukawa.miyagi.jp","higashimatsushima.miyagi.jp","ishinomaki.miyagi.jp","iwanuma.miyagi.jp","kakuda.miyagi.jp","kami.miyagi.jp","kawasaki.miyagi.jp","marumori.miyagi.jp","matsushima.miyagi.jp","minamisanriku.miyagi.jp","misato.miyagi.jp","murata.miyagi.jp","natori.miyagi.jp","ogawara.miyagi.jp","ohira.miyagi.jp","onagawa.miyagi.jp","osaki.miyagi.jp","rifu.miyagi.jp","semine.miyagi.jp","shibata.miyagi.jp","shichikashuku.miyagi.jp","shikama.miyagi.jp","shiogama.miyagi.jp","shiroishi.miyagi.jp","tagajo.miyagi.jp","taiwa.miyagi.jp","tome.miyagi.jp","tomiya.miyagi.jp","wakuya.miyagi.jp","watari.miyagi.jp","yamamoto.miyagi.jp","zao.miyagi.jp","aya.miyazaki.jp","ebino.miyazaki.jp","gokase.miyazaki.jp","hyuga.miyazaki.jp","kadogawa.miyazaki.jp","kawaminami.miyazaki.jp","kijo.miyazaki.jp","kitagawa.miyazaki.jp","kitakata.miyazaki.jp","kitaura.miyazaki.jp","kobayashi.miyazaki.jp","kunitomi.miyazaki.jp","kushima.miyazaki.jp","mimata.miyazaki.jp","miyakonojo.miyazaki.jp","miyazaki.miyazaki.jp","morotsuka.miyazaki.jp","nichinan.miyazaki.jp","nishimera.miyazaki.jp","nobeoka.miyazaki.jp","saito.miyazaki.jp","shiiba.miyazaki.jp","shintomi.miyazaki.jp","takaharu.miyazaki.jp","takanabe.miyazaki.jp","takazaki.miyazaki.jp","tsuno.miyazaki.jp","achi.nagano.jp","agematsu.nagano.jp","anan.nagano.jp","aoki.nagano.jp","asahi.nagano.jp","azumino.nagano.jp","chikuhoku.nagano.jp","chikuma.nagano.jp","chino.nagano.jp","fujimi.nagano.jp","hakuba.nagano.jp","hara.nagano.jp","hiraya.nagano.jp","iida.nagano.jp","iijima.nagano.jp","iiyama.nagano.jp","iizuna.nagano.jp","ikeda.nagano.jp","ikusaka.nagano.jp","ina.nagano.jp","karuizawa.nagano.jp","kawakami.nagano.jp","kiso.nagano.jp","kisofukushima.nagano.jp","kitaaiki.nagano.jp","komagane.nagano.jp","komoro.nagano.jp","matsukawa.nagano.jp","matsumoto.nagano.jp","miasa.nagano.jp","minamiaiki.nagano.jp","minamimaki.nagano.jp","minamiminowa.nagano.jp","minowa.nagano.jp","miyada.nagano.jp","miyota.nagano.jp","mochizuki.nagano.jp","nagano.nagano.jp","nagawa.nagano.jp","nagiso.nagano.jp","nakagawa.nagano.jp","nakano.nagano.jp","nozawaonsen.nagano.jp","obuse.nagano.jp","ogawa.nagano.jp","okaya.nagano.jp","omachi.nagano.jp","omi.nagano.jp","ookuwa.nagano.jp","ooshika.nagano.jp","otaki.nagano.jp","otari.nagano.jp","sakae.nagano.jp","sakaki.nagano.jp","saku.nagano.jp","sakuho.nagano.jp","shimosuwa.nagano.jp","shinanomachi.nagano.jp","shiojiri.nagano.jp","suwa.nagano.jp","suzaka.nagano.jp","takagi.nagano.jp","takamori.nagano.jp","takayama.nagano.jp","tateshina.nagano.jp","tatsuno.nagano.jp","togakushi.nagano.jp","togura.nagano.jp","tomi.nagano.jp","ueda.nagano.jp","wada.nagano.jp","yamagata.nagano.jp","yamanouchi.nagano.jp","yasaka.nagano.jp","yasuoka.nagano.jp","chijiwa.nagasaki.jp","futsu.nagasaki.jp","goto.nagasaki.jp","hasami.nagasaki.jp","hirado.nagasaki.jp","iki.nagasaki.jp","isahaya.nagasaki.jp","kawatana.nagasaki.jp","kuchinotsu.nagasaki.jp","matsuura.nagasaki.jp","nagasaki.nagasaki.jp","obama.nagasaki.jp","omura.nagasaki.jp","oseto.nagasaki.jp","saikai.nagasaki.jp","sasebo.nagasaki.jp","seihi.nagasaki.jp","shimabara.nagasaki.jp","shinkamigoto.nagasaki.jp","togitsu.nagasaki.jp","tsushima.nagasaki.jp","unzen.nagasaki.jp","ando.nara.jp","gose.nara.jp","heguri.nara.jp","higashiyoshino.nara.jp","ikaruga.nara.jp","ikoma.nara.jp","kamikitayama.nara.jp","kanmaki.nara.jp","kashiba.nara.jp","kashihara.nara.jp","katsuragi.nara.jp","kawai.nara.jp","kawakami.nara.jp","kawanishi.nara.jp","koryo.nara.jp","kurotaki.nara.jp","mitsue.nara.jp","miyake.nara.jp","nara.nara.jp","nosegawa.nara.jp","oji.nara.jp","ouda.nara.jp","oyodo.nara.jp","sakurai.nara.jp","sango.nara.jp","shimoichi.nara.jp","shimokitayama.nara.jp","shinjo.nara.jp","soni.nara.jp","takatori.nara.jp","tawaramoto.nara.jp","tenkawa.nara.jp","tenri.nara.jp","uda.nara.jp","yamatokoriyama.nara.jp","yamatotakada.nara.jp","yamazoe.nara.jp","yoshino.nara.jp","aga.niigata.jp","agano.niigata.jp","gosen.niigata.jp","itoigawa.niigata.jp","izumozaki.niigata.jp","joetsu.niigata.jp","kamo.niigata.jp","kariwa.niigata.jp","kashiwazaki.niigata.jp","minamiuonuma.niigata.jp","mitsuke.niigata.jp","muika.niigata.jp","murakami.niigata.jp","myoko.niigata.jp","nagaoka.niigata.jp","niigata.niigata.jp","ojiya.niigata.jp","omi.niigata.jp","sado.niigata.jp","sanjo.niigata.jp","seiro.niigata.jp","seirou.niigata.jp","sekikawa.niigata.jp","shibata.niigata.jp","tagami.niigata.jp","tainai.niigata.jp","tochio.niigata.jp","tokamachi.niigata.jp","tsubame.niigata.jp","tsunan.niigata.jp","uonuma.niigata.jp","yahiko.niigata.jp","yoita.niigata.jp","yuzawa.niigata.jp","beppu.oita.jp","bungoono.oita.jp","bungotakada.oita.jp","hasama.oita.jp","hiji.oita.jp","himeshima.oita.jp","hita.oita.jp","kamitsue.oita.jp","kokonoe.oita.jp","kuju.oita.jp","kunisaki.oita.jp","kusu.oita.jp","oita.oita.jp","saiki.oita.jp","taketa.oita.jp","tsukumi.oita.jp","usa.oita.jp","usuki.oita.jp","yufu.oita.jp","akaiwa.okayama.jp","asakuchi.okayama.jp","bizen.okayama.jp","hayashima.okayama.jp","ibara.okayama.jp","kagamino.okayama.jp","kasaoka.okayama.jp","kibichuo.okayama.jp","kumenan.okayama.jp","kurashiki.okayama.jp","maniwa.okayama.jp","misaki.okayama.jp","nagi.okayama.jp","niimi.okayama.jp","nishiawakura.okayama.jp","okayama.okayama.jp","satosho.okayama.jp","setouchi.okayama.jp","shinjo.okayama.jp","shoo.okayama.jp","soja.okayama.jp","takahashi.okayama.jp","tamano.okayama.jp","tsuyama.okayama.jp","wake.okayama.jp","yakage.okayama.jp","aguni.okinawa.jp","ginowan.okinawa.jp","ginoza.okinawa.jp","gushikami.okinawa.jp","haebaru.okinawa.jp","higashi.okinawa.jp","hirara.okinawa.jp","iheya.okinawa.jp","ishigaki.okinawa.jp","ishikawa.okinawa.jp","itoman.okinawa.jp","izena.okinawa.jp","kadena.okinawa.jp","kin.okinawa.jp","kitadaito.okinawa.jp","kitanakagusuku.okinawa.jp","kumejima.okinawa.jp","kunigami.okinawa.jp","minamidaito.okinawa.jp","motobu.okinawa.jp","nago.okinawa.jp","naha.okinawa.jp","nakagusuku.okinawa.jp","nakijin.okinawa.jp","nanjo.okinawa.jp","nishihara.okinawa.jp","ogimi.okinawa.jp","okinawa.okinawa.jp","onna.okinawa.jp","shimoji.okinawa.jp","taketomi.okinawa.jp","tarama.okinawa.jp","tokashiki.okinawa.jp","tomigusuku.okinawa.jp","tonaki.okinawa.jp","urasoe.okinawa.jp","uruma.okinawa.jp","yaese.okinawa.jp","yomitan.okinawa.jp","yonabaru.okinawa.jp","yonaguni.okinawa.jp","zamami.okinawa.jp","abeno.osaka.jp","chihayaakasaka.osaka.jp","chuo.osaka.jp","daito.osaka.jp","fujiidera.osaka.jp","habikino.osaka.jp","hannan.osaka.jp","higashiosaka.osaka.jp","higashisumiyoshi.osaka.jp","higashiyodogawa.osaka.jp","hirakata.osaka.jp","ibaraki.osaka.jp","ikeda.osaka.jp","izumi.osaka.jp","izumiotsu.osaka.jp","izumisano.osaka.jp","kadoma.osaka.jp","kaizuka.osaka.jp","kanan.osaka.jp","kashiwara.osaka.jp","katano.osaka.jp","kawachinagano.osaka.jp","kishiwada.osaka.jp","kita.osaka.jp","kumatori.osaka.jp","matsubara.osaka.jp","minato.osaka.jp","minoh.osaka.jp","misaki.osaka.jp","moriguchi.osaka.jp","neyagawa.osaka.jp","nishi.osaka.jp","nose.osaka.jp","osakasayama.osaka.jp","sakai.osaka.jp","sayama.osaka.jp","sennan.osaka.jp","settsu.osaka.jp","shijonawate.osaka.jp","shimamoto.osaka.jp","suita.osaka.jp","tadaoka.osaka.jp","taishi.osaka.jp","tajiri.osaka.jp","takaishi.osaka.jp","takatsuki.osaka.jp","tondabayashi.osaka.jp","toyonaka.osaka.jp","toyono.osaka.jp","yao.osaka.jp","ariake.saga.jp","arita.saga.jp","fukudomi.saga.jp","genkai.saga.jp","hamatama.saga.jp","hizen.saga.jp","imari.saga.jp","kamimine.saga.jp","kanzaki.saga.jp","karatsu.saga.jp","kashima.saga.jp","kitagata.saga.jp","kitahata.saga.jp","kiyama.saga.jp","kouhoku.saga.jp","kyuragi.saga.jp","nishiarita.saga.jp","ogi.saga.jp","omachi.saga.jp","ouchi.saga.jp","saga.saga.jp","shiroishi.saga.jp","taku.saga.jp","tara.saga.jp","tosu.saga.jp","yoshinogari.saga.jp","arakawa.saitama.jp","asaka.saitama.jp","chichibu.saitama.jp","fujimi.saitama.jp","fujimino.saitama.jp","fukaya.saitama.jp","hanno.saitama.jp","hanyu.saitama.jp","hasuda.saitama.jp","hatogaya.saitama.jp","hatoyama.saitama.jp","hidaka.saitama.jp","higashichichibu.saitama.jp","higashimatsuyama.saitama.jp","honjo.saitama.jp","ina.saitama.jp","iruma.saitama.jp","iwatsuki.saitama.jp","kamiizumi.saitama.jp","kamikawa.saitama.jp","kamisato.saitama.jp","kasukabe.saitama.jp","kawagoe.saitama.jp","kawaguchi.saitama.jp","kawajima.saitama.jp","kazo.saitama.jp","kitamoto.saitama.jp","koshigaya.saitama.jp","kounosu.saitama.jp","kuki.saitama.jp","kumagaya.saitama.jp","matsubushi.saitama.jp","minano.saitama.jp","misato.saitama.jp","miyashiro.saitama.jp","miyoshi.saitama.jp","moroyama.saitama.jp","nagatoro.saitama.jp","namegawa.saitama.jp","niiza.saitama.jp","ogano.saitama.jp","ogawa.saitama.jp","ogose.saitama.jp","okegawa.saitama.jp","omiya.saitama.jp","otaki.saitama.jp","ranzan.saitama.jp","ryokami.saitama.jp","saitama.saitama.jp","sakado.saitama.jp","satte.saitama.jp","sayama.saitama.jp","shiki.saitama.jp","shiraoka.saitama.jp","soka.saitama.jp","sugito.saitama.jp","toda.saitama.jp","tokigawa.saitama.jp","tokorozawa.saitama.jp","tsurugashima.saitama.jp","urawa.saitama.jp","warabi.saitama.jp","yashio.saitama.jp","yokoze.saitama.jp","yono.saitama.jp","yorii.saitama.jp","yoshida.saitama.jp","yoshikawa.saitama.jp","yoshimi.saitama.jp","aisho.shiga.jp","gamo.shiga.jp","higashiomi.shiga.jp","hikone.shiga.jp","koka.shiga.jp","konan.shiga.jp","kosei.shiga.jp","koto.shiga.jp","kusatsu.shiga.jp","maibara.shiga.jp","moriyama.shiga.jp","nagahama.shiga.jp","nishiazai.shiga.jp","notogawa.shiga.jp","omihachiman.shiga.jp","otsu.shiga.jp","ritto.shiga.jp","ryuoh.shiga.jp","takashima.shiga.jp","takatsuki.shiga.jp","torahime.shiga.jp","toyosato.shiga.jp","yasu.shiga.jp","akagi.shimane.jp","ama.shimane.jp","gotsu.shimane.jp","hamada.shimane.jp","higashiizumo.shimane.jp","hikawa.shimane.jp","hikimi.shimane.jp","izumo.shimane.jp","kakinoki.shimane.jp","masuda.shimane.jp","matsue.shimane.jp","misato.shimane.jp","nishinoshima.shimane.jp","ohda.shimane.jp","okinoshima.shimane.jp","okuizumo.shimane.jp","shimane.shimane.jp","tamayu.shimane.jp","tsuwano.shimane.jp","unnan.shimane.jp","yakumo.shimane.jp","yasugi.shimane.jp","yatsuka.shimane.jp","arai.shizuoka.jp","atami.shizuoka.jp","fuji.shizuoka.jp","fujieda.shizuoka.jp","fujikawa.shizuoka.jp","fujinomiya.shizuoka.jp","fukuroi.shizuoka.jp","gotemba.shizuoka.jp","haibara.shizuoka.jp","hamamatsu.shizuoka.jp","higashiizu.shizuoka.jp","ito.shizuoka.jp","iwata.shizuoka.jp","izu.shizuoka.jp","izunokuni.shizuoka.jp","kakegawa.shizuoka.jp","kannami.shizuoka.jp","kawanehon.shizuoka.jp","kawazu.shizuoka.jp","kikugawa.shizuoka.jp","kosai.shizuoka.jp","makinohara.shizuoka.jp","matsuzaki.shizuoka.jp","minamiizu.shizuoka.jp","mishima.shizuoka.jp","morimachi.shizuoka.jp","nishiizu.shizuoka.jp","numazu.shizuoka.jp","omaezaki.shizuoka.jp","shimada.shizuoka.jp","shimizu.shizuoka.jp","shimoda.shizuoka.jp","shizuoka.shizuoka.jp","susono.shizuoka.jp","yaizu.shizuoka.jp","yoshida.shizuoka.jp","ashikaga.tochigi.jp","bato.tochigi.jp","haga.tochigi.jp","ichikai.tochigi.jp","iwafune.tochigi.jp","kaminokawa.tochigi.jp","kanuma.tochigi.jp","karasuyama.tochigi.jp","kuroiso.tochigi.jp","mashiko.tochigi.jp","mibu.tochigi.jp","moka.tochigi.jp","motegi.tochigi.jp","nasu.tochigi.jp","nasushiobara.tochigi.jp","nikko.tochigi.jp","nishikata.tochigi.jp","nogi.tochigi.jp","ohira.tochigi.jp","ohtawara.tochigi.jp","oyama.tochigi.jp","sakura.tochigi.jp","sano.tochigi.jp","shimotsuke.tochigi.jp","shioya.tochigi.jp","takanezawa.tochigi.jp","tochigi.tochigi.jp","tsuga.tochigi.jp","ujiie.tochigi.jp","utsunomiya.tochigi.jp","yaita.tochigi.jp","aizumi.tokushima.jp","anan.tokushima.jp","ichiba.tokushima.jp","itano.tokushima.jp","kainan.tokushima.jp","komatsushima.tokushima.jp","matsushige.tokushima.jp","mima.tokushima.jp","minami.tokushima.jp","miyoshi.tokushima.jp","mugi.tokushima.jp","nakagawa.tokushima.jp","naruto.tokushima.jp","sanagochi.tokushima.jp","shishikui.tokushima.jp","tokushima.tokushima.jp","wajiki.tokushima.jp","adachi.tokyo.jp","akiruno.tokyo.jp","akishima.tokyo.jp","aogashima.tokyo.jp","arakawa.tokyo.jp","bunkyo.tokyo.jp","chiyoda.tokyo.jp","chofu.tokyo.jp","chuo.tokyo.jp","edogawa.tokyo.jp","fuchu.tokyo.jp","fussa.tokyo.jp","hachijo.tokyo.jp","hachioji.tokyo.jp","hamura.tokyo.jp","higashikurume.tokyo.jp","higashimurayama.tokyo.jp","higashiyamato.tokyo.jp","hino.tokyo.jp","hinode.tokyo.jp","hinohara.tokyo.jp","inagi.tokyo.jp","itabashi.tokyo.jp","katsushika.tokyo.jp","kita.tokyo.jp","kiyose.tokyo.jp","kodaira.tokyo.jp","koganei.tokyo.jp","kokubunji.tokyo.jp","komae.tokyo.jp","koto.tokyo.jp","kouzushima.tokyo.jp","kunitachi.tokyo.jp","machida.tokyo.jp","meguro.tokyo.jp","minato.tokyo.jp","mitaka.tokyo.jp","mizuho.tokyo.jp","musashimurayama.tokyo.jp","musashino.tokyo.jp","nakano.tokyo.jp","nerima.tokyo.jp","ogasawara.tokyo.jp","okutama.tokyo.jp","ome.tokyo.jp","oshima.tokyo.jp","ota.tokyo.jp","setagaya.tokyo.jp","shibuya.tokyo.jp","shinagawa.tokyo.jp","shinjuku.tokyo.jp","suginami.tokyo.jp","sumida.tokyo.jp","tachikawa.tokyo.jp","taito.tokyo.jp","tama.tokyo.jp","toshima.tokyo.jp","chizu.tottori.jp","hino.tottori.jp","kawahara.tottori.jp","koge.tottori.jp","kotoura.tottori.jp","misasa.tottori.jp","nanbu.tottori.jp","nichinan.tottori.jp","sakaiminato.tottori.jp","tottori.tottori.jp","wakasa.tottori.jp","yazu.tottori.jp","yonago.tottori.jp","asahi.toyama.jp","fuchu.toyama.jp","fukumitsu.toyama.jp","funahashi.toyama.jp","himi.toyama.jp","imizu.toyama.jp","inami.toyama.jp","johana.toyama.jp","kamiichi.toyama.jp","kurobe.toyama.jp","nakaniikawa.toyama.jp","namerikawa.toyama.jp","nanto.toyama.jp","nyuzen.toyama.jp","oyabe.toyama.jp","taira.toyama.jp","takaoka.toyama.jp","tateyama.toyama.jp","toga.toyama.jp","tonami.toyama.jp","toyama.toyama.jp","unazuki.toyama.jp","uozu.toyama.jp","yamada.toyama.jp","arida.wakayama.jp","aridagawa.wakayama.jp","gobo.wakayama.jp","hashimoto.wakayama.jp","hidaka.wakayama.jp","hirogawa.wakayama.jp","inami.wakayama.jp","iwade.wakayama.jp","kainan.wakayama.jp","kamitonda.wakayama.jp","katsuragi.wakayama.jp","kimino.wakayama.jp","kinokawa.wakayama.jp","kitayama.wakayama.jp","koya.wakayama.jp","koza.wakayama.jp","kozagawa.wakayama.jp","kudoyama.wakayama.jp","kushimoto.wakayama.jp","mihama.wakayama.jp","misato.wakayama.jp","nachikatsuura.wakayama.jp","shingu.wakayama.jp","shirahama.wakayama.jp","taiji.wakayama.jp","tanabe.wakayama.jp","wakayama.wakayama.jp","yuasa.wakayama.jp","yura.wakayama.jp","asahi.yamagata.jp","funagata.yamagata.jp","higashine.yamagata.jp","iide.yamagata.jp","kahoku.yamagata.jp","kaminoyama.yamagata.jp","kaneyama.yamagata.jp","kawanishi.yamagata.jp","mamurogawa.yamagata.jp","mikawa.yamagata.jp","murayama.yamagata.jp","nagai.yamagata.jp","nakayama.yamagata.jp","nanyo.yamagata.jp","nishikawa.yamagata.jp","obanazawa.yamagata.jp","oe.yamagata.jp","oguni.yamagata.jp","ohkura.yamagata.jp","oishida.yamagata.jp","sagae.yamagata.jp","sakata.yamagata.jp","sakegawa.yamagata.jp","shinjo.yamagata.jp","shirataka.yamagata.jp","shonai.yamagata.jp","takahata.yamagata.jp","tendo.yamagata.jp","tozawa.yamagata.jp","tsuruoka.yamagata.jp","yamagata.yamagata.jp","yamanobe.yamagata.jp","yonezawa.yamagata.jp","yuza.yamagata.jp","abu.yamaguchi.jp","hagi.yamaguchi.jp","hikari.yamaguchi.jp","hofu.yamaguchi.jp","iwakuni.yamaguchi.jp","kudamatsu.yamaguchi.jp","mitou.yamaguchi.jp","nagato.yamaguchi.jp","oshima.yamaguchi.jp","shimonoseki.yamaguchi.jp","shunan.yamaguchi.jp","tabuse.yamaguchi.jp","tokuyama.yamaguchi.jp","toyota.yamaguchi.jp","ube.yamaguchi.jp","yuu.yamaguchi.jp","chuo.yamanashi.jp","doshi.yamanashi.jp","fuefuki.yamanashi.jp","fujikawa.yamanashi.jp","fujikawaguchiko.yamanashi.jp","fujiyoshida.yamanashi.jp","hayakawa.yamanashi.jp","hokuto.yamanashi.jp","ichikawamisato.yamanashi.jp","kai.yamanashi.jp","kofu.yamanashi.jp","koshu.yamanashi.jp","kosuge.yamanashi.jp","minami-alps.yamanashi.jp","minobu.yamanashi.jp","nakamichi.yamanashi.jp","nanbu.yamanashi.jp","narusawa.yamanashi.jp","nirasaki.yamanashi.jp","nishikatsura.yamanashi.jp","oshino.yamanashi.jp","otsuki.yamanashi.jp","showa.yamanashi.jp","tabayama.yamanashi.jp","tsuru.yamanashi.jp","uenohara.yamanashi.jp","yamanakako.yamanashi.jp","yamanashi.yamanashi.jp","ke","ac.ke","co.ke","go.ke","info.ke","me.ke","mobi.ke","ne.ke","or.ke","sc.ke","kg","com.kg","edu.kg","gov.kg","mil.kg","net.kg","org.kg","*.kh","ki","biz.ki","com.ki","edu.ki","gov.ki","info.ki","net.ki","org.ki","km","ass.km","com.km","edu.km","gov.km","mil.km","nom.km","org.km","prd.km","tm.km","asso.km","coop.km","gouv.km","medecin.km","notaires.km","pharmaciens.km","presse.km","veterinaire.km","kn","edu.kn","gov.kn","net.kn","org.kn","kp","com.kp","edu.kp","gov.kp","org.kp","rep.kp","tra.kp","kr","ac.kr","co.kr","es.kr","go.kr","hs.kr","kg.kr","mil.kr","ms.kr","ne.kr","or.kr","pe.kr","re.kr","sc.kr","busan.kr","chungbuk.kr","chungnam.kr","daegu.kr","daejeon.kr","gangwon.kr","gwangju.kr","gyeongbuk.kr","gyeonggi.kr","gyeongnam.kr","incheon.kr","jeju.kr","jeonbuk.kr","jeonnam.kr","seoul.kr","ulsan.kr","kw","com.kw","edu.kw","emb.kw","gov.kw","ind.kw","net.kw","org.kw","ky","com.ky","edu.ky","net.ky","org.ky","kz","com.kz","edu.kz","gov.kz","mil.kz","net.kz","org.kz","la","com.la","edu.la","gov.la","info.la","int.la","net.la","org.la","per.la","lb","com.lb","edu.lb","gov.lb","net.lb","org.lb","lc","co.lc","com.lc","edu.lc","gov.lc","net.lc","org.lc","li","lk","ac.lk","assn.lk","com.lk","edu.lk","gov.lk","grp.lk","hotel.lk","int.lk","ltd.lk","net.lk","ngo.lk","org.lk","sch.lk","soc.lk","web.lk","lr","com.lr","edu.lr","gov.lr","net.lr","org.lr","ls","ac.ls","biz.ls","co.ls","edu.ls","gov.ls","info.ls","net.ls","org.ls","sc.ls","lt","gov.lt","lu","lv","asn.lv","com.lv","conf.lv","edu.lv","gov.lv","id.lv","mil.lv","net.lv","org.lv","ly","com.ly","edu.ly","gov.ly","id.ly","med.ly","net.ly","org.ly","plc.ly","sch.ly","ma","ac.ma","co.ma","gov.ma","net.ma","org.ma","press.ma","mc","asso.mc","tm.mc","md","me","ac.me","co.me","edu.me","gov.me","its.me","net.me","org.me","priv.me","mg","co.mg","com.mg","edu.mg","gov.mg","mil.mg","nom.mg","org.mg","prd.mg","mh","mil","mk","com.mk","edu.mk","gov.mk","inf.mk","name.mk","net.mk","org.mk","ml","com.ml","edu.ml","gouv.ml","gov.ml","net.ml","org.ml","presse.ml","*.mm","mn","edu.mn","gov.mn","org.mn","mo","com.mo","edu.mo","gov.mo","net.mo","org.mo","mobi","mp","mq","mr","gov.mr","ms","com.ms","edu.ms","gov.ms","net.ms","org.ms","mt","com.mt","edu.mt","net.mt","org.mt","mu","ac.mu","co.mu","com.mu","gov.mu","net.mu","or.mu","org.mu","museum","mv","aero.mv","biz.mv","com.mv","coop.mv","edu.mv","gov.mv","info.mv","int.mv","mil.mv","museum.mv","name.mv","net.mv","org.mv","pro.mv","mw","ac.mw","biz.mw","co.mw","com.mw","coop.mw","edu.mw","gov.mw","int.mw","net.mw","org.mw","mx","com.mx","edu.mx","gob.mx","net.mx","org.mx","my","biz.my","com.my","edu.my","gov.my","mil.my","name.my","net.my","org.my","mz","ac.mz","adv.mz","co.mz","edu.mz","gov.mz","mil.mz","net.mz","org.mz","na","alt.na","co.na","com.na","gov.na","net.na","org.na","name","nc","asso.nc","nom.nc","ne","net","nf","arts.nf","com.nf","firm.nf","info.nf","net.nf","other.nf","per.nf","rec.nf","store.nf","web.nf","ng","com.ng","edu.ng","gov.ng","i.ng","mil.ng","mobi.ng","name.ng","net.ng","org.ng","sch.ng","ni","ac.ni","biz.ni","co.ni","com.ni","edu.ni","gob.ni","in.ni","info.ni","int.ni","mil.ni","net.ni","nom.ni","org.ni","web.ni","nl","no","fhs.no","folkebibl.no","fylkesbibl.no","idrett.no","museum.no","priv.no","vgs.no","dep.no","herad.no","kommune.no","mil.no","stat.no","aa.no","ah.no","bu.no","fm.no","hl.no","hm.no","jan-mayen.no","mr.no","nl.no","nt.no","of.no","ol.no","oslo.no","rl.no","sf.no","st.no","svalbard.no","tm.no","tr.no","va.no","vf.no","gs.aa.no","gs.ah.no","gs.bu.no","gs.fm.no","gs.hl.no","gs.hm.no","gs.jan-mayen.no","gs.mr.no","gs.nl.no","gs.nt.no","gs.of.no","gs.ol.no","gs.oslo.no","gs.rl.no","gs.sf.no","gs.st.no","gs.svalbard.no","gs.tm.no","gs.tr.no","gs.va.no","gs.vf.no","akrehamn.no","åkrehamn.no","algard.no","ålgård.no","arna.no","bronnoysund.no","brønnøysund.no","brumunddal.no","bryne.no","drobak.no","drøbak.no","egersund.no","fetsund.no","floro.no","florø.no","fredrikstad.no","hokksund.no","honefoss.no","hønefoss.no","jessheim.no","jorpeland.no","jørpeland.no","kirkenes.no","kopervik.no","krokstadelva.no","langevag.no","langevåg.no","leirvik.no","mjondalen.no","mjøndalen.no","mo-i-rana.no","mosjoen.no","mosjøen.no","nesoddtangen.no","orkanger.no","osoyro.no","osøyro.no","raholt.no","råholt.no","sandnessjoen.no","sandnessjøen.no","skedsmokorset.no","slattum.no","spjelkavik.no","stathelle.no","stavern.no","stjordalshalsen.no","stjørdalshalsen.no","tananger.no","tranby.no","vossevangen.no","aarborte.no","aejrie.no","afjord.no","åfjord.no","agdenes.no","nes.akershus.no","aknoluokta.no","ákŋoluokta.no","al.no","ål.no","alaheadju.no","álaheadju.no","alesund.no","ålesund.no","alstahaug.no","alta.no","áltá.no","alvdal.no","amli.no","åmli.no","amot.no","åmot.no","andasuolo.no","andebu.no","andoy.no","andøy.no","ardal.no","årdal.no","aremark.no","arendal.no","ås.no","aseral.no","åseral.no","asker.no","askim.no","askoy.no","askøy.no","askvoll.no","asnes.no","åsnes.no","audnedaln.no","aukra.no","aure.no","aurland.no","aurskog-holand.no","aurskog-høland.no","austevoll.no","austrheim.no","averoy.no","averøy.no","badaddja.no","bådåddjå.no","bærum.no","bahcavuotna.no","báhcavuotna.no","bahccavuotna.no","báhccavuotna.no","baidar.no","báidár.no","bajddar.no","bájddar.no","balat.no","bálát.no","balestrand.no","ballangen.no","balsfjord.no","bamble.no","bardu.no","barum.no","batsfjord.no","båtsfjord.no","bearalvahki.no","bearalváhki.no","beardu.no","beiarn.no","berg.no","bergen.no","berlevag.no","berlevåg.no","bievat.no","bievát.no","bindal.no","birkenes.no","bjarkoy.no","bjarkøy.no","bjerkreim.no","bjugn.no","bodo.no","bodø.no","bokn.no","bomlo.no","bømlo.no","bremanger.no","bronnoy.no","brønnøy.no","budejju.no","nes.buskerud.no","bygland.no","bykle.no","cahcesuolo.no","čáhcesuolo.no","davvenjarga.no","davvenjárga.no","davvesiida.no","deatnu.no","dielddanuorri.no","divtasvuodna.no","divttasvuotna.no","donna.no","dønna.no","dovre.no","drammen.no","drangedal.no","dyroy.no","dyrøy.no","eid.no","eidfjord.no","eidsberg.no","eidskog.no","eidsvoll.no","eigersund.no","elverum.no","enebakk.no","engerdal.no","etne.no","etnedal.no","evenassi.no","evenášši.no","evenes.no","evje-og-hornnes.no","farsund.no","fauske.no","fedje.no","fet.no","finnoy.no","finnøy.no","fitjar.no","fjaler.no","fjell.no","fla.no","flå.no","flakstad.no","flatanger.no","flekkefjord.no","flesberg.no","flora.no","folldal.no","forde.no","førde.no","forsand.no","fosnes.no","fræna.no","frana.no","frei.no","frogn.no","froland.no","frosta.no","froya.no","frøya.no","fuoisku.no","fuossko.no","fusa.no","fyresdal.no","gaivuotna.no","gáivuotna.no","galsa.no","gálsá.no","gamvik.no","gangaviika.no","gáŋgaviika.no","gaular.no","gausdal.no","giehtavuoatna.no","gildeskal.no","gildeskål.no","giske.no","gjemnes.no","gjerdrum.no","gjerstad.no","gjesdal.no","gjovik.no","gjøvik.no","gloppen.no","gol.no","gran.no","grane.no","granvin.no","gratangen.no","grimstad.no","grong.no","grue.no","gulen.no","guovdageaidnu.no","ha.no","hå.no","habmer.no","hábmer.no","hadsel.no","hægebostad.no","hagebostad.no","halden.no","halsa.no","hamar.no","hamaroy.no","hammarfeasta.no","hámmárfeasta.no","hammerfest.no","hapmir.no","hápmir.no","haram.no","hareid.no","harstad.no","hasvik.no","hattfjelldal.no","haugesund.no","os.hedmark.no","valer.hedmark.no","våler.hedmark.no","hemne.no","hemnes.no","hemsedal.no","hitra.no","hjartdal.no","hjelmeland.no","hobol.no","hobøl.no","hof.no","hol.no","hole.no","holmestrand.no","holtalen.no","holtålen.no","os.hordaland.no","hornindal.no","horten.no","hoyanger.no","høyanger.no","hoylandet.no","høylandet.no","hurdal.no","hurum.no","hvaler.no","hyllestad.no","ibestad.no","inderoy.no","inderøy.no","iveland.no","ivgu.no","jevnaker.no","jolster.no","jølster.no","jondal.no","kafjord.no","kåfjord.no","karasjohka.no","kárášjohka.no","karasjok.no","karlsoy.no","karmoy.no","karmøy.no","kautokeino.no","klabu.no","klæbu.no","klepp.no","kongsberg.no","kongsvinger.no","kraanghke.no","kråanghke.no","kragero.no","kragerø.no","kristiansand.no","kristiansund.no","krodsherad.no","krødsherad.no","kvæfjord.no","kvænangen.no","kvafjord.no","kvalsund.no","kvam.no","kvanangen.no","kvinesdal.no","kvinnherad.no","kviteseid.no","kvitsoy.no","kvitsøy.no","laakesvuemie.no","lærdal.no","lahppi.no","láhppi.no","lardal.no","larvik.no","lavagis.no","lavangen.no","leangaviika.no","leaŋgaviika.no","lebesby.no","leikanger.no","leirfjord.no","leka.no","leksvik.no","lenvik.no","lerdal.no","lesja.no","levanger.no","lier.no","lierne.no","lillehammer.no","lillesand.no","lindas.no","lindås.no","lindesnes.no","loabat.no","loabát.no","lodingen.no","lødingen.no","lom.no","loppa.no","lorenskog.no","lørenskog.no","loten.no","løten.no","lund.no","lunner.no","luroy.no","lurøy.no","luster.no","lyngdal.no","lyngen.no","malatvuopmi.no","málatvuopmi.no","malselv.no","målselv.no","malvik.no","mandal.no","marker.no","marnardal.no","masfjorden.no","masoy.no","måsøy.no","matta-varjjat.no","mátta-várjjat.no","meland.no","meldal.no","melhus.no","meloy.no","meløy.no","meraker.no","meråker.no","midsund.no","midtre-gauldal.no","moareke.no","moåreke.no","modalen.no","modum.no","molde.no","heroy.more-og-romsdal.no","sande.more-og-romsdal.no","herøy.møre-og-romsdal.no","sande.møre-og-romsdal.no","moskenes.no","moss.no","mosvik.no","muosat.no","muosát.no","naamesjevuemie.no","nååmesjevuemie.no","nærøy.no","namdalseid.no","namsos.no","namsskogan.no","nannestad.no","naroy.no","narviika.no","narvik.no","naustdal.no","navuotna.no","návuotna.no","nedre-eiker.no","nesna.no","nesodden.no","nesseby.no","nesset.no","nissedal.no","nittedal.no","nord-aurdal.no","nord-fron.no","nord-odal.no","norddal.no","nordkapp.no","bo.nordland.no","bø.nordland.no","heroy.nordland.no","herøy.nordland.no","nordre-land.no","nordreisa.no","nore-og-uvdal.no","notodden.no","notteroy.no","nøtterøy.no","odda.no","oksnes.no","øksnes.no","omasvuotna.no","oppdal.no","oppegard.no","oppegård.no","orkdal.no","orland.no","ørland.no","orskog.no","ørskog.no","orsta.no","ørsta.no","osen.no","osteroy.no","osterøy.no","valer.ostfold.no","våler.østfold.no","ostre-toten.no","østre-toten.no","overhalla.no","ovre-eiker.no","øvre-eiker.no","oyer.no","øyer.no","oygarden.no","øygarden.no","oystre-slidre.no","øystre-slidre.no","porsanger.no","porsangu.no","porsáŋgu.no","porsgrunn.no","rade.no","råde.no","radoy.no","radøy.no","rælingen.no","rahkkeravju.no","ráhkkerávju.no","raisa.no","ráisa.no","rakkestad.no","ralingen.no","rana.no","randaberg.no","rauma.no","rendalen.no","rennebu.no","rennesoy.no","rennesøy.no","rindal.no","ringebu.no","ringerike.no","ringsaker.no","risor.no","risør.no","rissa.no","roan.no","rodoy.no","rødøy.no","rollag.no","romsa.no","romskog.no","rømskog.no","roros.no","røros.no","rost.no","røst.no","royken.no","røyken.no","royrvik.no","røyrvik.no","ruovat.no","rygge.no","salangen.no","salat.no","sálat.no","sálát.no","saltdal.no","samnanger.no","sandefjord.no","sandnes.no","sandoy.no","sandøy.no","sarpsborg.no","sauda.no","sauherad.no","sel.no","selbu.no","selje.no","seljord.no","siellak.no","sigdal.no","siljan.no","sirdal.no","skanit.no","skánit.no","skanland.no","skånland.no","skaun.no","skedsmo.no","ski.no","skien.no","skierva.no","skiervá.no","skiptvet.no","skjak.no","skjåk.no","skjervoy.no","skjervøy.no","skodje.no","smola.no","smøla.no","snaase.no","snåase.no","snasa.no","snåsa.no","snillfjord.no","snoasa.no","sogndal.no","sogne.no","søgne.no","sokndal.no","sola.no","solund.no","somna.no","sømna.no","sondre-land.no","søndre-land.no","songdalen.no","sor-aurdal.no","sør-aurdal.no","sor-fron.no","sør-fron.no","sor-odal.no","sør-odal.no","sor-varanger.no","sør-varanger.no","sorfold.no","sørfold.no","sorreisa.no","sørreisa.no","sortland.no","sorum.no","sørum.no","spydeberg.no","stange.no","stavanger.no","steigen.no","steinkjer.no","stjordal.no","stjørdal.no","stokke.no","stor-elvdal.no","stord.no","stordal.no","storfjord.no","strand.no","stranda.no","stryn.no","sula.no","suldal.no","sund.no","sunndal.no","surnadal.no","sveio.no","svelvik.no","sykkylven.no","tana.no","bo.telemark.no","bø.telemark.no","time.no","tingvoll.no","tinn.no","tjeldsund.no","tjome.no","tjøme.no","tokke.no","tolga.no","tonsberg.no","tønsberg.no","torsken.no","træna.no","trana.no","tranoy.no","tranøy.no","troandin.no","trogstad.no","trøgstad.no","tromsa.no","tromso.no","tromsø.no","trondheim.no","trysil.no","tvedestrand.no","tydal.no","tynset.no","tysfjord.no","tysnes.no","tysvær.no","tysvar.no","ullensaker.no","ullensvang.no","ulvik.no","unjarga.no","unjárga.no","utsira.no","vaapste.no","vadso.no","vadsø.no","værøy.no","vaga.no","vågå.no","vagan.no","vågan.no","vagsoy.no","vågsøy.no","vaksdal.no","valle.no","vang.no","vanylven.no","vardo.no","vardø.no","varggat.no","várggát.no","varoy.no","vefsn.no","vega.no","vegarshei.no","vegårshei.no","vennesla.no","verdal.no","verran.no","vestby.no","sande.vestfold.no","vestnes.no","vestre-slidre.no","vestre-toten.no","vestvagoy.no","vestvågøy.no","vevelstad.no","vik.no","vikna.no","vindafjord.no","voagat.no","volda.no","voss.no","*.np","nr","biz.nr","com.nr","edu.nr","gov.nr","info.nr","net.nr","org.nr","nu","nz","ac.nz","co.nz","cri.nz","geek.nz","gen.nz","govt.nz","health.nz","iwi.nz","kiwi.nz","maori.nz","māori.nz","mil.nz","net.nz","org.nz","parliament.nz","school.nz","om","co.om","com.om","edu.om","gov.om","med.om","museum.om","net.om","org.om","pro.om","onion","org","pa","abo.pa","ac.pa","com.pa","edu.pa","gob.pa","ing.pa","med.pa","net.pa","nom.pa","org.pa","sld.pa","pe","com.pe","edu.pe","gob.pe","mil.pe","net.pe","nom.pe","org.pe","pf","com.pf","edu.pf","org.pf","*.pg","ph","com.ph","edu.ph","gov.ph","i.ph","mil.ph","net.ph","ngo.ph","org.ph","pk","ac.pk","biz.pk","com.pk","edu.pk","fam.pk","gkp.pk","gob.pk","gog.pk","gok.pk","gon.pk","gop.pk","gos.pk","gov.pk","net.pk","org.pk","web.pk","pl","com.pl","net.pl","org.pl","agro.pl","aid.pl","atm.pl","auto.pl","biz.pl","edu.pl","gmina.pl","gsm.pl","info.pl","mail.pl","media.pl","miasta.pl","mil.pl","nieruchomosci.pl","nom.pl","pc.pl","powiat.pl","priv.pl","realestate.pl","rel.pl","sex.pl","shop.pl","sklep.pl","sos.pl","szkola.pl","targi.pl","tm.pl","tourism.pl","travel.pl","turystyka.pl","gov.pl","ap.gov.pl","griw.gov.pl","ic.gov.pl","is.gov.pl","kmpsp.gov.pl","konsulat.gov.pl","kppsp.gov.pl","kwp.gov.pl","kwpsp.gov.pl","mup.gov.pl","mw.gov.pl","oia.gov.pl","oirm.gov.pl","oke.gov.pl","oow.gov.pl","oschr.gov.pl","oum.gov.pl","pa.gov.pl","pinb.gov.pl","piw.gov.pl","po.gov.pl","pr.gov.pl","psp.gov.pl","psse.gov.pl","pup.gov.pl","rzgw.gov.pl","sa.gov.pl","sdn.gov.pl","sko.gov.pl","so.gov.pl","sr.gov.pl","starostwo.gov.pl","ug.gov.pl","ugim.gov.pl","um.gov.pl","umig.gov.pl","upow.gov.pl","uppo.gov.pl","us.gov.pl","uw.gov.pl","uzs.gov.pl","wif.gov.pl","wiih.gov.pl","winb.gov.pl","wios.gov.pl","witd.gov.pl","wiw.gov.pl","wkz.gov.pl","wsa.gov.pl","wskr.gov.pl","wsse.gov.pl","wuoz.gov.pl","wzmiuw.gov.pl","zp.gov.pl","zpisdn.gov.pl","augustow.pl","babia-gora.pl","bedzin.pl","beskidy.pl","bialowieza.pl","bialystok.pl","bielawa.pl","bieszczady.pl","boleslawiec.pl","bydgoszcz.pl","bytom.pl","cieszyn.pl","czeladz.pl","czest.pl","dlugoleka.pl","elblag.pl","elk.pl","glogow.pl","gniezno.pl","gorlice.pl","grajewo.pl","ilawa.pl","jaworzno.pl","jelenia-gora.pl","jgora.pl","kalisz.pl","karpacz.pl","kartuzy.pl","kaszuby.pl","katowice.pl","kazimierz-dolny.pl","kepno.pl","ketrzyn.pl","klodzko.pl","kobierzyce.pl","kolobrzeg.pl","konin.pl","konskowola.pl","kutno.pl","lapy.pl","lebork.pl","legnica.pl","lezajsk.pl","limanowa.pl","lomza.pl","lowicz.pl","lubin.pl","lukow.pl","malbork.pl","malopolska.pl","mazowsze.pl","mazury.pl","mielec.pl","mielno.pl","mragowo.pl","naklo.pl","nowaruda.pl","nysa.pl","olawa.pl","olecko.pl","olkusz.pl","olsztyn.pl","opoczno.pl","opole.pl","ostroda.pl","ostroleka.pl","ostrowiec.pl","ostrowwlkp.pl","pila.pl","pisz.pl","podhale.pl","podlasie.pl","polkowice.pl","pomorskie.pl","pomorze.pl","prochowice.pl","pruszkow.pl","przeworsk.pl","pulawy.pl","radom.pl","rawa-maz.pl","rybnik.pl","rzeszow.pl","sanok.pl","sejny.pl","skoczow.pl","slask.pl","slupsk.pl","sosnowiec.pl","stalowa-wola.pl","starachowice.pl","stargard.pl","suwalki.pl","swidnica.pl","swiebodzin.pl","swinoujscie.pl","szczecin.pl","szczytno.pl","tarnobrzeg.pl","tgory.pl","turek.pl","tychy.pl","ustka.pl","walbrzych.pl","warmia.pl","warszawa.pl","waw.pl","wegrow.pl","wielun.pl","wlocl.pl","wloclawek.pl","wodzislaw.pl","wolomin.pl","wroclaw.pl","zachpomor.pl","zagan.pl","zarow.pl","zgora.pl","zgorzelec.pl","pm","pn","co.pn","edu.pn","gov.pn","net.pn","org.pn","post","pr","biz.pr","com.pr","edu.pr","gov.pr","info.pr","isla.pr","name.pr","net.pr","org.pr","pro.pr","ac.pr","est.pr","prof.pr","pro","aaa.pro","aca.pro","acct.pro","avocat.pro","bar.pro","cpa.pro","eng.pro","jur.pro","law.pro","med.pro","recht.pro","ps","com.ps","edu.ps","gov.ps","net.ps","org.ps","plo.ps","sec.ps","pt","com.pt","edu.pt","gov.pt","int.pt","net.pt","nome.pt","org.pt","publ.pt","pw","belau.pw","co.pw","ed.pw","go.pw","or.pw","py","com.py","coop.py","edu.py","gov.py","mil.py","net.py","org.py","qa","com.qa","edu.qa","gov.qa","mil.qa","name.qa","net.qa","org.qa","sch.qa","re","asso.re","com.re","ro","arts.ro","com.ro","firm.ro","info.ro","nom.ro","nt.ro","org.ro","rec.ro","store.ro","tm.ro","www.ro","rs","ac.rs","co.rs","edu.rs","gov.rs","in.rs","org.rs","ru","rw","ac.rw","co.rw","coop.rw","gov.rw","mil.rw","net.rw","org.rw","sa","com.sa","edu.sa","gov.sa","med.sa","net.sa","org.sa","pub.sa","sch.sa","sb","com.sb","edu.sb","gov.sb","net.sb","org.sb","sc","com.sc","edu.sc","gov.sc","net.sc","org.sc","sd","com.sd","edu.sd","gov.sd","info.sd","med.sd","net.sd","org.sd","tv.sd","se","a.se","ac.se","b.se","bd.se","brand.se","c.se","d.se","e.se","f.se","fh.se","fhsk.se","fhv.se","g.se","h.se","i.se","k.se","komforb.se","kommunalforbund.se","komvux.se","l.se","lanbib.se","m.se","n.se","naturbruksgymn.se","o.se","org.se","p.se","parti.se","pp.se","press.se","r.se","s.se","t.se","tm.se","u.se","w.se","x.se","y.se","z.se","sg","com.sg","edu.sg","gov.sg","net.sg","org.sg","sh","com.sh","gov.sh","mil.sh","net.sh","org.sh","si","sj","sk","sl","com.sl","edu.sl","gov.sl","net.sl","org.sl","sm","sn","art.sn","com.sn","edu.sn","gouv.sn","org.sn","perso.sn","univ.sn","so","com.so","edu.so","gov.so","me.so","net.so","org.so","sr","ss","biz.ss","co.ss","com.ss","edu.ss","gov.ss","me.ss","net.ss","org.ss","sch.ss","st","co.st","com.st","consulado.st","edu.st","embaixada.st","mil.st","net.st","org.st","principe.st","saotome.st","store.st","su","sv","com.sv","edu.sv","gob.sv","org.sv","red.sv","sx","gov.sx","sy","com.sy","edu.sy","gov.sy","mil.sy","net.sy","org.sy","sz","ac.sz","co.sz","org.sz","tc","td","tel","tf","tg","th","ac.th","co.th","go.th","in.th","mi.th","net.th","or.th","tj","ac.tj","biz.tj","co.tj","com.tj","edu.tj","go.tj","gov.tj","int.tj","mil.tj","name.tj","net.tj","nic.tj","org.tj","test.tj","web.tj","tk","tl","gov.tl","tm","co.tm","com.tm","edu.tm","gov.tm","mil.tm","net.tm","nom.tm","org.tm","tn","com.tn","ens.tn","fin.tn","gov.tn","ind.tn","info.tn","intl.tn","mincom.tn","nat.tn","net.tn","org.tn","perso.tn","tourism.tn","to","com.to","edu.to","gov.to","mil.to","net.to","org.to","tr","av.tr","bbs.tr","bel.tr","biz.tr","com.tr","dr.tr","edu.tr","gen.tr","gov.tr","info.tr","k12.tr","kep.tr","mil.tr","name.tr","net.tr","org.tr","pol.tr","tel.tr","tsk.tr","tv.tr","web.tr","nc.tr","gov.nc.tr","tt","biz.tt","co.tt","com.tt","edu.tt","gov.tt","info.tt","mil.tt","name.tt","net.tt","org.tt","pro.tt","tv","tw","club.tw","com.tw","ebiz.tw","edu.tw","game.tw","gov.tw","idv.tw","mil.tw","net.tw","org.tw","tz","ac.tz","co.tz","go.tz","hotel.tz","info.tz","me.tz","mil.tz","mobi.tz","ne.tz","or.tz","sc.tz","tv.tz","ua","com.ua","edu.ua","gov.ua","in.ua","net.ua","org.ua","cherkassy.ua","cherkasy.ua","chernigov.ua","chernihiv.ua","chernivtsi.ua","chernovtsy.ua","ck.ua","cn.ua","cr.ua","crimea.ua","cv.ua","dn.ua","dnepropetrovsk.ua","dnipropetrovsk.ua","donetsk.ua","dp.ua","if.ua","ivano-frankivsk.ua","kh.ua","kharkiv.ua","kharkov.ua","kherson.ua","khmelnitskiy.ua","khmelnytskyi.ua","kiev.ua","kirovograd.ua","km.ua","kr.ua","kropyvnytskyi.ua","krym.ua","ks.ua","kv.ua","kyiv.ua","lg.ua","lt.ua","lugansk.ua","luhansk.ua","lutsk.ua","lv.ua","lviv.ua","mk.ua","mykolaiv.ua","nikolaev.ua","od.ua","odesa.ua","odessa.ua","pl.ua","poltava.ua","rivne.ua","rovno.ua","rv.ua","sb.ua","sebastopol.ua","sevastopol.ua","sm.ua","sumy.ua","te.ua","ternopil.ua","uz.ua","uzhgorod.ua","uzhhorod.ua","vinnica.ua","vinnytsia.ua","vn.ua","volyn.ua","yalta.ua","zakarpattia.ua","zaporizhzhe.ua","zaporizhzhia.ua","zhitomir.ua","zhytomyr.ua","zp.ua","zt.ua","ug","ac.ug","co.ug","com.ug","go.ug","ne.ug","or.ug","org.ug","sc.ug","uk","ac.uk","co.uk","gov.uk","ltd.uk","me.uk","net.uk","nhs.uk","org.uk","plc.uk","police.uk","*.sch.uk","us","dni.us","fed.us","isa.us","kids.us","nsn.us","ak.us","al.us","ar.us","as.us","az.us","ca.us","co.us","ct.us","dc.us","de.us","fl.us","ga.us","gu.us","hi.us","ia.us","id.us","il.us","in.us","ks.us","ky.us","la.us","ma.us","md.us","me.us","mi.us","mn.us","mo.us","ms.us","mt.us","nc.us","nd.us","ne.us","nh.us","nj.us","nm.us","nv.us","ny.us","oh.us","ok.us","or.us","pa.us","pr.us","ri.us","sc.us","sd.us","tn.us","tx.us","ut.us","va.us","vi.us","vt.us","wa.us","wi.us","wv.us","wy.us","k12.ak.us","k12.al.us","k12.ar.us","k12.as.us","k12.az.us","k12.ca.us","k12.co.us","k12.ct.us","k12.dc.us","k12.fl.us","k12.ga.us","k12.gu.us","k12.ia.us","k12.id.us","k12.il.us","k12.in.us","k12.ks.us","k12.ky.us","k12.la.us","k12.ma.us","k12.md.us","k12.me.us","k12.mi.us","k12.mn.us","k12.mo.us","k12.ms.us","k12.mt.us","k12.nc.us","k12.ne.us","k12.nh.us","k12.nj.us","k12.nm.us","k12.nv.us","k12.ny.us","k12.oh.us","k12.ok.us","k12.or.us","k12.pa.us","k12.pr.us","k12.sc.us","k12.tn.us","k12.tx.us","k12.ut.us","k12.va.us","k12.vi.us","k12.vt.us","k12.wa.us","k12.wi.us","cc.ak.us","lib.ak.us","cc.al.us","lib.al.us","cc.ar.us","lib.ar.us","cc.as.us","lib.as.us","cc.az.us","lib.az.us","cc.ca.us","lib.ca.us","cc.co.us","lib.co.us","cc.ct.us","lib.ct.us","cc.dc.us","lib.dc.us","cc.de.us","cc.fl.us","cc.ga.us","cc.gu.us","cc.hi.us","cc.ia.us","cc.id.us","cc.il.us","cc.in.us","cc.ks.us","cc.ky.us","cc.la.us","cc.ma.us","cc.md.us","cc.me.us","cc.mi.us","cc.mn.us","cc.mo.us","cc.ms.us","cc.mt.us","cc.nc.us","cc.nd.us","cc.ne.us","cc.nh.us","cc.nj.us","cc.nm.us","cc.nv.us","cc.ny.us","cc.oh.us","cc.ok.us","cc.or.us","cc.pa.us","cc.pr.us","cc.ri.us","cc.sc.us","cc.sd.us","cc.tn.us","cc.tx.us","cc.ut.us","cc.va.us","cc.vi.us","cc.vt.us","cc.wa.us","cc.wi.us","cc.wv.us","cc.wy.us","k12.wy.us","lib.fl.us","lib.ga.us","lib.gu.us","lib.hi.us","lib.ia.us","lib.id.us","lib.il.us","lib.in.us","lib.ks.us","lib.ky.us","lib.la.us","lib.ma.us","lib.md.us","lib.me.us","lib.mi.us","lib.mn.us","lib.mo.us","lib.ms.us","lib.mt.us","lib.nc.us","lib.nd.us","lib.ne.us","lib.nh.us","lib.nj.us","lib.nm.us","lib.nv.us","lib.ny.us","lib.oh.us","lib.ok.us","lib.or.us","lib.pa.us","lib.pr.us","lib.ri.us","lib.sc.us","lib.sd.us","lib.tn.us","lib.tx.us","lib.ut.us","lib.va.us","lib.vi.us","lib.vt.us","lib.wa.us","lib.wi.us","lib.wy.us","chtr.k12.ma.us","paroch.k12.ma.us","pvt.k12.ma.us","ann-arbor.mi.us","cog.mi.us","dst.mi.us","eaton.mi.us","gen.mi.us","mus.mi.us","tec.mi.us","washtenaw.mi.us","uy","com.uy","edu.uy","gub.uy","mil.uy","net.uy","org.uy","uz","co.uz","com.uz","net.uz","org.uz","va","vc","com.vc","edu.vc","gov.vc","mil.vc","net.vc","org.vc","ve","arts.ve","bib.ve","co.ve","com.ve","e12.ve","edu.ve","firm.ve","gob.ve","gov.ve","info.ve","int.ve","mil.ve","net.ve","nom.ve","org.ve","rar.ve","rec.ve","store.ve","tec.ve","web.ve","vg","vi","co.vi","com.vi","k12.vi","net.vi","org.vi","vn","ac.vn","ai.vn","biz.vn","com.vn","edu.vn","gov.vn","health.vn","id.vn","info.vn","int.vn","io.vn","name.vn","net.vn","org.vn","pro.vn","angiang.vn","bacgiang.vn","backan.vn","baclieu.vn","bacninh.vn","baria-vungtau.vn","bentre.vn","binhdinh.vn","binhduong.vn","binhphuoc.vn","binhthuan.vn","camau.vn","cantho.vn","caobang.vn","daklak.vn","daknong.vn","danang.vn","dienbien.vn","dongnai.vn","dongthap.vn","gialai.vn","hagiang.vn","haiduong.vn","haiphong.vn","hanam.vn","hanoi.vn","hatinh.vn","haugiang.vn","hoabinh.vn","hungyen.vn","khanhhoa.vn","kiengiang.vn","kontum.vn","laichau.vn","lamdong.vn","langson.vn","laocai.vn","longan.vn","namdinh.vn","nghean.vn","ninhbinh.vn","ninhthuan.vn","phutho.vn","phuyen.vn","quangbinh.vn","quangnam.vn","quangngai.vn","quangninh.vn","quangtri.vn","soctrang.vn","sonla.vn","tayninh.vn","thaibinh.vn","thainguyen.vn","thanhhoa.vn","thanhphohochiminh.vn","thuathienhue.vn","tiengiang.vn","travinh.vn","tuyenquang.vn","vinhlong.vn","vinhphuc.vn","yenbai.vn","vu","com.vu","edu.vu","net.vu","org.vu","wf","ws","com.ws","edu.ws","gov.ws","net.ws","org.ws","yt","امارات","հայ","বাংলা","бг","البحرين","бел","中国","中國","الجزائر","مصر","ею","ευ","موريتانيا","გე","ελ","香港","個人.香港","公司.香港","政府.香港","教育.香港","組織.香港","網絡.香港","ಭಾರತ","ଭାରତ","ভাৰত","भारतम्","भारोत","ڀارت","ഭാരതം","भारत","بارت","بھارت","భారత్","ભારત","ਭਾਰਤ","ভারত","இந்தியா","ایران","ايران","عراق","الاردن","한국","қаз","ລາວ","ලංකා","இலங்கை","المغرب","мкд","мон","澳門","澳门","مليسيا","عمان","پاکستان","پاكستان","فلسطين","срб","ак.срб","обр.срб","од.срб","орг.срб","пр.срб","упр.срб","рф","قطر","السعودية","السعودیة","السعودیۃ","السعوديه","سودان","新加坡","சிங்கப்பூர்","سورية","سوريا","ไทย","ทหาร.ไทย","ธุรกิจ.ไทย","เน็ต.ไทย","รัฐบาล.ไทย","ศึกษา.ไทย","องค์กร.ไทย","تونس","台灣","台湾","臺灣","укр","اليمن","xxx","ye","com.ye","edu.ye","gov.ye","mil.ye","net.ye","org.ye","ac.za","agric.za","alt.za","co.za","edu.za","gov.za","grondar.za","law.za","mil.za","net.za","ngo.za","nic.za","nis.za","nom.za","org.za","school.za","tm.za","web.za","zm","ac.zm","biz.zm","co.zm","com.zm","edu.zm","gov.zm","info.zm","mil.zm","net.zm","org.zm","sch.zm","zw","ac.zw","co.zw","gov.zw","mil.zw","org.zw","aaa","aarp","abb","abbott","abbvie","abc","able","abogado","abudhabi","academy","accenture","accountant","accountants","aco","actor","ads","adult","aeg","aetna","afl","africa","agakhan","agency","aig","airbus","airforce","airtel","akdn","alibaba","alipay","allfinanz","allstate","ally","alsace","alstom","amazon","americanexpress","americanfamily","amex","amfam","amica","amsterdam","analytics","android","anquan","anz","aol","apartments","app","apple","aquarelle","arab","aramco","archi","army","art","arte","asda","associates","athleta","attorney","auction","audi","audible","audio","auspost","author","auto","autos","aws","axa","azure","baby","baidu","banamex","band","bank","bar","barcelona","barclaycard","barclays","barefoot","bargains","baseball","basketball","bauhaus","bayern","bbc","bbt","bbva","bcg","bcn","beats","beauty","beer","bentley","berlin","best","bestbuy","bet","bharti","bible","bid","bike","bing","bingo","bio","black","blackfriday","blockbuster","blog","bloomberg","blue","bms","bmw","bnpparibas","boats","boehringer","bofa","bom","bond","boo","book","booking","bosch","bostik","boston","bot","boutique","box","bradesco","bridgestone","broadway","broker","brother","brussels","build","builders","business","buy","buzz","bzh","cab","cafe","cal","call","calvinklein","cam","camera","camp","canon","capetown","capital","capitalone","car","caravan","cards","care","career","careers","cars","casa","case","cash","casino","catering","catholic","cba","cbn","cbre","center","ceo","cern","cfa","cfd","chanel","channel","charity","chase","chat","cheap","chintai","christmas","chrome","church","cipriani","circle","cisco","citadel","citi","citic","city","claims","cleaning","click","clinic","clinique","clothing","cloud","club","clubmed","coach","codes","coffee","college","cologne","commbank","community","company","compare","computer","comsec","condos","construction","consulting","contact","contractors","cooking","cool","corsica","country","coupon","coupons","courses","cpa","credit","creditcard","creditunion","cricket","crown","crs","cruise","cruises","cuisinella","cymru","cyou","dad","dance","data","date","dating","datsun","day","dclk","dds","deal","dealer","deals","degree","delivery","dell","deloitte","delta","democrat","dental","dentist","desi","design","dev","dhl","diamonds","diet","digital","direct","directory","discount","discover","dish","diy","dnp","docs","doctor","dog","domains","dot","download","drive","dtv","dubai","dunlop","dupont","durban","dvag","dvr","earth","eat","eco","edeka","education","email","emerck","energy","engineer","engineering","enterprises","epson","equipment","ericsson","erni","esq","estate","eurovision","eus","events","exchange","expert","exposed","express","extraspace","fage","fail","fairwinds","faith","family","fan","fans","farm","farmers","fashion","fast","fedex","feedback","ferrari","ferrero","fidelity","fido","film","final","finance","financial","fire","firestone","firmdale","fish","fishing","fit","fitness","flickr","flights","flir","florist","flowers","fly","foo","food","football","ford","forex","forsale","forum","foundation","fox","free","fresenius","frl","frogans","frontier","ftr","fujitsu","fun","fund","furniture","futbol","fyi","gal","gallery","gallo","gallup","game","games","gap","garden","gay","gbiz","gdn","gea","gent","genting","george","ggee","gift","gifts","gives","giving","glass","gle","global","globo","gmail","gmbh","gmo","gmx","godaddy","gold","goldpoint","golf","goo","goodyear","goog","google","gop","got","grainger","graphics","gratis","green","gripe","grocery","group","gucci","guge","guide","guitars","guru","hair","hamburg","hangout","haus","hbo","hdfc","hdfcbank","health","healthcare","help","helsinki","here","hermes","hiphop","hisamitsu","hitachi","hiv","hkt","hockey","holdings","holiday","homedepot","homegoods","homes","homesense","honda","horse","hospital","host","hosting","hot","hotels","hotmail","house","how","hsbc","hughes","hyatt","hyundai","ibm","icbc","ice","icu","ieee","ifm","ikano","imamat","imdb","immo","immobilien","inc","industries","infiniti","ing","ink","institute","insurance","insure","international","intuit","investments","ipiranga","irish","ismaili","ist","istanbul","itau","itv","jaguar","java","jcb","jeep","jetzt","jewelry","jio","jll","jmp","jnj","joburg","jot","joy","jpmorgan","jprs","juegos","juniper","kaufen","kddi","kerryhotels","kerrylogistics","kerryproperties","kfh","kia","kids","kim","kindle","kitchen","kiwi","koeln","komatsu","kosher","kpmg","kpn","krd","kred","kuokgroup","kyoto","lacaixa","lamborghini","lamer","lancaster","land","landrover","lanxess","lasalle","lat","latino","latrobe","law","lawyer","lds","lease","leclerc","lefrak","legal","lego","lexus","lgbt","lidl","life","lifeinsurance","lifestyle","lighting","like","lilly","limited","limo","lincoln","link","lipsy","live","living","llc","llp","loan","loans","locker","locus","lol","london","lotte","lotto","love","lpl","lplfinancial","ltd","ltda","lundbeck","luxe","luxury","madrid","maif","maison","makeup","man","management","mango","map","market","marketing","markets","marriott","marshalls","mattel","mba","mckinsey","med","media","meet","melbourne","meme","memorial","men","menu","merck","merckmsd","miami","microsoft","mini","mint","mit","mitsubishi","mlb","mls","mma","mobile","moda","moe","moi","mom","monash","money","monster","mormon","mortgage","moscow","moto","motorcycles","mov","movie","msd","mtn","mtr","music","nab","nagoya","navy","nba","nec","netbank","netflix","network","neustar","new","news","next","nextdirect","nexus","nfl","ngo","nhk","nico","nike","nikon","ninja","nissan","nissay","nokia","norton","now","nowruz","nowtv","nra","nrw","ntt","nyc","obi","observer","office","okinawa","olayan","olayangroup","ollo","omega","one","ong","onl","online","ooo","open","oracle","orange","organic","origins","osaka","otsuka","ott","ovh","page","panasonic","paris","pars","partners","parts","party","pay","pccw","pet","pfizer","pharmacy","phd","philips","phone","photo","photography","photos","physio","pics","pictet","pictures","pid","pin","ping","pink","pioneer","pizza","place","play","playstation","plumbing","plus","pnc","pohl","poker","politie","porn","pramerica","praxi","press","prime","prod","productions","prof","progressive","promo","properties","property","protection","pru","prudential","pub","pwc","qpon","quebec","quest","racing","radio","read","realestate","realtor","realty","recipes","red","redstone","redumbrella","rehab","reise","reisen","reit","reliance","ren","rent","rentals","repair","report","republican","rest","restaurant","review","reviews","rexroth","rich","richardli","ricoh","ril","rio","rip","rocks","rodeo","rogers","room","rsvp","rugby","ruhr","run","rwe","ryukyu","saarland","safe","safety","sakura","sale","salon","samsclub","samsung","sandvik","sandvikcoromant","sanofi","sap","sarl","sas","save","saxo","sbi","sbs","scb","schaeffler","schmidt","scholarships","school","schule","schwarz","science","scot","search","seat","secure","security","seek","select","sener","services","seven","sew","sex","sexy","sfr","shangrila","sharp","shell","shia","shiksha","shoes","shop","shopping","shouji","show","silk","sina","singles","site","ski","skin","sky","skype","sling","smart","smile","sncf","soccer","social","softbank","software","sohu","solar","solutions","song","sony","soy","spa","space","sport","spot","srl","stada","staples","star","statebank","statefarm","stc","stcgroup","stockholm","storage","store","stream","studio","study","style","sucks","supplies","supply","support","surf","surgery","suzuki","swatch","swiss","sydney","systems","tab","taipei","talk","taobao","target","tatamotors","tatar","tattoo","tax","taxi","tci","tdk","team","tech","technology","temasek","tennis","teva","thd","theater","theatre","tiaa","tickets","tienda","tips","tires","tirol","tjmaxx","tjx","tkmaxx","tmall","today","tokyo","tools","top","toray","toshiba","total","tours","town","toyota","toys","trade","trading","training","travel","travelers","travelersinsurance","trust","trv","tube","tui","tunes","tushu","tvs","ubank","ubs","unicom","university","uno","uol","ups","vacations","vana","vanguard","vegas","ventures","verisign","versicherung","vet","viajes","video","vig","viking","villas","vin","vip","virgin","visa","vision","viva","vivo","vlaanderen","vodka","volvo","vote","voting","voto","voyage","wales","walmart","walter","wang","wanggou","watch","watches","weather","weatherchannel","webcam","weber","website","wed","wedding","weibo","weir","whoswho","wien","wiki","williamhill","win","windows","wine","winners","wme","wolterskluwer","woodside","work","works","world","wow","wtc","wtf","xbox","xerox","xihuan","xin","कॉम","セール","佛山","慈善","集团","在线","点看","คอม","八卦","موقع","公益","公司","香格里拉","网站","移动","我爱你","москва","католик","онлайн","сайт","联通","קום","时尚","微博","淡马锡","ファッション","орг","नेट","ストア","アマゾン","삼성","商标","商店","商城","дети","ポイント","新闻","家電","كوم","中文网","中信","娱乐","谷歌","電訊盈科","购物","クラウド","通販","网店","संगठन","餐厅","网络","ком","亚马逊","食品","飞利浦","手机","ارامكو","العليان","بازار","ابوظبي","كاثوليك","همراه","닷컴","政府","شبكة","بيتك","عرب","机构","组织机构","健康","招聘","рус","大拿","みんな","グーグル","世界","書籍","网址","닷넷","コム","天主教","游戏","vermögensberater","vermögensberatung","企业","信息","嘉里大酒店","嘉里","广东","政务","xyz","yachts","yahoo","yamaxun","yandex","yodobashi","yoga","yokohama","you","youtube","yun","zappos","zara","zero","zip","zone","zuerich","co.krd","edu.krd","art.pl","gliwice.pl","krakow.pl","poznan.pl","wroc.pl","zakopane.pl","lib.de.us","12chars.dev","12chars.it","12chars.pro","cc.ua","inf.ua","ltd.ua","611.to","a2hosted.com","cpserver.com","aaa.vodka","*.on-acorn.io","activetrail.biz","adaptable.app","adobeaemcloud.com","*.dev.adobeaemcloud.com","aem.live","hlx.live","adobeaemcloud.net","aem.page","hlx.page","hlx3.page","adobeio-static.net","adobeioruntime.net","africa.com","beep.pl","airkitapps.com","airkitapps-au.com","airkitapps.eu","aivencloud.com","akadns.net","akamai.net","akamai-staging.net","akamaiedge.net","akamaiedge-staging.net","akamaihd.net","akamaihd-staging.net","akamaiorigin.net","akamaiorigin-staging.net","akamaized.net","akamaized-staging.net","edgekey.net","edgekey-staging.net","edgesuite.net","edgesuite-staging.net","barsy.ca","*.compute.estate","*.alces.network","kasserver.com","altervista.org","alwaysdata.net","myamaze.net","execute-api.cn-north-1.amazonaws.com.cn","execute-api.cn-northwest-1.amazonaws.com.cn","execute-api.af-south-1.amazonaws.com","execute-api.ap-east-1.amazonaws.com","execute-api.ap-northeast-1.amazonaws.com","execute-api.ap-northeast-2.amazonaws.com","execute-api.ap-northeast-3.amazonaws.com","execute-api.ap-south-1.amazonaws.com","execute-api.ap-south-2.amazonaws.com","execute-api.ap-southeast-1.amazonaws.com","execute-api.ap-southeast-2.amazonaws.com","execute-api.ap-southeast-3.amazonaws.com","execute-api.ap-southeast-4.amazonaws.com","execute-api.ap-southeast-5.amazonaws.com","execute-api.ca-central-1.amazonaws.com","execute-api.ca-west-1.amazonaws.com","execute-api.eu-central-1.amazonaws.com","execute-api.eu-central-2.amazonaws.com","execute-api.eu-north-1.amazonaws.com","execute-api.eu-south-1.amazonaws.com","execute-api.eu-south-2.amazonaws.com","execute-api.eu-west-1.amazonaws.com","execute-api.eu-west-2.amazonaws.com","execute-api.eu-west-3.amazonaws.com","execute-api.il-central-1.amazonaws.com","execute-api.me-central-1.amazonaws.com","execute-api.me-south-1.amazonaws.com","execute-api.sa-east-1.amazonaws.com","execute-api.us-east-1.amazonaws.com","execute-api.us-east-2.amazonaws.com","execute-api.us-gov-east-1.amazonaws.com","execute-api.us-gov-west-1.amazonaws.com","execute-api.us-west-1.amazonaws.com","execute-api.us-west-2.amazonaws.com","cloudfront.net","auth.af-south-1.amazoncognito.com","auth.ap-east-1.amazoncognito.com","auth.ap-northeast-1.amazoncognito.com","auth.ap-northeast-2.amazoncognito.com","auth.ap-northeast-3.amazoncognito.com","auth.ap-south-1.amazoncognito.com","auth.ap-south-2.amazoncognito.com","auth.ap-southeast-1.amazoncognito.com","auth.ap-southeast-2.amazoncognito.com","auth.ap-southeast-3.amazoncognito.com","auth.ap-southeast-4.amazoncognito.com","auth.ca-central-1.amazoncognito.com","auth.ca-west-1.amazoncognito.com","auth.eu-central-1.amazoncognito.com","auth.eu-central-2.amazoncognito.com","auth.eu-north-1.amazoncognito.com","auth.eu-south-1.amazoncognito.com","auth.eu-south-2.amazoncognito.com","auth.eu-west-1.amazoncognito.com","auth.eu-west-2.amazoncognito.com","auth.eu-west-3.amazoncognito.com","auth.il-central-1.amazoncognito.com","auth.me-central-1.amazoncognito.com","auth.me-south-1.amazoncognito.com","auth.sa-east-1.amazoncognito.com","auth.us-east-1.amazoncognito.com","auth-fips.us-east-1.amazoncognito.com","auth.us-east-2.amazoncognito.com","auth-fips.us-east-2.amazoncognito.com","auth-fips.us-gov-west-1.amazoncognito.com","auth.us-west-1.amazoncognito.com","auth-fips.us-west-1.amazoncognito.com","auth.us-west-2.amazoncognito.com","auth-fips.us-west-2.amazoncognito.com","*.compute.amazonaws.com.cn","*.compute.amazonaws.com","*.compute-1.amazonaws.com","us-east-1.amazonaws.com","emrappui-prod.cn-north-1.amazonaws.com.cn","emrnotebooks-prod.cn-north-1.amazonaws.com.cn","emrstudio-prod.cn-north-1.amazonaws.com.cn","emrappui-prod.cn-northwest-1.amazonaws.com.cn","emrnotebooks-prod.cn-northwest-1.amazonaws.com.cn","emrstudio-prod.cn-northwest-1.amazonaws.com.cn","emrappui-prod.af-south-1.amazonaws.com","emrnotebooks-prod.af-south-1.amazonaws.com","emrstudio-prod.af-south-1.amazonaws.com","emrappui-prod.ap-east-1.amazonaws.com","emrnotebooks-prod.ap-east-1.amazonaws.com","emrstudio-prod.ap-east-1.amazonaws.com","emrappui-prod.ap-northeast-1.amazonaws.com","emrnotebooks-prod.ap-northeast-1.amazonaws.com","emrstudio-prod.ap-northeast-1.amazonaws.com","emrappui-prod.ap-northeast-2.amazonaws.com","emrnotebooks-prod.ap-northeast-2.amazonaws.com","emrstudio-prod.ap-northeast-2.amazonaws.com","emrappui-prod.ap-northeast-3.amazonaws.com","emrnotebooks-prod.ap-northeast-3.amazonaws.com","emrstudio-prod.ap-northeast-3.amazonaws.com","emrappui-prod.ap-south-1.amazonaws.com","emrnotebooks-prod.ap-south-1.amazonaws.com","emrstudio-prod.ap-south-1.amazonaws.com","emrappui-prod.ap-south-2.amazonaws.com","emrnotebooks-prod.ap-south-2.amazonaws.com","emrstudio-prod.ap-south-2.amazonaws.com","emrappui-prod.ap-southeast-1.amazonaws.com","emrnotebooks-prod.ap-southeast-1.amazonaws.com","emrstudio-prod.ap-southeast-1.amazonaws.com","emrappui-prod.ap-southeast-2.amazonaws.com","emrnotebooks-prod.ap-southeast-2.amazonaws.com","emrstudio-prod.ap-southeast-2.amazonaws.com","emrappui-prod.ap-southeast-3.amazonaws.com","emrnotebooks-prod.ap-southeast-3.amazonaws.com","emrstudio-prod.ap-southeast-3.amazonaws.com","emrappui-prod.ap-southeast-4.amazonaws.com","emrnotebooks-prod.ap-southeast-4.amazonaws.com","emrstudio-prod.ap-southeast-4.amazonaws.com","emrappui-prod.ca-central-1.amazonaws.com","emrnotebooks-prod.ca-central-1.amazonaws.com","emrstudio-prod.ca-central-1.amazonaws.com","emrappui-prod.ca-west-1.amazonaws.com","emrnotebooks-prod.ca-west-1.amazonaws.com","emrstudio-prod.ca-west-1.amazonaws.com","emrappui-prod.eu-central-1.amazonaws.com","emrnotebooks-prod.eu-central-1.amazonaws.com","emrstudio-prod.eu-central-1.amazonaws.com","emrappui-prod.eu-central-2.amazonaws.com","emrnotebooks-prod.eu-central-2.amazonaws.com","emrstudio-prod.eu-central-2.amazonaws.com","emrappui-prod.eu-north-1.amazonaws.com","emrnotebooks-prod.eu-north-1.amazonaws.com","emrstudio-prod.eu-north-1.amazonaws.com","emrappui-prod.eu-south-1.amazonaws.com","emrnotebooks-prod.eu-south-1.amazonaws.com","emrstudio-prod.eu-south-1.amazonaws.com","emrappui-prod.eu-south-2.amazonaws.com","emrnotebooks-prod.eu-south-2.amazonaws.com","emrstudio-prod.eu-south-2.amazonaws.com","emrappui-prod.eu-west-1.amazonaws.com","emrnotebooks-prod.eu-west-1.amazonaws.com","emrstudio-prod.eu-west-1.amazonaws.com","emrappui-prod.eu-west-2.amazonaws.com","emrnotebooks-prod.eu-west-2.amazonaws.com","emrstudio-prod.eu-west-2.amazonaws.com","emrappui-prod.eu-west-3.amazonaws.com","emrnotebooks-prod.eu-west-3.amazonaws.com","emrstudio-prod.eu-west-3.amazonaws.com","emrappui-prod.il-central-1.amazonaws.com","emrnotebooks-prod.il-central-1.amazonaws.com","emrstudio-prod.il-central-1.amazonaws.com","emrappui-prod.me-central-1.amazonaws.com","emrnotebooks-prod.me-central-1.amazonaws.com","emrstudio-prod.me-central-1.amazonaws.com","emrappui-prod.me-south-1.amazonaws.com","emrnotebooks-prod.me-south-1.amazonaws.com","emrstudio-prod.me-south-1.amazonaws.com","emrappui-prod.sa-east-1.amazonaws.com","emrnotebooks-prod.sa-east-1.amazonaws.com","emrstudio-prod.sa-east-1.amazonaws.com","emrappui-prod.us-east-1.amazonaws.com","emrnotebooks-prod.us-east-1.amazonaws.com","emrstudio-prod.us-east-1.amazonaws.com","emrappui-prod.us-east-2.amazonaws.com","emrnotebooks-prod.us-east-2.amazonaws.com","emrstudio-prod.us-east-2.amazonaws.com","emrappui-prod.us-gov-east-1.amazonaws.com","emrnotebooks-prod.us-gov-east-1.amazonaws.com","emrstudio-prod.us-gov-east-1.amazonaws.com","emrappui-prod.us-gov-west-1.amazonaws.com","emrnotebooks-prod.us-gov-west-1.amazonaws.com","emrstudio-prod.us-gov-west-1.amazonaws.com","emrappui-prod.us-west-1.amazonaws.com","emrnotebooks-prod.us-west-1.amazonaws.com","emrstudio-prod.us-west-1.amazonaws.com","emrappui-prod.us-west-2.amazonaws.com","emrnotebooks-prod.us-west-2.amazonaws.com","emrstudio-prod.us-west-2.amazonaws.com","*.cn-north-1.airflow.amazonaws.com.cn","*.cn-northwest-1.airflow.amazonaws.com.cn","*.af-south-1.airflow.amazonaws.com","*.ap-east-1.airflow.amazonaws.com","*.ap-northeast-1.airflow.amazonaws.com","*.ap-northeast-2.airflow.amazonaws.com","*.ap-northeast-3.airflow.amazonaws.com","*.ap-south-1.airflow.amazonaws.com","*.ap-south-2.airflow.amazonaws.com","*.ap-southeast-1.airflow.amazonaws.com","*.ap-southeast-2.airflow.amazonaws.com","*.ap-southeast-3.airflow.amazonaws.com","*.ap-southeast-4.airflow.amazonaws.com","*.ca-central-1.airflow.amazonaws.com","*.ca-west-1.airflow.amazonaws.com","*.eu-central-1.airflow.amazonaws.com","*.eu-central-2.airflow.amazonaws.com","*.eu-north-1.airflow.amazonaws.com","*.eu-south-1.airflow.amazonaws.com","*.eu-south-2.airflow.amazonaws.com","*.eu-west-1.airflow.amazonaws.com","*.eu-west-2.airflow.amazonaws.com","*.eu-west-3.airflow.amazonaws.com","*.il-central-1.airflow.amazonaws.com","*.me-central-1.airflow.amazonaws.com","*.me-south-1.airflow.amazonaws.com","*.sa-east-1.airflow.amazonaws.com","*.us-east-1.airflow.amazonaws.com","*.us-east-2.airflow.amazonaws.com","*.us-west-1.airflow.amazonaws.com","*.us-west-2.airflow.amazonaws.com","s3.dualstack.cn-north-1.amazonaws.com.cn","s3-accesspoint.dualstack.cn-north-1.amazonaws.com.cn","s3-website.dualstack.cn-north-1.amazonaws.com.cn","s3.cn-north-1.amazonaws.com.cn","s3-accesspoint.cn-north-1.amazonaws.com.cn","s3-deprecated.cn-north-1.amazonaws.com.cn","s3-object-lambda.cn-north-1.amazonaws.com.cn","s3-website.cn-north-1.amazonaws.com.cn","s3.dualstack.cn-northwest-1.amazonaws.com.cn","s3-accesspoint.dualstack.cn-northwest-1.amazonaws.com.cn","s3.cn-northwest-1.amazonaws.com.cn","s3-accesspoint.cn-northwest-1.amazonaws.com.cn","s3-object-lambda.cn-northwest-1.amazonaws.com.cn","s3-website.cn-northwest-1.amazonaws.com.cn","s3.dualstack.af-south-1.amazonaws.com","s3-accesspoint.dualstack.af-south-1.amazonaws.com","s3-website.dualstack.af-south-1.amazonaws.com","s3.af-south-1.amazonaws.com","s3-accesspoint.af-south-1.amazonaws.com","s3-object-lambda.af-south-1.amazonaws.com","s3-website.af-south-1.amazonaws.com","s3.dualstack.ap-east-1.amazonaws.com","s3-accesspoint.dualstack.ap-east-1.amazonaws.com","s3.ap-east-1.amazonaws.com","s3-accesspoint.ap-east-1.amazonaws.com","s3-object-lambda.ap-east-1.amazonaws.com","s3-website.ap-east-1.amazonaws.com","s3.dualstack.ap-northeast-1.amazonaws.com","s3-accesspoint.dualstack.ap-northeast-1.amazonaws.com","s3-website.dualstack.ap-northeast-1.amazonaws.com","s3.ap-northeast-1.amazonaws.com","s3-accesspoint.ap-northeast-1.amazonaws.com","s3-object-lambda.ap-northeast-1.amazonaws.com","s3-website.ap-northeast-1.amazonaws.com","s3.dualstack.ap-northeast-2.amazonaws.com","s3-accesspoint.dualstack.ap-northeast-2.amazonaws.com","s3-website.dualstack.ap-northeast-2.amazonaws.com","s3.ap-northeast-2.amazonaws.com","s3-accesspoint.ap-northeast-2.amazonaws.com","s3-object-lambda.ap-northeast-2.amazonaws.com","s3-website.ap-northeast-2.amazonaws.com","s3.dualstack.ap-northeast-3.amazonaws.com","s3-accesspoint.dualstack.ap-northeast-3.amazonaws.com","s3-website.dualstack.ap-northeast-3.amazonaws.com","s3.ap-northeast-3.amazonaws.com","s3-accesspoint.ap-northeast-3.amazonaws.com","s3-object-lambda.ap-northeast-3.amazonaws.com","s3-website.ap-northeast-3.amazonaws.com","s3.dualstack.ap-south-1.amazonaws.com","s3-accesspoint.dualstack.ap-south-1.amazonaws.com","s3-website.dualstack.ap-south-1.amazonaws.com","s3.ap-south-1.amazonaws.com","s3-accesspoint.ap-south-1.amazonaws.com","s3-object-lambda.ap-south-1.amazonaws.com","s3-website.ap-south-1.amazonaws.com","s3.dualstack.ap-south-2.amazonaws.com","s3-accesspoint.dualstack.ap-south-2.amazonaws.com","s3-website.dualstack.ap-south-2.amazonaws.com","s3.ap-south-2.amazonaws.com","s3-accesspoint.ap-south-2.amazonaws.com","s3-object-lambda.ap-south-2.amazonaws.com","s3-website.ap-south-2.amazonaws.com","s3.dualstack.ap-southeast-1.amazonaws.com","s3-accesspoint.dualstack.ap-southeast-1.amazonaws.com","s3-website.dualstack.ap-southeast-1.amazonaws.com","s3.ap-southeast-1.amazonaws.com","s3-accesspoint.ap-southeast-1.amazonaws.com","s3-object-lambda.ap-southeast-1.amazonaws.com","s3-website.ap-southeast-1.amazonaws.com","s3.dualstack.ap-southeast-2.amazonaws.com","s3-accesspoint.dualstack.ap-southeast-2.amazonaws.com","s3-website.dualstack.ap-southeast-2.amazonaws.com","s3.ap-southeast-2.amazonaws.com","s3-accesspoint.ap-southeast-2.amazonaws.com","s3-object-lambda.ap-southeast-2.amazonaws.com","s3-website.ap-southeast-2.amazonaws.com","s3.dualstack.ap-southeast-3.amazonaws.com","s3-accesspoint.dualstack.ap-southeast-3.amazonaws.com","s3-website.dualstack.ap-southeast-3.amazonaws.com","s3.ap-southeast-3.amazonaws.com","s3-accesspoint.ap-southeast-3.amazonaws.com","s3-object-lambda.ap-southeast-3.amazonaws.com","s3-website.ap-southeast-3.amazonaws.com","s3.dualstack.ap-southeast-4.amazonaws.com","s3-accesspoint.dualstack.ap-southeast-4.amazonaws.com","s3-website.dualstack.ap-southeast-4.amazonaws.com","s3.ap-southeast-4.amazonaws.com","s3-accesspoint.ap-southeast-4.amazonaws.com","s3-object-lambda.ap-southeast-4.amazonaws.com","s3-website.ap-southeast-4.amazonaws.com","s3.dualstack.ap-southeast-5.amazonaws.com","s3-accesspoint.dualstack.ap-southeast-5.amazonaws.com","s3-website.dualstack.ap-southeast-5.amazonaws.com","s3.ap-southeast-5.amazonaws.com","s3-accesspoint.ap-southeast-5.amazonaws.com","s3-deprecated.ap-southeast-5.amazonaws.com","s3-object-lambda.ap-southeast-5.amazonaws.com","s3-website.ap-southeast-5.amazonaws.com","s3.dualstack.ca-central-1.amazonaws.com","s3-accesspoint.dualstack.ca-central-1.amazonaws.com","s3-accesspoint-fips.dualstack.ca-central-1.amazonaws.com","s3-fips.dualstack.ca-central-1.amazonaws.com","s3-website.dualstack.ca-central-1.amazonaws.com","s3.ca-central-1.amazonaws.com","s3-accesspoint.ca-central-1.amazonaws.com","s3-accesspoint-fips.ca-central-1.amazonaws.com","s3-fips.ca-central-1.amazonaws.com","s3-object-lambda.ca-central-1.amazonaws.com","s3-website.ca-central-1.amazonaws.com","s3.dualstack.ca-west-1.amazonaws.com","s3-accesspoint.dualstack.ca-west-1.amazonaws.com","s3-accesspoint-fips.dualstack.ca-west-1.amazonaws.com","s3-fips.dualstack.ca-west-1.amazonaws.com","s3-website.dualstack.ca-west-1.amazonaws.com","s3.ca-west-1.amazonaws.com","s3-accesspoint.ca-west-1.amazonaws.com","s3-accesspoint-fips.ca-west-1.amazonaws.com","s3-fips.ca-west-1.amazonaws.com","s3-object-lambda.ca-west-1.amazonaws.com","s3-website.ca-west-1.amazonaws.com","s3.dualstack.eu-central-1.amazonaws.com","s3-accesspoint.dualstack.eu-central-1.amazonaws.com","s3-website.dualstack.eu-central-1.amazonaws.com","s3.eu-central-1.amazonaws.com","s3-accesspoint.eu-central-1.amazonaws.com","s3-object-lambda.eu-central-1.amazonaws.com","s3-website.eu-central-1.amazonaws.com","s3.dualstack.eu-central-2.amazonaws.com","s3-accesspoint.dualstack.eu-central-2.amazonaws.com","s3-website.dualstack.eu-central-2.amazonaws.com","s3.eu-central-2.amazonaws.com","s3-accesspoint.eu-central-2.amazonaws.com","s3-object-lambda.eu-central-2.amazonaws.com","s3-website.eu-central-2.amazonaws.com","s3.dualstack.eu-north-1.amazonaws.com","s3-accesspoint.dualstack.eu-north-1.amazonaws.com","s3.eu-north-1.amazonaws.com","s3-accesspoint.eu-north-1.amazonaws.com","s3-object-lambda.eu-north-1.amazonaws.com","s3-website.eu-north-1.amazonaws.com","s3.dualstack.eu-south-1.amazonaws.com","s3-accesspoint.dualstack.eu-south-1.amazonaws.com","s3-website.dualstack.eu-south-1.amazonaws.com","s3.eu-south-1.amazonaws.com","s3-accesspoint.eu-south-1.amazonaws.com","s3-object-lambda.eu-south-1.amazonaws.com","s3-website.eu-south-1.amazonaws.com","s3.dualstack.eu-south-2.amazonaws.com","s3-accesspoint.dualstack.eu-south-2.amazonaws.com","s3-website.dualstack.eu-south-2.amazonaws.com","s3.eu-south-2.amazonaws.com","s3-accesspoint.eu-south-2.amazonaws.com","s3-object-lambda.eu-south-2.amazonaws.com","s3-website.eu-south-2.amazonaws.com","s3.dualstack.eu-west-1.amazonaws.com","s3-accesspoint.dualstack.eu-west-1.amazonaws.com","s3-website.dualstack.eu-west-1.amazonaws.com","s3.eu-west-1.amazonaws.com","s3-accesspoint.eu-west-1.amazonaws.com","s3-deprecated.eu-west-1.amazonaws.com","s3-object-lambda.eu-west-1.amazonaws.com","s3-website.eu-west-1.amazonaws.com","s3.dualstack.eu-west-2.amazonaws.com","s3-accesspoint.dualstack.eu-west-2.amazonaws.com","s3.eu-west-2.amazonaws.com","s3-accesspoint.eu-west-2.amazonaws.com","s3-object-lambda.eu-west-2.amazonaws.com","s3-website.eu-west-2.amazonaws.com","s3.dualstack.eu-west-3.amazonaws.com","s3-accesspoint.dualstack.eu-west-3.amazonaws.com","s3-website.dualstack.eu-west-3.amazonaws.com","s3.eu-west-3.amazonaws.com","s3-accesspoint.eu-west-3.amazonaws.com","s3-object-lambda.eu-west-3.amazonaws.com","s3-website.eu-west-3.amazonaws.com","s3.dualstack.il-central-1.amazonaws.com","s3-accesspoint.dualstack.il-central-1.amazonaws.com","s3-website.dualstack.il-central-1.amazonaws.com","s3.il-central-1.amazonaws.com","s3-accesspoint.il-central-1.amazonaws.com","s3-object-lambda.il-central-1.amazonaws.com","s3-website.il-central-1.amazonaws.com","s3.dualstack.me-central-1.amazonaws.com","s3-accesspoint.dualstack.me-central-1.amazonaws.com","s3-website.dualstack.me-central-1.amazonaws.com","s3.me-central-1.amazonaws.com","s3-accesspoint.me-central-1.amazonaws.com","s3-object-lambda.me-central-1.amazonaws.com","s3-website.me-central-1.amazonaws.com","s3.dualstack.me-south-1.amazonaws.com","s3-accesspoint.dualstack.me-south-1.amazonaws.com","s3.me-south-1.amazonaws.com","s3-accesspoint.me-south-1.amazonaws.com","s3-object-lambda.me-south-1.amazonaws.com","s3-website.me-south-1.amazonaws.com","s3.amazonaws.com","s3-1.amazonaws.com","s3-ap-east-1.amazonaws.com","s3-ap-northeast-1.amazonaws.com","s3-ap-northeast-2.amazonaws.com","s3-ap-northeast-3.amazonaws.com","s3-ap-south-1.amazonaws.com","s3-ap-southeast-1.amazonaws.com","s3-ap-southeast-2.amazonaws.com","s3-ca-central-1.amazonaws.com","s3-eu-central-1.amazonaws.com","s3-eu-north-1.amazonaws.com","s3-eu-west-1.amazonaws.com","s3-eu-west-2.amazonaws.com","s3-eu-west-3.amazonaws.com","s3-external-1.amazonaws.com","s3-fips-us-gov-east-1.amazonaws.com","s3-fips-us-gov-west-1.amazonaws.com","mrap.accesspoint.s3-global.amazonaws.com","s3-me-south-1.amazonaws.com","s3-sa-east-1.amazonaws.com","s3-us-east-2.amazonaws.com","s3-us-gov-east-1.amazonaws.com","s3-us-gov-west-1.amazonaws.com","s3-us-west-1.amazonaws.com","s3-us-west-2.amazonaws.com","s3-website-ap-northeast-1.amazonaws.com","s3-website-ap-southeast-1.amazonaws.com","s3-website-ap-southeast-2.amazonaws.com","s3-website-eu-west-1.amazonaws.com","s3-website-sa-east-1.amazonaws.com","s3-website-us-east-1.amazonaws.com","s3-website-us-gov-west-1.amazonaws.com","s3-website-us-west-1.amazonaws.com","s3-website-us-west-2.amazonaws.com","s3.dualstack.sa-east-1.amazonaws.com","s3-accesspoint.dualstack.sa-east-1.amazonaws.com","s3-website.dualstack.sa-east-1.amazonaws.com","s3.sa-east-1.amazonaws.com","s3-accesspoint.sa-east-1.amazonaws.com","s3-object-lambda.sa-east-1.amazonaws.com","s3-website.sa-east-1.amazonaws.com","s3.dualstack.us-east-1.amazonaws.com","s3-accesspoint.dualstack.us-east-1.amazonaws.com","s3-accesspoint-fips.dualstack.us-east-1.amazonaws.com","s3-fips.dualstack.us-east-1.amazonaws.com","s3-website.dualstack.us-east-1.amazonaws.com","s3.us-east-1.amazonaws.com","s3-accesspoint.us-east-1.amazonaws.com","s3-accesspoint-fips.us-east-1.amazonaws.com","s3-deprecated.us-east-1.amazonaws.com","s3-fips.us-east-1.amazonaws.com","s3-object-lambda.us-east-1.amazonaws.com","s3-website.us-east-1.amazonaws.com","s3.dualstack.us-east-2.amazonaws.com","s3-accesspoint.dualstack.us-east-2.amazonaws.com","s3-accesspoint-fips.dualstack.us-east-2.amazonaws.com","s3-fips.dualstack.us-east-2.amazonaws.com","s3-website.dualstack.us-east-2.amazonaws.com","s3.us-east-2.amazonaws.com","s3-accesspoint.us-east-2.amazonaws.com","s3-accesspoint-fips.us-east-2.amazonaws.com","s3-deprecated.us-east-2.amazonaws.com","s3-fips.us-east-2.amazonaws.com","s3-object-lambda.us-east-2.amazonaws.com","s3-website.us-east-2.amazonaws.com","s3.dualstack.us-gov-east-1.amazonaws.com","s3-accesspoint.dualstack.us-gov-east-1.amazonaws.com","s3-accesspoint-fips.dualstack.us-gov-east-1.amazonaws.com","s3-fips.dualstack.us-gov-east-1.amazonaws.com","s3.us-gov-east-1.amazonaws.com","s3-accesspoint.us-gov-east-1.amazonaws.com","s3-accesspoint-fips.us-gov-east-1.amazonaws.com","s3-fips.us-gov-east-1.amazonaws.com","s3-object-lambda.us-gov-east-1.amazonaws.com","s3-website.us-gov-east-1.amazonaws.com","s3.dualstack.us-gov-west-1.amazonaws.com","s3-accesspoint.dualstack.us-gov-west-1.amazonaws.com","s3-accesspoint-fips.dualstack.us-gov-west-1.amazonaws.com","s3-fips.dualstack.us-gov-west-1.amazonaws.com","s3.us-gov-west-1.amazonaws.com","s3-accesspoint.us-gov-west-1.amazonaws.com","s3-accesspoint-fips.us-gov-west-1.amazonaws.com","s3-fips.us-gov-west-1.amazonaws.com","s3-object-lambda.us-gov-west-1.amazonaws.com","s3-website.us-gov-west-1.amazonaws.com","s3.dualstack.us-west-1.amazonaws.com","s3-accesspoint.dualstack.us-west-1.amazonaws.com","s3-accesspoint-fips.dualstack.us-west-1.amazonaws.com","s3-fips.dualstack.us-west-1.amazonaws.com","s3-website.dualstack.us-west-1.amazonaws.com","s3.us-west-1.amazonaws.com","s3-accesspoint.us-west-1.amazonaws.com","s3-accesspoint-fips.us-west-1.amazonaws.com","s3-fips.us-west-1.amazonaws.com","s3-object-lambda.us-west-1.amazonaws.com","s3-website.us-west-1.amazonaws.com","s3.dualstack.us-west-2.amazonaws.com","s3-accesspoint.dualstack.us-west-2.amazonaws.com","s3-accesspoint-fips.dualstack.us-west-2.amazonaws.com","s3-fips.dualstack.us-west-2.amazonaws.com","s3-website.dualstack.us-west-2.amazonaws.com","s3.us-west-2.amazonaws.com","s3-accesspoint.us-west-2.amazonaws.com","s3-accesspoint-fips.us-west-2.amazonaws.com","s3-deprecated.us-west-2.amazonaws.com","s3-fips.us-west-2.amazonaws.com","s3-object-lambda.us-west-2.amazonaws.com","s3-website.us-west-2.amazonaws.com","labeling.ap-northeast-1.sagemaker.aws","labeling.ap-northeast-2.sagemaker.aws","labeling.ap-south-1.sagemaker.aws","labeling.ap-southeast-1.sagemaker.aws","labeling.ap-southeast-2.sagemaker.aws","labeling.ca-central-1.sagemaker.aws","labeling.eu-central-1.sagemaker.aws","labeling.eu-west-1.sagemaker.aws","labeling.eu-west-2.sagemaker.aws","labeling.us-east-1.sagemaker.aws","labeling.us-east-2.sagemaker.aws","labeling.us-west-2.sagemaker.aws","notebook.af-south-1.sagemaker.aws","notebook.ap-east-1.sagemaker.aws","notebook.ap-northeast-1.sagemaker.aws","notebook.ap-northeast-2.sagemaker.aws","notebook.ap-northeast-3.sagemaker.aws","notebook.ap-south-1.sagemaker.aws","notebook.ap-south-2.sagemaker.aws","notebook.ap-southeast-1.sagemaker.aws","notebook.ap-southeast-2.sagemaker.aws","notebook.ap-southeast-3.sagemaker.aws","notebook.ap-southeast-4.sagemaker.aws","notebook.ca-central-1.sagemaker.aws","notebook-fips.ca-central-1.sagemaker.aws","notebook.ca-west-1.sagemaker.aws","notebook-fips.ca-west-1.sagemaker.aws","notebook.eu-central-1.sagemaker.aws","notebook.eu-central-2.sagemaker.aws","notebook.eu-north-1.sagemaker.aws","notebook.eu-south-1.sagemaker.aws","notebook.eu-south-2.sagemaker.aws","notebook.eu-west-1.sagemaker.aws","notebook.eu-west-2.sagemaker.aws","notebook.eu-west-3.sagemaker.aws","notebook.il-central-1.sagemaker.aws","notebook.me-central-1.sagemaker.aws","notebook.me-south-1.sagemaker.aws","notebook.sa-east-1.sagemaker.aws","notebook.us-east-1.sagemaker.aws","notebook-fips.us-east-1.sagemaker.aws","notebook.us-east-2.sagemaker.aws","notebook-fips.us-east-2.sagemaker.aws","notebook.us-gov-east-1.sagemaker.aws","notebook-fips.us-gov-east-1.sagemaker.aws","notebook.us-gov-west-1.sagemaker.aws","notebook-fips.us-gov-west-1.sagemaker.aws","notebook.us-west-1.sagemaker.aws","notebook-fips.us-west-1.sagemaker.aws","notebook.us-west-2.sagemaker.aws","notebook-fips.us-west-2.sagemaker.aws","notebook.cn-north-1.sagemaker.com.cn","notebook.cn-northwest-1.sagemaker.com.cn","studio.af-south-1.sagemaker.aws","studio.ap-east-1.sagemaker.aws","studio.ap-northeast-1.sagemaker.aws","studio.ap-northeast-2.sagemaker.aws","studio.ap-northeast-3.sagemaker.aws","studio.ap-south-1.sagemaker.aws","studio.ap-southeast-1.sagemaker.aws","studio.ap-southeast-2.sagemaker.aws","studio.ap-southeast-3.sagemaker.aws","studio.ca-central-1.sagemaker.aws","studio.eu-central-1.sagemaker.aws","studio.eu-north-1.sagemaker.aws","studio.eu-south-1.sagemaker.aws","studio.eu-south-2.sagemaker.aws","studio.eu-west-1.sagemaker.aws","studio.eu-west-2.sagemaker.aws","studio.eu-west-3.sagemaker.aws","studio.il-central-1.sagemaker.aws","studio.me-central-1.sagemaker.aws","studio.me-south-1.sagemaker.aws","studio.sa-east-1.sagemaker.aws","studio.us-east-1.sagemaker.aws","studio.us-east-2.sagemaker.aws","studio.us-gov-east-1.sagemaker.aws","studio-fips.us-gov-east-1.sagemaker.aws","studio.us-gov-west-1.sagemaker.aws","studio-fips.us-gov-west-1.sagemaker.aws","studio.us-west-1.sagemaker.aws","studio.us-west-2.sagemaker.aws","studio.cn-north-1.sagemaker.com.cn","studio.cn-northwest-1.sagemaker.com.cn","*.experiments.sagemaker.aws","analytics-gateway.ap-northeast-1.amazonaws.com","analytics-gateway.ap-northeast-2.amazonaws.com","analytics-gateway.ap-south-1.amazonaws.com","analytics-gateway.ap-southeast-1.amazonaws.com","analytics-gateway.ap-southeast-2.amazonaws.com","analytics-gateway.eu-central-1.amazonaws.com","analytics-gateway.eu-west-1.amazonaws.com","analytics-gateway.us-east-1.amazonaws.com","analytics-gateway.us-east-2.amazonaws.com","analytics-gateway.us-west-2.amazonaws.com","amplifyapp.com","*.awsapprunner.com","webview-assets.aws-cloud9.af-south-1.amazonaws.com","vfs.cloud9.af-south-1.amazonaws.com","webview-assets.cloud9.af-south-1.amazonaws.com","webview-assets.aws-cloud9.ap-east-1.amazonaws.com","vfs.cloud9.ap-east-1.amazonaws.com","webview-assets.cloud9.ap-east-1.amazonaws.com","webview-assets.aws-cloud9.ap-northeast-1.amazonaws.com","vfs.cloud9.ap-northeast-1.amazonaws.com","webview-assets.cloud9.ap-northeast-1.amazonaws.com","webview-assets.aws-cloud9.ap-northeast-2.amazonaws.com","vfs.cloud9.ap-northeast-2.amazonaws.com","webview-assets.cloud9.ap-northeast-2.amazonaws.com","webview-assets.aws-cloud9.ap-northeast-3.amazonaws.com","vfs.cloud9.ap-northeast-3.amazonaws.com","webview-assets.cloud9.ap-northeast-3.amazonaws.com","webview-assets.aws-cloud9.ap-south-1.amazonaws.com","vfs.cloud9.ap-south-1.amazonaws.com","webview-assets.cloud9.ap-south-1.amazonaws.com","webview-assets.aws-cloud9.ap-southeast-1.amazonaws.com","vfs.cloud9.ap-southeast-1.amazonaws.com","webview-assets.cloud9.ap-southeast-1.amazonaws.com","webview-assets.aws-cloud9.ap-southeast-2.amazonaws.com","vfs.cloud9.ap-southeast-2.amazonaws.com","webview-assets.cloud9.ap-southeast-2.amazonaws.com","webview-assets.aws-cloud9.ca-central-1.amazonaws.com","vfs.cloud9.ca-central-1.amazonaws.com","webview-assets.cloud9.ca-central-1.amazonaws.com","webview-assets.aws-cloud9.eu-central-1.amazonaws.com","vfs.cloud9.eu-central-1.amazonaws.com","webview-assets.cloud9.eu-central-1.amazonaws.com","webview-assets.aws-cloud9.eu-north-1.amazonaws.com","vfs.cloud9.eu-north-1.amazonaws.com","webview-assets.cloud9.eu-north-1.amazonaws.com","webview-assets.aws-cloud9.eu-south-1.amazonaws.com","vfs.cloud9.eu-south-1.amazonaws.com","webview-assets.cloud9.eu-south-1.amazonaws.com","webview-assets.aws-cloud9.eu-west-1.amazonaws.com","vfs.cloud9.eu-west-1.amazonaws.com","webview-assets.cloud9.eu-west-1.amazonaws.com","webview-assets.aws-cloud9.eu-west-2.amazonaws.com","vfs.cloud9.eu-west-2.amazonaws.com","webview-assets.cloud9.eu-west-2.amazonaws.com","webview-assets.aws-cloud9.eu-west-3.amazonaws.com","vfs.cloud9.eu-west-3.amazonaws.com","webview-assets.cloud9.eu-west-3.amazonaws.com","webview-assets.aws-cloud9.il-central-1.amazonaws.com","vfs.cloud9.il-central-1.amazonaws.com","webview-assets.aws-cloud9.me-south-1.amazonaws.com","vfs.cloud9.me-south-1.amazonaws.com","webview-assets.cloud9.me-south-1.amazonaws.com","webview-assets.aws-cloud9.sa-east-1.amazonaws.com","vfs.cloud9.sa-east-1.amazonaws.com","webview-assets.cloud9.sa-east-1.amazonaws.com","webview-assets.aws-cloud9.us-east-1.amazonaws.com","vfs.cloud9.us-east-1.amazonaws.com","webview-assets.cloud9.us-east-1.amazonaws.com","webview-assets.aws-cloud9.us-east-2.amazonaws.com","vfs.cloud9.us-east-2.amazonaws.com","webview-assets.cloud9.us-east-2.amazonaws.com","webview-assets.aws-cloud9.us-west-1.amazonaws.com","vfs.cloud9.us-west-1.amazonaws.com","webview-assets.cloud9.us-west-1.amazonaws.com","webview-assets.aws-cloud9.us-west-2.amazonaws.com","vfs.cloud9.us-west-2.amazonaws.com","webview-assets.cloud9.us-west-2.amazonaws.com","awsapps.com","cn-north-1.eb.amazonaws.com.cn","cn-northwest-1.eb.amazonaws.com.cn","elasticbeanstalk.com","af-south-1.elasticbeanstalk.com","ap-east-1.elasticbeanstalk.com","ap-northeast-1.elasticbeanstalk.com","ap-northeast-2.elasticbeanstalk.com","ap-northeast-3.elasticbeanstalk.com","ap-south-1.elasticbeanstalk.com","ap-southeast-1.elasticbeanstalk.com","ap-southeast-2.elasticbeanstalk.com","ap-southeast-3.elasticbeanstalk.com","ca-central-1.elasticbeanstalk.com","eu-central-1.elasticbeanstalk.com","eu-north-1.elasticbeanstalk.com","eu-south-1.elasticbeanstalk.com","eu-west-1.elasticbeanstalk.com","eu-west-2.elasticbeanstalk.com","eu-west-3.elasticbeanstalk.com","il-central-1.elasticbeanstalk.com","me-south-1.elasticbeanstalk.com","sa-east-1.elasticbeanstalk.com","us-east-1.elasticbeanstalk.com","us-east-2.elasticbeanstalk.com","us-gov-east-1.elasticbeanstalk.com","us-gov-west-1.elasticbeanstalk.com","us-west-1.elasticbeanstalk.com","us-west-2.elasticbeanstalk.com","*.elb.amazonaws.com.cn","*.elb.amazonaws.com","awsglobalaccelerator.com","*.private.repost.aws","eero.online","eero-stage.online","apigee.io","panel.dev","siiites.com","appspacehosted.com","appspaceusercontent.com","appudo.net","on-aptible.com","f5.si","arvanedge.ir","user.aseinet.ne.jp","gv.vc","d.gv.vc","user.party.eus","pimienta.org","poivron.org","potager.org","sweetpepper.org","myasustor.com","cdn.prod.atlassian-dev.net","translated.page","myfritz.link","myfritz.net","onavstack.net","*.awdev.ca","*.advisor.ws","ecommerce-shop.pl","b-data.io","balena-devices.com","base.ec","official.ec","buyshop.jp","fashionstore.jp","handcrafted.jp","kawaiishop.jp","supersale.jp","theshop.jp","shopselect.net","base.shop","beagleboard.io","*.beget.app","pages.gay","bnr.la","bitbucket.io","blackbaudcdn.net","of.je","bluebite.io","boomla.net","boutir.com","boxfuse.io","square7.ch","bplaced.com","bplaced.de","square7.de","bplaced.net","square7.net","*.s.brave.io","shop.brendly.hr","shop.brendly.rs","browsersafetymark.io","radio.am","radio.fm","uk0.bigv.io","dh.bytemark.co.uk","vm.bytemark.co.uk","cafjs.com","canva-apps.cn","*.my.canvasite.cn","canva-apps.com","*.my.canva.site","drr.ac","uwu.ai","carrd.co","crd.co","ju.mp","api.gov.uk","cdn77-storage.com","rsc.contentproxy9.cz","r.cdn77.net","cdn77-ssl.net","c.cdn77.org","rsc.cdn77.org","ssl.origin.cdn77-secure.org","za.bz","br.com","cn.com","de.com","eu.com","jpn.com","mex.com","ru.com","sa.com","uk.com","us.com","za.com","com.de","gb.net","hu.net","jp.net","se.net","uk.net","ae.org","com.se","cx.ua","discourse.group","discourse.team","clerk.app","clerkstage.app","*.lcl.dev","*.lclstage.dev","*.stg.dev","*.stgstage.dev","cleverapps.cc","*.services.clever-cloud.com","cleverapps.io","cleverapps.tech","clickrising.net","cloudns.asia","cloudns.be","cloud-ip.biz","cloudns.biz","cloudns.cc","cloudns.ch","cloudns.cl","cloudns.club","dnsabr.com","ip-ddns.com","cloudns.cx","cloudns.eu","cloudns.in","cloudns.info","ddns-ip.net","dns-cloud.net","dns-dynamic.net","cloudns.nz","cloudns.org","ip-dynamic.org","cloudns.ph","cloudns.pro","cloudns.pw","cloudns.us","c66.me","cloud66.ws","cloud66.zone","jdevcloud.com","wpdevcloud.com","cloudaccess.host","freesite.host","cloudaccess.net","*.cloudera.site","cf-ipfs.com","cloudflare-ipfs.com","trycloudflare.com","pages.dev","r2.dev","workers.dev","cloudflare.net","cdn.cloudflare.net","cdn.cloudflareanycast.net","cdn.cloudflarecn.net","cdn.cloudflareglobal.net","cust.cloudscale.ch","objects.lpg.cloudscale.ch","objects.rma.cloudscale.ch","wnext.app","cnpy.gdn","*.otap.co","co.ca","co.com","codeberg.page","csb.app","preview.csb.app","co.nl","co.no","webhosting.be","hosting-cluster.nl","ctfcloud.net","convex.site","ac.ru","edu.ru","gov.ru","int.ru","mil.ru","test.ru","dyn.cosidns.de","dnsupdater.de","dynamisches-dns.de","internet-dns.de","l-o-g-i-n.de","dynamic-dns.info","feste-ip.net","knx-server.net","static-access.net","craft.me","realm.cz","on.crisp.email","*.cryptonomic.net","curv.dev","cfolks.pl","cyon.link","cyon.site","platform0.app","fnwk.site","folionetwork.site","biz.dk","co.dk","firm.dk","reg.dk","store.dk","dyndns.dappnode.io","builtwithdark.com","darklang.io","demo.datadetect.com","instance.datadetect.com","edgestack.me","dattolocal.com","dattorelay.com","dattoweb.com","mydatto.com","dattolocal.net","mydatto.net","ddnss.de","dyn.ddnss.de","dyndns.ddnss.de","dyn-ip24.de","dyndns1.de","home-webserver.de","dyn.home-webserver.de","myhome-server.de","ddnss.org","debian.net","definima.io","definima.net","deno.dev","deno-staging.dev","dedyn.io","deta.app","deta.dev","dfirma.pl","dkonto.pl","you2.pl","ondigitalocean.app","*.digitaloceanspaces.com","us.kg","rss.my.id","diher.solutions","discordsays.com","discordsez.com","jozi.biz","dnshome.de","online.th","shop.th","drayddns.com","shoparena.pl","dreamhosters.com","durumis.com","mydrobo.com","drud.io","drud.us","duckdns.org","dy.fi","tunk.org","dyndns.biz","for-better.biz","for-more.biz","for-some.biz","for-the.biz","selfip.biz","webhop.biz","ftpaccess.cc","game-server.cc","myphotos.cc","scrapping.cc","blogdns.com","cechire.com","dnsalias.com","dnsdojo.com","doesntexist.com","dontexist.com","doomdns.com","dyn-o-saur.com","dynalias.com","dyndns-at-home.com","dyndns-at-work.com","dyndns-blog.com","dyndns-free.com","dyndns-home.com","dyndns-ip.com","dyndns-mail.com","dyndns-office.com","dyndns-pics.com","dyndns-remote.com","dyndns-server.com","dyndns-web.com","dyndns-wiki.com","dyndns-work.com","est-a-la-maison.com","est-a-la-masion.com","est-le-patron.com","est-mon-blogueur.com","from-ak.com","from-al.com","from-ar.com","from-ca.com","from-ct.com","from-dc.com","from-de.com","from-fl.com","from-ga.com","from-hi.com","from-ia.com","from-id.com","from-il.com","from-in.com","from-ks.com","from-ky.com","from-ma.com","from-md.com","from-mi.com","from-mn.com","from-mo.com","from-ms.com","from-mt.com","from-nc.com","from-nd.com","from-ne.com","from-nh.com","from-nj.com","from-nm.com","from-nv.com","from-oh.com","from-ok.com","from-or.com","from-pa.com","from-pr.com","from-ri.com","from-sc.com","from-sd.com","from-tn.com","from-tx.com","from-ut.com","from-va.com","from-vt.com","from-wa.com","from-wi.com","from-wv.com","from-wy.com","getmyip.com","gotdns.com","hobby-site.com","homelinux.com","homeunix.com","iamallama.com","is-a-anarchist.com","is-a-blogger.com","is-a-bookkeeper.com","is-a-bulls-fan.com","is-a-caterer.com","is-a-chef.com","is-a-conservative.com","is-a-cpa.com","is-a-cubicle-slave.com","is-a-democrat.com","is-a-designer.com","is-a-doctor.com","is-a-financialadvisor.com","is-a-geek.com","is-a-green.com","is-a-guru.com","is-a-hard-worker.com","is-a-hunter.com","is-a-landscaper.com","is-a-lawyer.com","is-a-liberal.com","is-a-libertarian.com","is-a-llama.com","is-a-musician.com","is-a-nascarfan.com","is-a-nurse.com","is-a-painter.com","is-a-personaltrainer.com","is-a-photographer.com","is-a-player.com","is-a-republican.com","is-a-rockstar.com","is-a-socialist.com","is-a-student.com","is-a-teacher.com","is-a-techie.com","is-a-therapist.com","is-an-accountant.com","is-an-actor.com","is-an-actress.com","is-an-anarchist.com","is-an-artist.com","is-an-engineer.com","is-an-entertainer.com","is-certified.com","is-gone.com","is-into-anime.com","is-into-cars.com","is-into-cartoons.com","is-into-games.com","is-leet.com","is-not-certified.com","is-slick.com","is-uberleet.com","is-with-theband.com","isa-geek.com","isa-hockeynut.com","issmarterthanyou.com","likes-pie.com","likescandy.com","neat-url.com","saves-the-whales.com","selfip.com","sells-for-less.com","sells-for-u.com","servebbs.com","simple-url.com","space-to-rent.com","teaches-yoga.com","writesthisblog.com","ath.cx","fuettertdasnetz.de","isteingeek.de","istmein.de","lebtimnetz.de","leitungsen.de","traeumtgerade.de","barrel-of-knowledge.info","barrell-of-knowledge.info","dyndns.info","for-our.info","groks-the.info","groks-this.info","here-for-more.info","knowsitall.info","selfip.info","webhop.info","forgot.her.name","forgot.his.name","at-band-camp.net","blogdns.net","broke-it.net","buyshouses.net","dnsalias.net","dnsdojo.net","does-it.net","dontexist.net","dynalias.net","dynathome.net","endofinternet.net","from-az.net","from-co.net","from-la.net","from-ny.net","gets-it.net","ham-radio-op.net","homeftp.net","homeip.net","homelinux.net","homeunix.net","in-the-band.net","is-a-chef.net","is-a-geek.net","isa-geek.net","kicks-ass.net","office-on-the.net","podzone.net","scrapper-site.net","selfip.net","sells-it.net","servebbs.net","serveftp.net","thruhere.net","webhop.net","merseine.nu","mine.nu","shacknet.nu","blogdns.org","blogsite.org","boldlygoingnowhere.org","dnsalias.org","dnsdojo.org","doesntexist.org","dontexist.org","doomdns.org","dvrdns.org","dynalias.org","dyndns.org","go.dyndns.org","home.dyndns.org","endofinternet.org","endoftheinternet.org","from-me.org","game-host.org","gotdns.org","hobby-site.org","homedns.org","homeftp.org","homelinux.org","homeunix.org","is-a-bruinsfan.org","is-a-candidate.org","is-a-celticsfan.org","is-a-chef.org","is-a-geek.org","is-a-knight.org","is-a-linux-user.org","is-a-patsfan.org","is-a-soxfan.org","is-found.org","is-lost.org","is-saved.org","is-very-bad.org","is-very-evil.org","is-very-good.org","is-very-nice.org","is-very-sweet.org","isa-geek.org","kicks-ass.org","misconfused.org","podzone.org","readmyblog.org","selfip.org","sellsyourhome.org","servebbs.org","serveftp.org","servegame.org","stuff-4-sale.org","webhop.org","better-than.tv","dyndns.tv","on-the-web.tv","worse-than.tv","is-by.us","land-4-sale.us","stuff-4-sale.us","dyndns.ws","mypets.ws","ddnsfree.com","ddnsgeek.com","giize.com","gleeze.com","kozow.com","loseyourip.com","ooguy.com","theworkpc.com","casacam.net","dynu.net","accesscam.org","camdvr.org","freeddns.org","mywire.org","webredirect.org","myddns.rocks","dynv6.net","e4.cz","easypanel.app","easypanel.host","*.ewp.live","twmail.cc","twmail.net","twmail.org","mymailer.com.tw","url.tw","at.emf.camp","rt.ht","elementor.cloud","elementor.cool","en-root.fr","mytuleap.com","tuleap-partners.com","encr.app","encoreapi.com","eu.encoway.cloud","eu.org","al.eu.org","asso.eu.org","at.eu.org","au.eu.org","be.eu.org","bg.eu.org","ca.eu.org","cd.eu.org","ch.eu.org","cn.eu.org","cy.eu.org","cz.eu.org","de.eu.org","dk.eu.org","edu.eu.org","ee.eu.org","es.eu.org","fi.eu.org","fr.eu.org","gr.eu.org","hr.eu.org","hu.eu.org","ie.eu.org","il.eu.org","in.eu.org","int.eu.org","is.eu.org","it.eu.org","jp.eu.org","kr.eu.org","lt.eu.org","lu.eu.org","lv.eu.org","me.eu.org","mk.eu.org","mt.eu.org","my.eu.org","net.eu.org","ng.eu.org","nl.eu.org","no.eu.org","nz.eu.org","pl.eu.org","pt.eu.org","ro.eu.org","ru.eu.org","se.eu.org","si.eu.org","sk.eu.org","tr.eu.org","uk.eu.org","us.eu.org","eurodir.ru","eu-1.evennode.com","eu-2.evennode.com","eu-3.evennode.com","eu-4.evennode.com","us-1.evennode.com","us-2.evennode.com","us-3.evennode.com","us-4.evennode.com","relay.evervault.app","relay.evervault.dev","expo.app","staging.expo.app","onfabrica.com","ru.net","adygeya.ru","bashkiria.ru","bir.ru","cbg.ru","com.ru","dagestan.ru","grozny.ru","kalmykia.ru","kustanai.ru","marine.ru","mordovia.ru","msk.ru","mytis.ru","nalchik.ru","nov.ru","pyatigorsk.ru","spb.ru","vladikavkaz.ru","vladimir.ru","abkhazia.su","adygeya.su","aktyubinsk.su","arkhangelsk.su","armenia.su","ashgabad.su","azerbaijan.su","balashov.su","bashkiria.su","bryansk.su","bukhara.su","chimkent.su","dagestan.su","east-kazakhstan.su","exnet.su","georgia.su","grozny.su","ivanovo.su","jambyl.su","kalmykia.su","kaluga.su","karacol.su","karaganda.su","karelia.su","khakassia.su","krasnodar.su","kurgan.su","kustanai.su","lenug.su","mangyshlak.su","mordovia.su","msk.su","murmansk.su","nalchik.su","navoi.su","north-kazakhstan.su","nov.su","obninsk.su","penza.su","pokrovsk.su","sochi.su","spb.su","tashkent.su","termez.su","togliatti.su","troitsk.su","tselinograd.su","tula.su","tuva.su","vladikavkaz.su","vladimir.su","vologda.su","channelsdvr.net","u.channelsdvr.net","edgecompute.app","fastly-edge.com","fastly-terrarium.com","freetls.fastly.net","map.fastly.net","a.prod.fastly.net","global.prod.fastly.net","a.ssl.fastly.net","b.ssl.fastly.net","global.ssl.fastly.net","fastlylb.net","map.fastlylb.net","*.user.fm","fastvps-server.com","fastvps.host","myfast.host","fastvps.site","myfast.space","conn.uk","copro.uk","hosp.uk","fedorainfracloud.org","fedorapeople.org","cloud.fedoraproject.org","app.os.fedoraproject.org","app.os.stg.fedoraproject.org","mydobiss.com","fh-muenster.io","filegear.me","firebaseapp.com","fldrv.com","flutterflow.app","fly.dev","shw.io","edgeapp.net","forgeblocks.com","id.forgerock.io","framer.ai","framer.app","framercanvas.com","framer.media","framer.photos","framer.website","framer.wiki","0e.vc","freebox-os.com","freeboxos.com","fbx-os.fr","fbxos.fr","freebox-os.fr","freeboxos.fr","freedesktop.org","freemyip.com","*.frusky.de","wien.funkfeuer.at","daemon.asia","dix.asia","mydns.bz","0am.jp","0g0.jp","0j0.jp","0t0.jp","mydns.jp","pgw.jp","wjg.jp","keyword-on.net","live-on.net","server-on.net","mydns.tw","mydns.vc","*.futurecms.at","*.ex.futurecms.at","*.in.futurecms.at","futurehosting.at","futuremailing.at","*.ex.ortsinfo.at","*.kunden.ortsinfo.at","*.statics.cloud","aliases121.com","campaign.gov.uk","service.gov.uk","independent-commission.uk","independent-inquest.uk","independent-inquiry.uk","independent-panel.uk","independent-review.uk","public-inquiry.uk","royal-commission.uk","gehirn.ne.jp","usercontent.jp","gentapps.com","gentlentapis.com","lab.ms","cdn-edges.net","localcert.net","localhostcert.net","gsj.bz","githubusercontent.com","githubpreview.dev","github.io","gitlab.io","gitapp.si","gitpage.si","glitch.me","nog.community","co.ro","shop.ro","lolipop.io","angry.jp","babyblue.jp","babymilk.jp","backdrop.jp","bambina.jp","bitter.jp","blush.jp","boo.jp","boy.jp","boyfriend.jp","but.jp","candypop.jp","capoo.jp","catfood.jp","cheap.jp","chicappa.jp","chillout.jp","chips.jp","chowder.jp","chu.jp","ciao.jp","cocotte.jp","coolblog.jp","cranky.jp","cutegirl.jp","daa.jp","deca.jp","deci.jp","digick.jp","egoism.jp","fakefur.jp","fem.jp","flier.jp","floppy.jp","fool.jp","frenchkiss.jp","girlfriend.jp","girly.jp","gloomy.jp","gonna.jp","greater.jp","hacca.jp","heavy.jp","her.jp","hiho.jp","hippy.jp","holy.jp","hungry.jp","icurus.jp","itigo.jp","jellybean.jp","kikirara.jp","kill.jp","kilo.jp","kuron.jp","littlestar.jp","lolipopmc.jp","lolitapunk.jp","lomo.jp","lovepop.jp","lovesick.jp","main.jp","mods.jp","mond.jp","mongolian.jp","moo.jp","namaste.jp","nikita.jp","nobushi.jp","noor.jp","oops.jp","parallel.jp","parasite.jp","pecori.jp","peewee.jp","penne.jp","pepper.jp","perma.jp","pigboat.jp","pinoko.jp","punyu.jp","pupu.jp","pussycat.jp","pya.jp","raindrop.jp","readymade.jp","sadist.jp","schoolbus.jp","secret.jp","staba.jp","stripper.jp","sub.jp","sunnyday.jp","thick.jp","tonkotsu.jp","under.jp","upper.jp","velvet.jp","verse.jp","versus.jp","vivian.jp","watson.jp","weblike.jp","whitesnow.jp","zombie.jp","heteml.net","graphic.design","goip.de","blogspot.ae","blogspot.al","blogspot.am","*.hosted.app","*.run.app","web.app","blogspot.com.ar","blogspot.co.at","blogspot.com.au","blogspot.ba","blogspot.be","blogspot.bg","blogspot.bj","blogspot.com.br","blogspot.com.by","blogspot.ca","blogspot.cf","blogspot.ch","blogspot.cl","blogspot.com.co","*.0emm.com","appspot.com","*.r.appspot.com","blogspot.com","codespot.com","googleapis.com","googlecode.com","pagespeedmobilizer.com","withgoogle.com","withyoutube.com","blogspot.cv","blogspot.com.cy","blogspot.cz","blogspot.de","*.gateway.dev","blogspot.dk","blogspot.com.ee","blogspot.com.eg","blogspot.com.es","blogspot.fi","blogspot.fr","cloud.goog","translate.goog","*.usercontent.goog","blogspot.gr","blogspot.hk","blogspot.hr","blogspot.hu","blogspot.co.id","blogspot.ie","blogspot.co.il","blogspot.in","blogspot.is","blogspot.it","blogspot.jp","blogspot.co.ke","blogspot.kr","blogspot.li","blogspot.lt","blogspot.lu","blogspot.md","blogspot.mk","blogspot.com.mt","blogspot.mx","blogspot.my","cloudfunctions.net","blogspot.com.ng","blogspot.nl","blogspot.no","blogspot.co.nz","blogspot.pe","blogspot.pt","blogspot.qa","blogspot.re","blogspot.ro","blogspot.rs","blogspot.ru","blogspot.se","blogspot.sg","blogspot.si","blogspot.sk","blogspot.sn","blogspot.td","blogspot.com.tr","blogspot.tw","blogspot.ug","blogspot.co.uk","blogspot.com.uy","blogspot.vn","blogspot.co.za","goupile.fr","pymnt.uk","cloudapps.digital","london.cloudapps.digital","gov.nl","grafana-dev.net","grayjayleagues.com","günstigbestellen.de","günstigliefern.de","fin.ci","free.hr","caa.li","ua.rs","conf.se","häkkinen.fi","hrsn.dev","hashbang.sh","hasura.app","hasura-app.io","hatenablog.com","hatenadiary.com","hateblo.jp","hatenablog.jp","hatenadiary.jp","hatenadiary.org","pages.it.hs-heilbronn.de","pages-research.it.hs-heilbronn.de","heiyu.space","helioho.st","heliohost.us","hepforge.org","herokuapp.com","herokussl.com","heyflow.page","heyflow.site","ravendb.cloud","ravendb.community","development.run","ravendb.run","homesklep.pl","*.kin.one","*.id.pub","*.kin.pub","secaas.hk","hoplix.shop","orx.biz","biz.gl","biz.ng","co.biz.ng","dl.biz.ng","go.biz.ng","lg.biz.ng","on.biz.ng","col.ng","firm.ng","gen.ng","ltd.ng","ngo.ng","plc.ng","ie.ua","hostyhosting.io","hf.space","static.hf.space","hypernode.io","iobb.net","co.cz","*.moonscale.io","moonscale.net","gr.com","iki.fi","ibxos.it","iliadboxos.it","smushcdn.com","wphostedmail.com","wpmucdn.com","tempurl.host","wpmudev.host","dyn-berlin.de","in-berlin.de","in-brb.de","in-butter.de","in-dsl.de","in-vpn.de","in-dsl.net","in-vpn.net","in-dsl.org","in-vpn.org","biz.at","info.at","info.cx","ac.leg.br","al.leg.br","am.leg.br","ap.leg.br","ba.leg.br","ce.leg.br","df.leg.br","es.leg.br","go.leg.br","ma.leg.br","mg.leg.br","ms.leg.br","mt.leg.br","pa.leg.br","pb.leg.br","pe.leg.br","pi.leg.br","pr.leg.br","rj.leg.br","rn.leg.br","ro.leg.br","rr.leg.br","rs.leg.br","sc.leg.br","se.leg.br","sp.leg.br","to.leg.br","pixolino.com","na4u.ru","apps-1and1.com","live-website.com","apps-1and1.net","websitebuilder.online","app-ionos.space","iopsys.se","*.dweb.link","ipifony.net","ir.md","is-a-good.dev","is-a.dev","iservschule.de","mein-iserv.de","schulplattform.de","schulserver.de","test-iserv.de","iserv.dev","mel.cloudlets.com.au","cloud.interhostsolutions.be","alp1.ae.flow.ch","appengine.flow.ch","es-1.axarnet.cloud","diadem.cloud","vip.jelastic.cloud","jele.cloud","it1.eur.aruba.jenv-aruba.cloud","it1.jenv-aruba.cloud","keliweb.cloud","cs.keliweb.cloud","oxa.cloud","tn.oxa.cloud","uk.oxa.cloud","primetel.cloud","uk.primetel.cloud","ca.reclaim.cloud","uk.reclaim.cloud","us.reclaim.cloud","ch.trendhosting.cloud","de.trendhosting.cloud","jele.club","dopaas.com","paas.hosted-by-previder.com","rag-cloud.hosteur.com","rag-cloud-ch.hosteur.com","jcloud.ik-server.com","jcloud-ver-jpc.ik-server.com","demo.jelastic.com","paas.massivegrid.com","jed.wafaicloud.com","ryd.wafaicloud.com","j.scaleforce.com.cy","jelastic.dogado.eu","fi.cloudplatform.fi","demo.datacenter.fi","paas.datacenter.fi","jele.host","mircloud.host","paas.beebyte.io","sekd1.beebyteapp.io","jele.io","jc.neen.it","jcloud.kz","cloudjiffy.net","fra1-de.cloudjiffy.net","west1-us.cloudjiffy.net","jls-sto1.elastx.net","jls-sto2.elastx.net","jls-sto3.elastx.net","fr-1.paas.massivegrid.net","lon-1.paas.massivegrid.net","lon-2.paas.massivegrid.net","ny-1.paas.massivegrid.net","ny-2.paas.massivegrid.net","sg-1.paas.massivegrid.net","jelastic.saveincloud.net","nordeste-idc.saveincloud.net","j.scaleforce.net","sdscloud.pl","unicloud.pl","mircloud.ru","enscaled.sg","jele.site","jelastic.team","orangecloud.tn","j.layershift.co.uk","phx.enscaled.us","mircloud.us","myjino.ru","*.hosting.myjino.ru","*.landing.myjino.ru","*.spectrum.myjino.ru","*.vps.myjino.ru","jotelulu.cloud","webadorsite.com","jouwweb.site","*.cns.joyent.com","*.triton.zone","js.org","kaas.gg","khplay.nl","kapsi.fi","ezproxy.kuleuven.be","kuleuven.cloud","keymachine.de","kinghost.net","uni5.net","knightpoint.systems","koobin.events","webthings.io","krellian.net","oya.to","git-repos.de","lcube-server.de","svn-repos.de","leadpages.co","lpages.co","lpusercontent.com","lelux.site","libp2p.direct","runcontainers.dev","co.business","co.education","co.events","co.financial","co.network","co.place","co.technology","linkyard-cloud.ch","linkyard.cloud","members.linode.com","*.nodebalancer.linode.com","*.linodeobjects.com","ip.linodeusercontent.com","we.bs","filegear-sg.me","ggff.net","*.user.localcert.dev","lodz.pl","pabianice.pl","plock.pl","sieradz.pl","skierniewice.pl","zgierz.pl","loginline.app","loginline.dev","loginline.io","loginline.services","loginline.site","lohmus.me","servers.run","krasnik.pl","leczna.pl","lubartow.pl","lublin.pl","poniatowa.pl","swidnik.pl","glug.org.uk","lug.org.uk","lugs.org.uk","barsy.bg","barsy.club","barsycenter.com","barsyonline.com","barsy.de","barsy.dev","barsy.eu","barsy.gr","barsy.in","barsy.info","barsy.io","barsy.me","barsy.menu","barsyonline.menu","barsy.mobi","barsy.net","barsy.online","barsy.org","barsy.pro","barsy.pub","barsy.ro","barsy.rs","barsy.shop","barsyonline.shop","barsy.site","barsy.store","barsy.support","barsy.uk","barsy.co.uk","barsyonline.co.uk","*.magentosite.cloud","hb.cldmail.ru","matlab.cloud","modelscape.com","mwcloudnonprod.com","polyspace.com","mayfirst.info","mayfirst.org","mazeplay.com","mcdir.me","mcdir.ru","vps.mcdir.ru","mcpre.ru","mediatech.by","mediatech.dev","hra.health","medusajs.app","miniserver.com","memset.net","messerli.app","atmeta.com","apps.fbsbx.com","*.cloud.metacentrum.cz","custom.metacentrum.cz","flt.cloud.muni.cz","usr.cloud.muni.cz","meteorapp.com","eu.meteorapp.com","co.pl","*.azurecontainer.io","azure-api.net","azure-mobile.net","azureedge.net","azurefd.net","azurestaticapps.net","1.azurestaticapps.net","2.azurestaticapps.net","3.azurestaticapps.net","4.azurestaticapps.net","5.azurestaticapps.net","6.azurestaticapps.net","7.azurestaticapps.net","centralus.azurestaticapps.net","eastasia.azurestaticapps.net","eastus2.azurestaticapps.net","westeurope.azurestaticapps.net","westus2.azurestaticapps.net","azurewebsites.net","cloudapp.net","trafficmanager.net","blob.core.windows.net","servicebus.windows.net","routingthecloud.com","sn.mynetname.net","routingthecloud.net","routingthecloud.org","csx.cc","mydbserver.com","webspaceconfig.de","mittwald.info","mittwaldserver.info","typo3server.info","project.space","modx.dev","bmoattachments.org","net.ru","org.ru","pp.ru","hostedpi.com","caracal.mythic-beasts.com","customer.mythic-beasts.com","fentiger.mythic-beasts.com","lynx.mythic-beasts.com","ocelot.mythic-beasts.com","oncilla.mythic-beasts.com","onza.mythic-beasts.com","sphinx.mythic-beasts.com","vs.mythic-beasts.com","x.mythic-beasts.com","yali.mythic-beasts.com","cust.retrosnub.co.uk","ui.nabu.casa","cloud.nospamproxy.com","netfy.app","netlify.app","4u.com","nfshost.com","ipfs.nftstorage.link","ngo.us","ngrok.app","ngrok-free.app","ngrok.dev","ngrok-free.dev","ngrok.io","ap.ngrok.io","au.ngrok.io","eu.ngrok.io","in.ngrok.io","jp.ngrok.io","sa.ngrok.io","us.ngrok.io","ngrok.pizza","ngrok.pro","torun.pl","nh-serv.co.uk","nimsite.uk","mmafan.biz","myftp.biz","no-ip.biz","no-ip.ca","fantasyleague.cc","gotdns.ch","3utilities.com","blogsyte.com","ciscofreak.com","damnserver.com","ddnsking.com","ditchyourip.com","dnsiskinky.com","dynns.com","geekgalaxy.com","health-carereform.com","homesecuritymac.com","homesecuritypc.com","myactivedirectory.com","mysecuritycamera.com","myvnc.com","net-freaks.com","onthewifi.com","point2this.com","quicksytes.com","securitytactics.com","servebeer.com","servecounterstrike.com","serveexchange.com","serveftp.com","servegame.com","servehalflife.com","servehttp.com","servehumour.com","serveirc.com","servemp3.com","servep2p.com","servepics.com","servequake.com","servesarcasm.com","stufftoread.com","unusualperson.com","workisboring.com","dvrcam.info","ilovecollege.info","no-ip.info","brasilia.me","ddns.me","dnsfor.me","hopto.me","loginto.me","noip.me","webhop.me","bounceme.net","ddns.net","eating-organic.net","mydissent.net","myeffect.net","mymediapc.net","mypsx.net","mysecuritycamera.net","nhlfan.net","no-ip.net","pgafan.net","privatizehealthinsurance.net","redirectme.net","serveblog.net","serveminecraft.net","sytes.net","cable-modem.org","collegefan.org","couchpotatofries.org","hopto.org","mlbfan.org","myftp.org","mysecuritycamera.org","nflfan.org","no-ip.org","read-books.org","ufcfan.org","zapto.org","no-ip.co.uk","golffan.us","noip.us","pointto.us","stage.nodeart.io","*.developer.app","noop.app","*.northflank.app","*.build.run","*.code.run","*.database.run","*.migration.run","noticeable.news","notion.site","dnsking.ch","mypi.co","n4t.co","001www.com","myiphost.com","forumz.info","soundcast.me","tcp4.me","dnsup.net","hicam.net","now-dns.net","ownip.net","vpndns.net","dynserv.org","now-dns.org","x443.pw","now-dns.top","ntdll.top","freeddns.us","nsupdate.info","nerdpol.ovh","nyc.mn","prvcy.page","obl.ong","observablehq.cloud","static.observableusercontent.com","omg.lol","cloudycluster.net","omniwe.site","123webseite.at","123website.be","simplesite.com.br","123website.ch","simplesite.com","123webseite.de","123hjemmeside.dk","123miweb.es","123kotisivu.fi","123siteweb.fr","simplesite.gr","123homepage.it","123website.lu","123website.nl","123hjemmeside.no","service.one","simplesite.pl","123paginaweb.pt","123minsida.se","is-a-fullstack.dev","is-cool.dev","is-not-a.dev","localplayer.dev","is-local.org","opensocial.site","opencraft.hosting","16-b.it","32-b.it","64-b.it","orsites.com","operaunite.com","*.customer-oci.com","*.oci.customer-oci.com","*.ocp.customer-oci.com","*.ocs.customer-oci.com","*.oraclecloudapps.com","*.oraclegovcloudapps.com","*.oraclegovcloudapps.uk","tech.orange","can.re","authgear-staging.com","authgearapps.com","skygearapp.com","outsystemscloud.com","*.hosting.ovh.net","*.webpaas.ovh.net","ownprovider.com","own.pm","*.owo.codes","ox.rs","oy.lc","pgfog.com","pagexl.com","gotpantheon.com","pantheonsite.io","*.paywhirl.com","*.xmit.co","xmit.dev","madethis.site","srv.us","gh.srv.us","gl.srv.us","lk3.ru","mypep.link","perspecta.cloud","on-web.fr","*.upsun.app","upsunapp.com","ent.platform.sh","eu.platform.sh","us.platform.sh","*.platformsh.site","*.tst.site","platter-app.com","platter-app.dev","platterp.us","pley.games","onporter.run","co.bn","postman-echo.com","pstmn.io","mock.pstmn.io","httpbin.org","prequalifyme.today","xen.prgmr.com","priv.at","protonet.io","chirurgiens-dentistes-en-france.fr","byen.site","pubtls.org","pythonanywhere.com","eu.pythonanywhere.com","qa2.com","qcx.io","*.sys.qcx.io","myqnapcloud.cn","alpha-myqnapcloud.com","dev-myqnapcloud.com","mycloudnas.com","mynascloud.com","myqnapcloud.com","qoto.io","qualifioapp.com","ladesk.com","qbuser.com","*.quipelements.com","vapor.cloud","vaporcloud.io","rackmaze.com","rackmaze.net","cloudsite.builders","myradweb.net","servername.us","web.in","in.net","myrdbx.io","site.rb-hosting.io","*.on-rancher.cloud","*.on-k3s.io","*.on-rio.io","ravpage.co.il","readthedocs-hosted.com","readthedocs.io","rhcloud.com","instances.spawn.cc","onrender.com","app.render.com","replit.app","id.replit.app","firewalledreplit.co","id.firewalledreplit.co","repl.co","id.repl.co","replit.dev","archer.replit.dev","bones.replit.dev","canary.replit.dev","global.replit.dev","hacker.replit.dev","id.replit.dev","janeway.replit.dev","kim.replit.dev","kira.replit.dev","kirk.replit.dev","odo.replit.dev","paris.replit.dev","picard.replit.dev","pike.replit.dev","prerelease.replit.dev","reed.replit.dev","riker.replit.dev","sisko.replit.dev","spock.replit.dev","staging.replit.dev","sulu.replit.dev","tarpit.replit.dev","teams.replit.dev","tucker.replit.dev","wesley.replit.dev","worf.replit.dev","repl.run","resindevice.io","devices.resinstaging.io","hzc.io","adimo.co.uk","itcouldbewor.se","aus.basketball","nz.basketball","git-pages.rit.edu","rocky.page","rub.de","ruhr-uni-bochum.de","io.noc.ruhr-uni-bochum.de","биз.рус","ком.рус","крым.рус","мир.рус","мск.рус","орг.рус","самара.рус","сочи.рус","спб.рус","я.рус","ras.ru","nyat.app","180r.com","dojin.com","sakuratan.com","sakuraweb.com","x0.com","2-d.jp","bona.jp","crap.jp","daynight.jp","eek.jp","flop.jp","halfmoon.jp","jeez.jp","matrix.jp","mimoza.jp","ivory.ne.jp","mail-box.ne.jp","mints.ne.jp","mokuren.ne.jp","opal.ne.jp","sakura.ne.jp","sumomo.ne.jp","topaz.ne.jp","netgamers.jp","nyanta.jp","o0o0.jp","rdy.jp","rgr.jp","rulez.jp","s3.isk01.sakurastorage.jp","s3.isk02.sakurastorage.jp","saloon.jp","sblo.jp","skr.jp","tank.jp","uh-oh.jp","undo.jp","rs.webaccel.jp","user.webaccel.jp","websozai.jp","xii.jp","squares.net","jpn.org","kirara.st","x0.to","from.tv","sakura.tv","*.builder.code.com","*.dev-builder.code.com","*.stg-builder.code.com","*.001.test.code-builder-stg.platform.salesforce.com","*.d.crm.dev","*.w.crm.dev","*.wa.crm.dev","*.wb.crm.dev","*.wc.crm.dev","*.wd.crm.dev","*.we.crm.dev","*.wf.crm.dev","sandcats.io","logoip.com","logoip.de","fr-par-1.baremetal.scw.cloud","fr-par-2.baremetal.scw.cloud","nl-ams-1.baremetal.scw.cloud","cockpit.fr-par.scw.cloud","fnc.fr-par.scw.cloud","functions.fnc.fr-par.scw.cloud","k8s.fr-par.scw.cloud","nodes.k8s.fr-par.scw.cloud","s3.fr-par.scw.cloud","s3-website.fr-par.scw.cloud","whm.fr-par.scw.cloud","priv.instances.scw.cloud","pub.instances.scw.cloud","k8s.scw.cloud","cockpit.nl-ams.scw.cloud","k8s.nl-ams.scw.cloud","nodes.k8s.nl-ams.scw.cloud","s3.nl-ams.scw.cloud","s3-website.nl-ams.scw.cloud","whm.nl-ams.scw.cloud","cockpit.pl-waw.scw.cloud","k8s.pl-waw.scw.cloud","nodes.k8s.pl-waw.scw.cloud","s3.pl-waw.scw.cloud","s3-website.pl-waw.scw.cloud","scalebook.scw.cloud","smartlabeling.scw.cloud","dedibox.fr","schokokeks.net","gov.scot","service.gov.scot","scrysec.com","client.scrypted.io","firewall-gateway.com","firewall-gateway.de","my-gateway.de","my-router.de","spdns.de","spdns.eu","firewall-gateway.net","my-firewall.org","myfirewall.org","spdns.org","seidat.net","sellfy.store","minisite.ms","senseering.net","servebolt.cloud","biz.ua","co.ua","pp.ua","as.sh.cn","sheezy.games","shiftedit.io","myshopblocks.com","myshopify.com","shopitsite.com","shopware.shop","shopware.store","mo-siemens.io","1kapp.com","appchizi.com","applinzi.com","sinaapp.com","vipsinaapp.com","siteleaf.net","small-web.org","aeroport.fr","avocat.fr","chambagri.fr","chirurgiens-dentistes.fr","experts-comptables.fr","medecin.fr","notaires.fr","pharmacien.fr","port.fr","veterinaire.fr","vp4.me","*.snowflake.app","*.privatelink.snowflake.app","streamlit.app","streamlitapp.com","try-snowplow.com","mafelo.net","playstation-cloud.com","srht.site","apps.lair.io","*.stolos.io","spacekit.io","ind.mom","customer.speedpartner.de","myspreadshop.at","myspreadshop.com.au","myspreadshop.be","myspreadshop.ca","myspreadshop.ch","myspreadshop.com","myspreadshop.de","myspreadshop.dk","myspreadshop.es","myspreadshop.fi","myspreadshop.fr","myspreadshop.ie","myspreadshop.it","myspreadshop.net","myspreadshop.nl","myspreadshop.no","myspreadshop.pl","myspreadshop.se","myspreadshop.co.uk","w-corp-staticblitz.com","w-credentialless-staticblitz.com","w-staticblitz.com","stackhero-network.com","runs.onstackit.cloud","stackit.gg","stackit.rocks","stackit.run","stackit.zone","musician.io","novecore.site","api.stdlib.com","feedback.ac","forms.ac","assessments.cx","calculators.cx","funnels.cx","paynow.cx","quizzes.cx","researched.cx","tests.cx","surveys.so","storebase.store","storipress.app","storj.farm","strapiapp.com","media.strapiapp.com","vps-host.net","atl.jelastic.vps-host.net","njs.jelastic.vps-host.net","ric.jelastic.vps-host.net","streak-link.com","streaklinks.com","streakusercontent.com","soc.srcf.net","user.srcf.net","utwente.io","temp-dns.com","supabase.co","supabase.in","supabase.net","syncloud.it","dscloud.biz","direct.quickconnect.cn","dsmynas.com","familyds.com","diskstation.me","dscloud.me","i234.me","myds.me","synology.me","dscloud.mobi","dsmynas.net","familyds.net","dsmynas.org","familyds.org","direct.quickconnect.to","vpnplus.to","mytabit.com","mytabit.co.il","tabitorder.co.il","taifun-dns.de","ts.net","*.c.ts.net","gda.pl","gdansk.pl","gdynia.pl","med.pl","sopot.pl","taveusercontent.com","p.tawk.email","p.tawkto.email","site.tb-hosting.com","edugit.io","s3.teckids.org","telebit.app","telebit.io","*.telebit.xyz","*.firenet.ch","*.svc.firenet.ch","reservd.com","thingdustdata.com","cust.dev.thingdust.io","reservd.dev.thingdust.io","cust.disrec.thingdust.io","reservd.disrec.thingdust.io","cust.prod.thingdust.io","cust.testing.thingdust.io","reservd.testing.thingdust.io","tickets.io","arvo.network","azimuth.network","tlon.network","torproject.net","pages.torproject.net","townnews-staging.com","12hp.at","2ix.at","4lima.at","lima-city.at","12hp.ch","2ix.ch","4lima.ch","lima-city.ch","trafficplex.cloud","de.cool","12hp.de","2ix.de","4lima.de","lima-city.de","1337.pictures","clan.rip","lima-city.rocks","webspace.rocks","lima.zone","*.transurl.be","*.transurl.eu","site.transip.me","*.transurl.nl","tuxfamily.org","dd-dns.de","dray-dns.de","draydns.de","dyn-vpn.de","dynvpn.de","mein-vigor.de","my-vigor.de","my-wan.de","syno-ds.de","synology-diskstation.de","synology-ds.de","diskstation.eu","diskstation.org","typedream.app","pro.typeform.com","*.uberspace.de","uber.space","hk.com","inc.hk","ltd.hk","hk.org","it.com","unison-services.cloud","virtual-user.de","virtualuser.de","name.pm","sch.tf","biz.wf","sch.wf","org.yt","rs.ba","bielsko.pl","upli.io","urown.cloud","dnsupdate.info","us.org","v.ua","express.val.run","web.val.run","vercel.app","v0.build","vercel.dev","vusercontent.net","now.sh","2038.io","router.management","v-info.info","voorloper.cloud","*.vultrobjects.com","wafflecell.com","webflow.io","webflowtest.io","*.webhare.dev","bookonline.app","hotelwithflight.com","reserve-online.com","reserve-online.net","cprapid.com","pleskns.com","wp2.host","pdns.page","plesk.page","wpsquared.site","*.wadl.top","remotewd.com","box.ca","pages.wiardweb.com","toolforge.org","wmcloud.org","wmflabs.org","wdh.app","panel.gg","daemon.panel.gg","wixsite.com","wixstudio.com","editorx.io","wixstudio.io","wix.run","messwithdns.com","woltlab-demo.com","myforum.community","community-pro.de","diskussionsbereich.de","community-pro.net","meinforum.net","affinitylottery.org.uk","raffleentry.org.uk","weeklylottery.org.uk","wpenginepowered.com","js.wpenginepowered.com","half.host","xnbay.com","u2.xnbay.com","u2-local.xnbay.com","cistron.nl","demon.nl","xs4all.space","yandexcloud.net","storage.yandexcloud.net","website.yandexcloud.net","official.academy","yolasite.com","yombo.me","ynh.fr","nohost.me","noho.st","za.net","za.org","zap.cloud","zeabur.app","bss.design","basicserver.io","virtualserver.io","enterprisecloud.nu"],c=s.reduce((y,_)=>{const k=_.replace(/^(\*\.|\!)/,""),w=i.toASCII(k),v=_.charAt(0);if(y.has(w))throw new Error(`Multiple rules found for ${_} (${w})`);return y.set(w,{rule:_,suffix:k,punySuffix:w,wildcard:v==="*",exception:v==="!"}),y},new Map),u=y=>{const _=i.toASCII(y).split(".");for(let k=0;k<_.length;k++){const w=_.slice(k).join("."),v=c.get(w);if(v)return v}return null},d={DOMAIN_TOO_SHORT:"Domain name too short.",DOMAIN_TOO_LONG:"Domain name too long. It should be no more than 255 chars.",LABEL_STARTS_WITH_DASH:"Domain name label can not start with a dash.",LABEL_ENDS_WITH_DASH:"Domain name label can not end with a dash.",LABEL_TOO_LONG:"Domain name label should be at most 63 chars long.",LABEL_TOO_SHORT:"Domain name label should be at least 1 character long.",LABEL_INVALID_CHARS:"Domain name label can only contain alphanumeric characters or dashes."},h=y=>{const _=i.toASCII(y);if(_.length<1)return"DOMAIN_TOO_SHORT";if(_.length>255)return"DOMAIN_TOO_LONG";const k=_.split(".");let w;for(let v=0;v<k.length;++v){if(w=k[v],!w.length)return"LABEL_TOO_SHORT";if(w.length>63)return"LABEL_TOO_LONG";if(w.charAt(0)==="-")return"LABEL_STARTS_WITH_DASH";if(w.charAt(w.length-1)==="-")return"LABEL_ENDS_WITH_DASH";if(!/^[a-z0-9\-_]+$/.test(w))return"LABEL_INVALID_CHARS"}},f=y=>{if(typeof y!="string")throw new TypeError("Domain name must be a string.");let _=y.slice(0).toLowerCase();_.charAt(_.length-1)==="."&&(_=_.slice(0,_.length-1));const k=h(_);if(k)return{input:y,error:{message:d[k],code:k}};const w={input:y,tld:null,sld:null,domain:null,subdomain:null,listed:!1},v=_.split(".");if(v[v.length-1]==="local")return w;const A=()=>(/xn--/.test(_)&&(w.domain&&(w.domain=i.toASCII(w.domain)),w.subdomain&&(w.subdomain=i.toASCII(w.subdomain))),w),T=u(_);if(!T)return v.length<2?w:(w.tld=v.pop(),w.sld=v.pop(),w.domain=[w.sld,w.tld].join("."),v.length&&(w.subdomain=v.pop()),A());w.listed=!0;const I=T.suffix.split("."),z=v.slice(0,v.length-I.length);return T.exception&&z.push(I.shift()),w.tld=I.join("."),!z.length||(T.wildcard&&(I.unshift(z.pop()),w.tld=I.join(".")),!z.length)||(w.sld=z.pop(),w.domain=[w.sld,w.tld].join("."),z.length&&(w.subdomain=z.join("."))),A()},l=y=>y&&f(y).domain||null,g=y=>{const _=f(y);return!!(_.domain&&_.listed)},b={parse:f,get:l,isValid:g};e.default=b,e.errorCodes=d,e.get=l,e.isValid=g,e.parse=f})(Oc)),Oc}/*!
|
|
8
|
+
${h}}`:"}",b}function u(d,h){return typeof h<"u"&&typeof h!="function"&&typeof h!="symbol"}}function s1(e){if(typeof e=="number")return" ".repeat(e);if(typeof e=="string"&&e!=="")return e}/*! noble-curves - MIT License (c) 2022 Paul Miller (paulmillr.com) */const ad=BigInt(0),zy=BigInt(1),c1=BigInt(2);function qr(e){return e instanceof Uint8Array||ArrayBuffer.isView(e)&&e.constructor.name==="Uint8Array"}function $o(e){if(!qr(e))throw new Error("Uint8Array expected")}function va(e,t){if(typeof t!="boolean")throw new Error(e+" boolean expected, got "+t)}const u1=Array.from({length:256},(e,t)=>t.toString(16).padStart(2,"0"));function Vr(e){$o(e);let t="";for(let n=0;n<e.length;n++)t+=u1[e[n]];return t}function co(e){const t=e.toString(16);return t.length&1?"0"+t:t}function od(e){if(typeof e!="string")throw new Error("hex string expected, got "+typeof e);return e===""?ad:BigInt("0x"+e)}const An={_0:48,_9:57,A:65,F:70,a:97,f:102};function Pf(e){if(e>=An._0&&e<=An._9)return e-An._0;if(e>=An.A&&e<=An.F)return e-(An.A-10);if(e>=An.a&&e<=An.f)return e-(An.a-10)}function Ea(e){if(typeof e!="string")throw new Error("hex string expected, got "+typeof 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 a=0,o=0;a<n;a++,o+=2){const i=Pf(e.charCodeAt(o)),s=Pf(e.charCodeAt(o+1));if(i===void 0||s===void 0){const c=e[o]+e[o+1];throw new Error('hex string expected, got non-hex character "'+c+'" at index '+o)}r[a]=i*16+s}return r}function Lr(e){return od(Vr(e))}function id(e){return $o(e),od(Vr(Uint8Array.from(e).reverse()))}function Aa(e,t){return Ea(e.toString(16).padStart(t*2,"0"))}function sd(e,t){return Aa(e,t).reverse()}function Wt(e,t,n){let r;if(typeof t=="string")try{r=Ea(t)}catch(o){throw new Error(e+" must be hex string or Uint8Array, cause: "+o)}else if(qr(t))r=Uint8Array.from(t);else throw new Error(e+" must be hex string or Uint8Array");const a=r.length;if(typeof n=="number"&&a!==n)throw new Error(e+" of length "+n+" expected, got "+a);return r}function Eo(...e){let t=0;for(let r=0;r<e.length;r++){const a=e[r];$o(a),t+=a.length}const n=new Uint8Array(t);for(let r=0,a=0;r<e.length;r++){const o=e[r];n.set(o,a),a+=o.length}return n}const Js=e=>typeof e=="bigint"&&ad<=e;function bs(e,t,n){return Js(e)&&Js(t)&&Js(n)&&t<=e&&e<n}function Dr(e,t,n,r){if(!bs(t,n,r))throw new Error("expected valid "+e+": "+n+" <= n < "+r+", got "+t)}function Py(e){let t;for(t=0;e>ad;e>>=zy,t+=1);return t}const cd=e=>(c1<<BigInt(e-1))-zy,Qs=e=>new Uint8Array(e),Rf=e=>Uint8Array.from(e);function Ry(e,t,n){if(typeof e!="number"||e<2)throw new Error("hashLen must be a number");if(typeof t!="number"||t<2)throw new Error("qByteLen must be a number");if(typeof n!="function")throw new Error("hmacFn must be a function");let r=Qs(e),a=Qs(e),o=0;const i=()=>{r.fill(1),a.fill(0),o=0},s=(...h)=>n(a,r,...h),c=(h=Qs())=>{a=s(Rf([0]),h),r=s(),h.length!==0&&(a=s(Rf([1]),h),r=s())},u=()=>{if(o++>=1e3)throw new Error("drbg: tried 1000 values");let h=0;const f=[];for(;h<t;){r=s();const l=r.slice();f.push(l),h+=r.length}return Eo(...f)};return(h,f)=>{i(),c(h);let l;for(;!(l=f(u()));)c();return i(),l}}const l1={bigint:e=>typeof e=="bigint",function:e=>typeof e=="function",boolean:e=>typeof e=="boolean",string:e=>typeof e=="string",stringOrUint8Array:e=>typeof e=="string"||qr(e),isSafeInteger:e=>Number.isSafeInteger(e),array:e=>Array.isArray(e),field:(e,t)=>t.Fp.isValid(e),hash:e=>typeof e=="function"&&Number.isSafeInteger(e.outputLen)};function Go(e,t,n={}){const r=(a,o,i)=>{const s=l1[o];if(typeof s!="function")throw new Error("invalid validator function");const c=e[a];if(!(i&&c===void 0)&&!s(c,e))throw new Error("param "+String(a)+" is invalid. Expected "+o+", got "+c)};for(const[a,o]of Object.entries(t))r(a,o,!1);for(const[a,o]of Object.entries(n))r(a,o,!0);return e}function yl(e){const t=new WeakMap;return(n,...r)=>{const a=t.get(n);if(a!==void 0)return a;const o=e(n,...r);return t.set(n,o),o}}const d1=Object.freeze(Object.defineProperty({__proto__:null,aInRange:Dr,abool:va,abytes:$o,bitLen:Py,bitMask:cd,bytesToHex:Vr,bytesToNumberBE:Lr,bytesToNumberLE:id,concatBytes:Eo,createHmacDrbg:Ry,ensureBytes:Wt,hexToBytes:Ea,hexToNumber:od,inRange:bs,isBytes:qr,memoized:yl,numberToBytesBE:Aa,numberToBytesLE:sd,numberToHexUnpadded:co,validateObject:Go},Symbol.toStringTag,{value:"Module"}));function os(e){if(!Number.isSafeInteger(e)||e<0)throw new Error("positive integer expected, got "+e)}function f1(e){return e instanceof Uint8Array||ArrayBuffer.isView(e)&&e.constructor.name==="Uint8Array"}function Ko(e,...t){if(!f1(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 p1(e){if(typeof e!="function"||typeof e.create!="function")throw new Error("Hash should be wrapped by utils.wrapConstructor");os(e.outputLen),os(e.blockLen)}function Sa(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 Ny(e,t){Ko(e);const n=t.outputLen;if(e.length<n)throw new Error("digestInto() expects output buffer of length at least "+n)}const sa=typeof globalThis=="object"&&"crypto"in globalThis?globalThis.crypto:void 0;/*! noble-hashes - MIT License (c) 2022 Paul Miller (paulmillr.com) */const h1=e=>new Uint32Array(e.buffer,e.byteOffset,Math.floor(e.byteLength/4)),ec=e=>new DataView(e.buffer,e.byteOffset,e.byteLength),rn=(e,t)=>e<<32-t|e>>>t,Nf=new Uint8Array(new Uint32Array([287454020]).buffer)[0]===68,m1=e=>e<<24&4278190080|e<<8&16711680|e>>>8&65280|e>>>24&255;function Uf(e){for(let t=0;t<e.length;t++)e[t]=m1(e[t])}function g1(e){if(typeof e!="string")throw new Error("utf8ToBytes expected string, got "+typeof e);return new Uint8Array(new TextEncoder().encode(e))}function ws(e){return typeof e=="string"&&(e=g1(e)),Ko(e),e}function y1(...e){let t=0;for(let r=0;r<e.length;r++){const a=e[r];Ko(a),t+=a.length}const n=new Uint8Array(t);for(let r=0,a=0;r<e.length;r++){const o=e[r];n.set(o,a),a+=o.length}return n}let ud=class{clone(){return this._cloneInto()}};function Uy(e){const t=r=>e().update(ws(r)).digest(),n=e();return t.outputLen=n.outputLen,t.blockLen=n.blockLen,t.create=()=>e(),t}function b1(e=32){if(sa&&typeof sa.getRandomValues=="function")return sa.getRandomValues(new Uint8Array(e));if(sa&&typeof sa.randomBytes=="function")return sa.randomBytes(e);throw new Error("crypto.getRandomValues must be defined")}function w1(e,t,n,r){if(typeof e.setBigUint64=="function")return e.setBigUint64(t,n,r);const a=BigInt(32),o=BigInt(4294967295),i=Number(n>>a&o),s=Number(n&o),c=r?4:0,u=r?0:4;e.setUint32(t+c,i,r),e.setUint32(t+u,s,r)}const k1=(e,t,n)=>e&t^~e&n,_1=(e,t,n)=>e&t^e&n^t&n;let v1=class extends ud{constructor(t,n,r,a){super(),this.blockLen=t,this.outputLen=n,this.padOffset=r,this.isLE=a,this.finished=!1,this.length=0,this.pos=0,this.destroyed=!1,this.buffer=new Uint8Array(t),this.view=ec(this.buffer)}update(t){Sa(this);const{view:n,buffer:r,blockLen:a}=this;t=ws(t);const o=t.length;for(let i=0;i<o;){const s=Math.min(a-this.pos,o-i);if(s===a){const c=ec(t);for(;a<=o-i;i+=a)this.process(c,i);continue}r.set(t.subarray(i,i+s),this.pos),this.pos+=s,i+=s,this.pos===a&&(this.process(n,0),this.pos=0)}return this.length+=t.length,this.roundClean(),this}digestInto(t){Sa(this),Ny(t,this),this.finished=!0;const{buffer:n,view:r,blockLen:a,isLE:o}=this;let{pos:i}=this;n[i++]=128,this.buffer.subarray(i).fill(0),this.padOffset>a-i&&(this.process(r,0),i=0);for(let h=i;h<a;h++)n[h]=0;w1(r,a-8,BigInt(this.length*8),o),this.process(r,0);const s=ec(t),c=this.outputLen;if(c%4)throw new Error("_sha2: outputLen should be aligned to 32bit");const u=c/4,d=this.get();if(u>d.length)throw new Error("_sha2: outputLen bigger than state");for(let h=0;h<u;h++)s.setUint32(4*h,d[h],o)}digest(){const{buffer:t,outputLen:n}=this;this.digestInto(t);const r=t.slice(0,n);return this.destroy(),r}_cloneInto(t){t||(t=new this.constructor),t.set(...this.get());const{blockLen:n,buffer:r,length:a,finished:o,destroyed:i,pos:s}=this;return t.length=a,t.pos=s,t.finished=o,t.destroyed=i,a%n&&t.buffer.set(r),t}};const E1=new Uint32Array([1116352408,1899447441,3049323471,3921009573,961987163,1508970993,2453635748,2870763221,3624381080,310598401,607225278,1426881987,1925078388,2162078206,2614888103,3248222580,3835390401,4022224774,264347078,604807628,770255983,1249150122,1555081692,1996064986,2554220882,2821834349,2952996808,3210313671,3336571891,3584528711,113926993,338241895,666307205,773529912,1294757372,1396182291,1695183700,1986661051,2177026350,2456956037,2730485921,2820302411,3259730800,3345764771,3516065817,3600352804,4094571909,275423344,430227734,506948616,659060556,883997877,958139571,1322822218,1537002063,1747873779,1955562222,2024104815,2227730452,2361852424,2428436474,2756734187,3204031479,3329325298]),Ln=new Uint32Array([1779033703,3144134277,1013904242,2773480762,1359893119,2600822924,528734635,1541459225]),Dn=new Uint32Array(64);let A1=class extends v1{constructor(){super(64,32,8,!1),this.A=Ln[0]|0,this.B=Ln[1]|0,this.C=Ln[2]|0,this.D=Ln[3]|0,this.E=Ln[4]|0,this.F=Ln[5]|0,this.G=Ln[6]|0,this.H=Ln[7]|0}get(){const{A:t,B:n,C:r,D:a,E:o,F:i,G:s,H:c}=this;return[t,n,r,a,o,i,s,c]}set(t,n,r,a,o,i,s,c){this.A=t|0,this.B=n|0,this.C=r|0,this.D=a|0,this.E=o|0,this.F=i|0,this.G=s|0,this.H=c|0}process(t,n){for(let h=0;h<16;h++,n+=4)Dn[h]=t.getUint32(n,!1);for(let h=16;h<64;h++){const f=Dn[h-15],l=Dn[h-2],g=rn(f,7)^rn(f,18)^f>>>3,b=rn(l,17)^rn(l,19)^l>>>10;Dn[h]=b+Dn[h-7]+g+Dn[h-16]|0}let{A:r,B:a,C:o,D:i,E:s,F:c,G:u,H:d}=this;for(let h=0;h<64;h++){const f=rn(s,6)^rn(s,11)^rn(s,25),l=d+f+k1(s,c,u)+E1[h]+Dn[h]|0,b=(rn(r,2)^rn(r,13)^rn(r,22))+_1(r,a,o)|0;d=u,u=c,c=s,s=i+l|0,i=o,o=a,a=r,r=l+b|0}r=r+this.A|0,a=a+this.B|0,o=o+this.C|0,i=i+this.D|0,s=s+this.E|0,c=c+this.F|0,u=u+this.G|0,d=d+this.H|0,this.set(r,a,o,i,s,c,u,d)}roundClean(){Dn.fill(0)}destroy(){this.set(0,0,0,0,0,0,0,0),this.buffer.fill(0)}};const Hy=Uy(()=>new A1);function Hf(e){if(!Number.isSafeInteger(e)||e<0)throw new Error("positive integer expected, got "+e)}function S1(e){return e instanceof Uint8Array||ArrayBuffer.isView(e)&&e.constructor.name==="Uint8Array"}function ld(e,...t){if(!S1(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 is(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 Ly(e,t){ld(e);const n=t.outputLen;if(e.length<n)throw new Error("digestInto() expects output buffer of length at least "+n)}const hi=BigInt(2**32-1),Lf=BigInt(32);function j1(e,t=!1){return t?{h:Number(e&hi),l:Number(e>>Lf&hi)}:{h:Number(e>>Lf&hi)|0,l:Number(e&hi)|0}}function x1(e,t=!1){let n=new Uint32Array(e.length),r=new Uint32Array(e.length);for(let a=0;a<e.length;a++){const{h:o,l:i}=j1(e[a],t);[n[a],r[a]]=[o,i]}return[n,r]}const T1=(e,t,n)=>e<<n|t>>>32-n,I1=(e,t,n)=>t<<n|e>>>32-n,C1=(e,t,n)=>t<<n-32|e>>>64-n,O1=(e,t,n)=>e<<n-32|t>>>64-n;/*! noble-hashes - MIT License (c) 2022 Paul Miller (paulmillr.com) */const B1=e=>new Uint32Array(e.buffer,e.byteOffset,Math.floor(e.byteLength/4)),tc=e=>new DataView(e.buffer,e.byteOffset,e.byteLength),an=(e,t)=>e<<32-t|e>>>t,Df=new Uint8Array(new Uint32Array([287454020]).buffer)[0]===68,z1=e=>e<<24&4278190080|e<<8&16711680|e>>>8&65280|e>>>24&255;function Ff(e){for(let t=0;t<e.length;t++)e[t]=z1(e[t])}function Dy(e){if(typeof e!="string")throw new Error("utf8ToBytes expected string, got "+typeof e);return new Uint8Array(new TextEncoder().encode(e))}function dd(e){return typeof e=="string"&&(e=Dy(e)),ld(e),e}let Fy=class{clone(){return this._cloneInto()}};function My(e){const t=r=>e().update(dd(r)).digest(),n=e();return t.outputLen=n.outputLen,t.blockLen=n.blockLen,t.create=()=>e(),t}const qy=[],Vy=[],$y=[],P1=BigInt(0),Ma=BigInt(1),R1=BigInt(2),N1=BigInt(7),U1=BigInt(256),H1=BigInt(113);for(let e=0,t=Ma,n=1,r=0;e<24;e++){[n,r]=[r,(2*n+3*r)%5],qy.push(2*(5*r+n)),Vy.push((e+1)*(e+2)/2%64);let a=P1;for(let o=0;o<7;o++)t=(t<<Ma^(t>>N1)*H1)%U1,t&R1&&(a^=Ma<<(Ma<<BigInt(o))-Ma);$y.push(a)}const[L1,D1]=x1($y,!0),Mf=(e,t,n)=>n>32?C1(e,t,n):T1(e,t,n),qf=(e,t,n)=>n>32?O1(e,t,n):I1(e,t,n);function F1(e,t=24){const n=new Uint32Array(10);for(let r=24-t;r<24;r++){for(let i=0;i<10;i++)n[i]=e[i]^e[i+10]^e[i+20]^e[i+30]^e[i+40];for(let i=0;i<10;i+=2){const s=(i+8)%10,c=(i+2)%10,u=n[c],d=n[c+1],h=Mf(u,d,1)^n[s],f=qf(u,d,1)^n[s+1];for(let l=0;l<50;l+=10)e[i+l]^=h,e[i+l+1]^=f}let a=e[2],o=e[3];for(let i=0;i<24;i++){const s=Vy[i],c=Mf(a,o,s),u=qf(a,o,s),d=qy[i];a=e[d],o=e[d+1],e[d]=c,e[d+1]=u}for(let i=0;i<50;i+=10){for(let s=0;s<10;s++)n[s]=e[i+s];for(let s=0;s<10;s++)e[i+s]^=~n[(s+2)%10]&n[(s+4)%10]}e[0]^=L1[r],e[1]^=D1[r]}n.fill(0)}let M1=class Gy extends Fy{constructor(t,n,r,a=!1,o=24){if(super(),this.blockLen=t,this.suffix=n,this.outputLen=r,this.enableXOF=a,this.rounds=o,this.pos=0,this.posOut=0,this.finished=!1,this.destroyed=!1,Hf(r),0>=this.blockLen||this.blockLen>=200)throw new Error("Sha3 supports only keccak-f1600 function");this.state=new Uint8Array(200),this.state32=B1(this.state)}keccak(){Df||Ff(this.state32),F1(this.state32,this.rounds),Df||Ff(this.state32),this.posOut=0,this.pos=0}update(t){is(this);const{blockLen:n,state:r}=this;t=dd(t);const a=t.length;for(let o=0;o<a;){const i=Math.min(n-this.pos,a-o);for(let s=0;s<i;s++)r[this.pos++]^=t[o++];this.pos===n&&this.keccak()}return this}finish(){if(this.finished)return;this.finished=!0;const{state:t,suffix:n,pos:r,blockLen:a}=this;t[r]^=n,(n&128)!==0&&r===a-1&&this.keccak(),t[a-1]^=128,this.keccak()}writeInto(t){is(this,!1),ld(t),this.finish();const n=this.state,{blockLen:r}=this;for(let a=0,o=t.length;a<o;){this.posOut>=r&&this.keccak();const i=Math.min(r-this.posOut,o-a);t.set(n.subarray(this.posOut,this.posOut+i),a),this.posOut+=i,a+=i}return t}xofInto(t){if(!this.enableXOF)throw new Error("XOF is not possible for this instance");return this.writeInto(t)}xof(t){return Hf(t),this.xofInto(new Uint8Array(t))}digestInto(t){if(Ly(t,this),this.finished)throw new Error("digest() was already called");return this.writeInto(t),this.destroy(),t}digest(){return this.digestInto(new Uint8Array(this.outputLen))}destroy(){this.destroyed=!0,this.state.fill(0)}_cloneInto(t){const{blockLen:n,suffix:r,outputLen:a,rounds:o,enableXOF:i}=this;return t||(t=new Gy(n,r,a,i,o)),t.state32.set(this.state32),t.pos=this.pos,t.posOut=this.posOut,t.finished=this.finished,t.rounds=o,t.suffix=r,t.outputLen=a,t.enableXOF=i,t.destroyed=this.destroyed,t}};const q1=(e,t,n)=>My(()=>new M1(t,e,n)),V1=q1(1,136,256/8);function $1(e,t,n,r){if(typeof e.setBigUint64=="function")return e.setBigUint64(t,n,r);const a=BigInt(32),o=BigInt(4294967295),i=Number(n>>a&o),s=Number(n&o),c=r?4:0,u=r?0:4;e.setUint32(t+c,i,r),e.setUint32(t+u,s,r)}const G1=(e,t,n)=>e&t^~e&n,K1=(e,t,n)=>e&t^e&n^t&n;class W1 extends Fy{constructor(t,n,r,a){super(),this.blockLen=t,this.outputLen=n,this.padOffset=r,this.isLE=a,this.finished=!1,this.length=0,this.pos=0,this.destroyed=!1,this.buffer=new Uint8Array(t),this.view=tc(this.buffer)}update(t){is(this);const{view:n,buffer:r,blockLen:a}=this;t=dd(t);const o=t.length;for(let i=0;i<o;){const s=Math.min(a-this.pos,o-i);if(s===a){const c=tc(t);for(;a<=o-i;i+=a)this.process(c,i);continue}r.set(t.subarray(i,i+s),this.pos),this.pos+=s,i+=s,this.pos===a&&(this.process(n,0),this.pos=0)}return this.length+=t.length,this.roundClean(),this}digestInto(t){is(this),Ly(t,this),this.finished=!0;const{buffer:n,view:r,blockLen:a,isLE:o}=this;let{pos:i}=this;n[i++]=128,this.buffer.subarray(i).fill(0),this.padOffset>a-i&&(this.process(r,0),i=0);for(let h=i;h<a;h++)n[h]=0;$1(r,a-8,BigInt(this.length*8),o),this.process(r,0);const s=tc(t),c=this.outputLen;if(c%4)throw new Error("_sha2: outputLen should be aligned to 32bit");const u=c/4,d=this.get();if(u>d.length)throw new Error("_sha2: outputLen bigger than state");for(let h=0;h<u;h++)s.setUint32(4*h,d[h],o)}digest(){const{buffer:t,outputLen:n}=this;this.digestInto(t);const r=t.slice(0,n);return this.destroy(),r}_cloneInto(t){t||(t=new this.constructor),t.set(...this.get());const{blockLen:n,buffer:r,length:a,finished:o,destroyed:i,pos:s}=this;return t.length=a,t.pos=s,t.finished=o,t.destroyed=i,a%n&&t.buffer.set(r),t}}const X1=new Uint32Array([1116352408,1899447441,3049323471,3921009573,961987163,1508970993,2453635748,2870763221,3624381080,310598401,607225278,1426881987,1925078388,2162078206,2614888103,3248222580,3835390401,4022224774,264347078,604807628,770255983,1249150122,1555081692,1996064986,2554220882,2821834349,2952996808,3210313671,3336571891,3584528711,113926993,338241895,666307205,773529912,1294757372,1396182291,1695183700,1986661051,2177026350,2456956037,2730485921,2820302411,3259730800,3345764771,3516065817,3600352804,4094571909,275423344,430227734,506948616,659060556,883997877,958139571,1322822218,1537002063,1747873779,1955562222,2024104815,2227730452,2361852424,2428436474,2756734187,3204031479,3329325298]),Fn=new Uint32Array([1779033703,3144134277,1013904242,2773480762,1359893119,2600822924,528734635,1541459225]),Mn=new Uint32Array(64);class Z1 extends W1{constructor(){super(64,32,8,!1),this.A=Fn[0]|0,this.B=Fn[1]|0,this.C=Fn[2]|0,this.D=Fn[3]|0,this.E=Fn[4]|0,this.F=Fn[5]|0,this.G=Fn[6]|0,this.H=Fn[7]|0}get(){const{A:t,B:n,C:r,D:a,E:o,F:i,G:s,H:c}=this;return[t,n,r,a,o,i,s,c]}set(t,n,r,a,o,i,s,c){this.A=t|0,this.B=n|0,this.C=r|0,this.D=a|0,this.E=o|0,this.F=i|0,this.G=s|0,this.H=c|0}process(t,n){for(let h=0;h<16;h++,n+=4)Mn[h]=t.getUint32(n,!1);for(let h=16;h<64;h++){const f=Mn[h-15],l=Mn[h-2],g=an(f,7)^an(f,18)^f>>>3,b=an(l,17)^an(l,19)^l>>>10;Mn[h]=b+Mn[h-7]+g+Mn[h-16]|0}let{A:r,B:a,C:o,D:i,E:s,F:c,G:u,H:d}=this;for(let h=0;h<64;h++){const f=an(s,6)^an(s,11)^an(s,25),l=d+f+G1(s,c,u)+X1[h]+Mn[h]|0,b=(an(r,2)^an(r,13)^an(r,22))+K1(r,a,o)|0;d=u,u=c,c=s,s=i+l|0,i=o,o=a,a=r,r=l+b|0}r=r+this.A|0,a=a+this.B|0,o=o+this.C|0,i=i+this.D|0,s=s+this.E|0,c=c+this.F|0,u=u+this.G|0,d=d+this.H|0,this.set(r,a,o,i,s,c,u,d)}roundClean(){Mn.fill(0)}destroy(){this.set(0,0,0,0,0,0,0,0),this.buffer.fill(0)}}const fd=My(()=>new Z1);/*! noble-curves - MIT License (c) 2022 Paul Miller (paulmillr.com) */const pd=BigInt(0),Ky=BigInt(1),Y1=BigInt(2);function $r(e){return e instanceof Uint8Array||ArrayBuffer.isView(e)&&e.constructor.name==="Uint8Array"}function Wo(e){if(!$r(e))throw new Error("Uint8Array expected")}function ja(e,t){if(typeof t!="boolean")throw new Error(e+" boolean expected, got "+t)}const J1=Array.from({length:256},(e,t)=>t.toString(16).padStart(2,"0"));function fr(e){Wo(e);let t="";for(let n=0;n<e.length;n++)t+=J1[e[n]];return t}function ga(e){const t=e.toString(16);return t.length&1?"0"+t:t}function ks(e){if(typeof e!="string")throw new Error("hex string expected, got "+typeof e);return e===""?pd:BigInt("0x"+e)}const Sn={_0:48,_9:57,A:65,F:70,a:97,f:102};function Vf(e){if(e>=Sn._0&&e<=Sn._9)return e-Sn._0;if(e>=Sn.A&&e<=Sn.F)return e-(Sn.A-10);if(e>=Sn.a&&e<=Sn.f)return e-(Sn.a-10)}function Gr(e){if(typeof e!="string")throw new Error("hex string expected, got "+typeof 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 a=0,o=0;a<n;a++,o+=2){const i=Vf(e.charCodeAt(o)),s=Vf(e.charCodeAt(o+1));if(i===void 0||s===void 0){const c=e[o]+e[o+1];throw new Error('hex string expected, got non-hex character "'+c+'" at index '+o)}r[a]=i*16+s}return r}function vt(e){return ks(fr(e))}function hd(e){return Wo(e),ks(fr(Uint8Array.from(e).reverse()))}function xa(e,t){return Gr(e.toString(16).padStart(t*2,"0"))}function md(e,t){return xa(e,t).reverse()}function gd(e){return Gr(ga(e))}function Lt(e,t,n){let r;if(typeof t=="string")try{r=Gr(t)}catch(o){throw new Error(e+" must be hex string or Uint8Array, cause: "+o)}else if($r(t))r=Uint8Array.from(t);else throw new Error(e+" must be hex string or Uint8Array");const a=r.length;if(typeof n=="number"&&a!==n)throw new Error(e+" of length "+n+" expected, got "+a);return r}function Ta(...e){let t=0;for(let r=0;r<e.length;r++){const a=e[r];Wo(a),t+=a.length}const n=new Uint8Array(t);for(let r=0,a=0;r<e.length;r++){const o=e[r];n.set(o,a),a+=o.length}return n}const nc=e=>typeof e=="bigint"&&pd<=e;function _s(e,t,n){return nc(e)&&nc(t)&&nc(n)&&t<=e&&e<n}function Fr(e,t,n,r){if(!_s(t,n,r))throw new Error("expected valid "+e+": "+n+" <= n < "+r+", got "+t)}function Wy(e){let t;for(t=0;e>pd;e>>=Ky,t+=1);return t}const vs=e=>(Y1<<BigInt(e-1))-Ky,rc=e=>new Uint8Array(e),$f=e=>Uint8Array.from(e);function Xy(e,t,n){if(typeof e!="number"||e<2)throw new Error("hashLen must be a number");if(typeof t!="number"||t<2)throw new Error("qByteLen must be a number");if(typeof n!="function")throw new Error("hmacFn must be a function");let r=rc(e),a=rc(e),o=0;const i=()=>{r.fill(1),a.fill(0),o=0},s=(...h)=>n(a,r,...h),c=(h=rc())=>{a=s($f([0]),h),r=s(),h.length!==0&&(a=s($f([1]),h),r=s())},u=()=>{if(o++>=1e3)throw new Error("drbg: tried 1000 values");let h=0;const f=[];for(;h<t;){r=s();const l=r.slice();f.push(l),h+=r.length}return Ta(...f)};return(h,f)=>{i(),c(h);let l;for(;!(l=f(u()));)c();return i(),l}}const Q1={bigint:e=>typeof e=="bigint",function:e=>typeof e=="function",boolean:e=>typeof e=="boolean",string:e=>typeof e=="string",stringOrUint8Array:e=>typeof e=="string"||$r(e),isSafeInteger:e=>Number.isSafeInteger(e),array:e=>Array.isArray(e),field:(e,t)=>t.Fp.isValid(e),hash:e=>typeof e=="function"&&Number.isSafeInteger(e.outputLen)};function Xo(e,t,n={}){const r=(a,o,i)=>{const s=Q1[o];if(typeof s!="function")throw new Error("invalid validator function");const c=e[a];if(!(i&&c===void 0)&&!s(c,e))throw new Error("param "+String(a)+" is invalid. Expected "+o+", got "+c)};for(const[a,o]of Object.entries(t))r(a,o,!1);for(const[a,o]of Object.entries(n))r(a,o,!0);return e}function bl(e){const t=new WeakMap;return(n,...r)=>{const a=t.get(n);if(a!==void 0)return a;const o=e(n,...r);return t.set(n,o),o}}const ev=Object.freeze(Object.defineProperty({__proto__:null,aInRange:Fr,abool:ja,abytes:Wo,bitLen:Wy,bitMask:vs,bytesToHex:fr,bytesToNumberBE:vt,bytesToNumberLE:hd,concatBytes:Ta,createHmacDrbg:Xy,ensureBytes:Lt,hexToBytes:Gr,hexToNumber:ks,inRange:_s,isBytes:$r,memoized:bl,numberToBytesBE:xa,numberToBytesLE:md,numberToHexUnpadded:ga,numberToVarBytesBE:gd,validateObject:Xo},Symbol.toStringTag,{value:"Module"}));/*! noble-curves - MIT License (c) 2022 Paul Miller (paulmillr.com) */const lt=BigInt(0),Ve=BigInt(1),Cr=BigInt(2),tv=BigInt(3),wl=BigInt(4),Gf=BigInt(5),Kf=BigInt(8);function bt(e,t){const n=e%t;return n>=lt?n:t+n}function nv(e,t,n){if(t<lt)throw new Error("invalid exponent, negatives unsupported");if(n<=lt)throw new Error("invalid modulus");if(n===Ve)return lt;let r=Ve;for(;t>lt;)t&Ve&&(r=r*e%n),e=e*e%n,t>>=Ve;return r}function ss(e,t){if(e===lt)throw new Error("invert: expected non-zero number");if(t<=lt)throw new Error("invert: expected positive modulus, got "+t);let n=bt(e,t),r=t,a=lt,o=Ve;for(;n!==lt;){const s=r/n,c=r%n,u=a-o*s;r=n,n=c,a=o,o=u}if(r!==Ve)throw new Error("invert: does not exist");return bt(a,t)}function rv(e){const t=(e-Ve)/Cr;let n,r,a;for(n=e-Ve,r=0;n%Cr===lt;n/=Cr,r++);for(a=Cr;a<e&&nv(a,t,e)!==e-Ve;a++)if(a>1e3)throw new Error("Cannot find square root: likely non-prime P");if(r===1){const i=(e+Ve)/wl;return function(c,u){const d=c.pow(u,i);if(!c.eql(c.sqr(d),u))throw new Error("Cannot find square root");return d}}const o=(n+Ve)/Cr;return function(s,c){if(s.pow(c,t)===s.neg(s.ONE))throw new Error("Cannot find square root");let u=r,d=s.pow(s.mul(s.ONE,a),n),h=s.pow(c,o),f=s.pow(c,n);for(;!s.eql(f,s.ONE);){if(s.eql(f,s.ZERO))return s.ZERO;let l=1;for(let b=s.sqr(f);l<u&&!s.eql(b,s.ONE);l++)b=s.sqr(b);const g=s.pow(d,Ve<<BigInt(u-l-1));d=s.sqr(g),h=s.mul(h,g),f=s.mul(f,d),u=l}return h}}function av(e){if(e%wl===tv){const t=(e+Ve)/wl;return function(r,a){const o=r.pow(a,t);if(!r.eql(r.sqr(o),a))throw new Error("Cannot find square root");return o}}if(e%Kf===Gf){const t=(e-Gf)/Kf;return function(r,a){const o=r.mul(a,Cr),i=r.pow(o,t),s=r.mul(a,i),c=r.mul(r.mul(s,Cr),i),u=r.mul(s,r.sub(c,r.ONE));if(!r.eql(r.sqr(u),a))throw new Error("Cannot find square root");return u}}return rv(e)}const ov=["create","isValid","is0","neg","inv","sqrt","sqr","eql","add","sub","mul","pow","div","addN","subN","mulN","sqrN"];function yd(e){const t={ORDER:"bigint",MASK:"bigint",BYTES:"isSafeInteger",BITS:"isSafeInteger"},n=ov.reduce((r,a)=>(r[a]="function",r),t);return Xo(e,n)}function Zy(e,t,n){if(n<lt)throw new Error("invalid exponent, negatives unsupported");if(n===lt)return e.ONE;if(n===Ve)return t;let r=e.ONE,a=t;for(;n>lt;)n&Ve&&(r=e.mul(r,a)),a=e.sqr(a),n>>=Ve;return r}function iv(e,t){const n=new Array(t.length),r=t.reduce((o,i,s)=>e.is0(i)?o:(n[s]=o,e.mul(o,i)),e.ONE),a=e.inv(r);return t.reduceRight((o,i,s)=>e.is0(i)?o:(n[s]=e.mul(o,n[s]),e.mul(o,i)),a),n}function Yy(e,t){const n=t!==void 0?t:e.toString(2).length,r=Math.ceil(n/8);return{nBitLength:n,nByteLength:r}}function bd(e,t,n=!1,r={}){if(e<=lt)throw new Error("invalid field: expected ORDER > 0, got "+e);const{nBitLength:a,nByteLength:o}=Yy(e,t);if(o>2048)throw new Error("invalid field: expected ORDER of <= 2048 bytes");let i;const s=Object.freeze({ORDER:e,BITS:a,BYTES:o,MASK:vs(a),ZERO:lt,ONE:Ve,create:c=>bt(c,e),isValid:c=>{if(typeof c!="bigint")throw new Error("invalid field element: expected bigint, got "+typeof c);return lt<=c&&c<e},is0:c=>c===lt,isOdd:c=>(c&Ve)===Ve,neg:c=>bt(-c,e),eql:(c,u)=>c===u,sqr:c=>bt(c*c,e),add:(c,u)=>bt(c+u,e),sub:(c,u)=>bt(c-u,e),mul:(c,u)=>bt(c*u,e),pow:(c,u)=>Zy(s,c,u),div:(c,u)=>bt(c*ss(u,e),e),sqrN:c=>c*c,addN:(c,u)=>c+u,subN:(c,u)=>c-u,mulN:(c,u)=>c*u,inv:c=>ss(c,e),sqrt:r.sqrt||(c=>(i||(i=av(e)),i(s,c))),invertBatch:c=>iv(s,c),cmov:(c,u,d)=>d?u:c,toBytes:c=>n?md(c,o):xa(c,o),fromBytes:c=>{if(c.length!==o)throw new Error("Field.fromBytes: expected "+o+" bytes, got "+c.length);return n?hd(c):vt(c)}});return Object.freeze(s)}function Jy(e){if(typeof e!="bigint")throw new Error("field order must be bigint");const t=e.toString(2).length;return Math.ceil(t/8)}function Qy(e){const t=Jy(e);return t+Math.ceil(t/2)}function sv(e,t,n=!1){const r=e.length,a=Jy(t),o=Qy(t);if(r<16||r<o||r>1024)throw new Error("expected "+o+"-1024 bytes of input, got "+r);const i=n?vt(e):hd(e),s=bt(i,t-Ve)+Ve;return n?md(s,a):xa(s,a)}/*! noble-curves - MIT License (c) 2022 Paul Miller (paulmillr.com) */function cv(e){const{Fp:t,mds:n,reversePartialPowIdx:r,roundConstants:a}=e,{roundsFull:o,roundsPartial:i,sboxPower:s,t:c}=e;yd(t);for(const g of["t","roundsFull","roundsPartial"])if(typeof e[g]!="number"||!Number.isSafeInteger(e[g]))throw new Error("invalid number "+g);if(!Array.isArray(n)||n.length!==c)throw new Error("Poseidon: invalid MDS matrix");const u=n.map(g=>{if(!Array.isArray(g)||g.length!==c)throw new Error("invalid MDS matrix row: "+g);return g.map(b=>{if(typeof b!="bigint")throw new Error("invalid MDS matrix bigint: "+b);return t.create(b)})});if(r!==void 0&&typeof r!="boolean")throw new Error("invalid param reversePartialPowIdx="+r);if(o&1)throw new Error("roundsFull is not even"+o);const d=o+i;if(!Array.isArray(a)||a.length!==d)throw new Error("Poseidon: invalid round constants");const h=a.map(g=>{if(!Array.isArray(g)||g.length!==c)throw new Error("invalid round constants");return g.map(b=>{if(typeof b!="bigint"||!t.isValid(b))throw new Error("invalid round constant");return t.create(b)})});if(!s||![3,5,7].includes(s))throw new Error("invalid sboxPower");const f=BigInt(s);let l=g=>Zy(t,g,f);return s===3?l=g=>t.mul(t.sqrN(g),g):s===5&&(l=g=>t.mul(t.sqrN(t.sqrN(g)),g)),Object.freeze({...e,rounds:d,sboxFn:l,roundConstants:h,mds:u})}function uv(e){const t=cv(e),{Fp:n,mds:r,roundConstants:a,rounds:o,roundsPartial:i,sboxFn:s,t:c}=t,u=t.roundsFull/2,d=t.reversePartialPowIdx?c-1:0,h=(l,g,b)=>(l=l.map((y,_)=>n.add(y,a[b][_])),g?l=l.map(y=>s(y)):l[d]=s(l[d]),l=r.map(y=>y.reduce((_,k,w)=>n.add(_,n.mulN(k,l[w])),n.ZERO)),l),f=function(g){if(!Array.isArray(g)||g.length!==c)throw new Error("invalid values, expected array of bigints with length "+c);g=g.map(y=>{if(typeof y!="bigint")throw new Error("invalid bigint="+y);return n.create(y)});let b=0;for(let y=0;y<u;y++)g=h(g,!0,b++);for(let y=0;y<i;y++)g=h(g,!1,b++);for(let y=0;y<u;y++)g=h(g,!0,b++);if(b!==o)throw new Error("invalid number of rounds");return g};return f.roundConstants=a,f}/*! noble-curves - MIT License (c) 2022 Paul Miller (paulmillr.com) */const Wf=BigInt(0),mi=BigInt(1);function ac(e,t){const n=t.negate();return e?n:t}function e0(e,t){if(!Number.isSafeInteger(e)||e<=0||e>t)throw new Error("invalid window size, expected [1.."+t+"], got W="+e)}function oc(e,t){e0(e,t);const n=Math.ceil(t/e)+1,r=2**(e-1);return{windows:n,windowSize:r}}function lv(e,t){if(!Array.isArray(e))throw new Error("array expected");e.forEach((n,r)=>{if(!(n instanceof t))throw new Error("invalid point at index "+r)})}function dv(e,t){if(!Array.isArray(e))throw new Error("array of scalars expected");e.forEach((n,r)=>{if(!t.isValid(n))throw new Error("invalid scalar at index "+r)})}const ic=new WeakMap,t0=new WeakMap;function sc(e){return t0.get(e)||1}function fv(e,t){return{constTimeNegate:ac,hasPrecomputes(n){return sc(n)!==1},unsafeLadder(n,r,a=e.ZERO){let o=n;for(;r>Wf;)r&mi&&(a=a.add(o)),o=o.double(),r>>=mi;return a},precomputeWindow(n,r){const{windows:a,windowSize:o}=oc(r,t),i=[];let s=n,c=s;for(let u=0;u<a;u++){c=s,i.push(c);for(let d=1;d<o;d++)c=c.add(s),i.push(c);s=c.double()}return i},wNAF(n,r,a){const{windows:o,windowSize:i}=oc(n,t);let s=e.ZERO,c=e.BASE;const u=BigInt(2**n-1),d=2**n,h=BigInt(n);for(let f=0;f<o;f++){const l=f*i;let g=Number(a&u);a>>=h,g>i&&(g-=d,a+=mi);const b=l,y=l+Math.abs(g)-1,_=f%2!==0,k=g<0;g===0?c=c.add(ac(_,r[b])):s=s.add(ac(k,r[y]))}return{p:s,f:c}},wNAFUnsafe(n,r,a,o=e.ZERO){const{windows:i,windowSize:s}=oc(n,t),c=BigInt(2**n-1),u=2**n,d=BigInt(n);for(let h=0;h<i;h++){const f=h*s;if(a===Wf)break;let l=Number(a&c);if(a>>=d,l>s&&(l-=u,a+=mi),l===0)continue;let g=r[f+Math.abs(l)-1];l<0&&(g=g.negate()),o=o.add(g)}return o},getPrecomputes(n,r,a){let o=ic.get(r);return o||(o=this.precomputeWindow(r,n),n!==1&&ic.set(r,a(o))),o},wNAFCached(n,r,a){const o=sc(n);return this.wNAF(o,this.getPrecomputes(o,n,a),r)},wNAFCachedUnsafe(n,r,a,o){const i=sc(n);return i===1?this.unsafeLadder(n,r,o):this.wNAFUnsafe(i,this.getPrecomputes(i,n,a),r,o)},setWindowSize(n,r){e0(r,t),t0.set(n,r),ic.delete(n)}}}function pv(e,t,n,r){if(lv(n,e),dv(r,t),n.length!==r.length)throw new Error("arrays of points and scalars must have equal length");const a=e.ZERO,o=Wy(BigInt(n.length)),i=o>12?o-3:o>4?o-2:o?2:1,s=(1<<i)-1,c=new Array(s+1).fill(a),u=Math.floor((t.BITS-1)/i)*i;let d=a;for(let h=u;h>=0;h-=i){c.fill(a);for(let l=0;l<r.length;l++){const g=r[l],b=Number(g>>BigInt(h)&BigInt(s));c[b]=c[b].add(n[l])}let f=a;for(let l=c.length-1,g=a;l>0;l--)g=g.add(c[l]),f=f.add(g);if(d=d.add(f),h!==0)for(let l=0;l<i;l++)d=d.double()}return d}function n0(e){return yd(e.Fp),Xo(e,{n:"bigint",h:"bigint",Gx:"field",Gy:"field"},{nBitLength:"isSafeInteger",nByteLength:"isSafeInteger"}),Object.freeze({...Yy(e.n,e.nBitLength),...e,p:e.Fp.ORDER})}/*! noble-curves - MIT License (c) 2022 Paul Miller (paulmillr.com) */function Xf(e){e.lowS!==void 0&&ja("lowS",e.lowS),e.prehash!==void 0&&ja("prehash",e.prehash)}function hv(e){const t=n0(e);Xo(t,{a:"field",b:"field"},{allowedPrivateKeyLengths:"array",wrapPrivateKey:"boolean",isTorsionFree:"function",clearCofactor:"function",allowInfinityPoint:"boolean",fromBytes:"function",toBytes:"function"});const{endo:n,Fp:r,a}=t;if(n){if(!r.eql(a,r.ZERO))throw new Error("invalid endomorphism, can only be defined for Koblitz curves that have a=0");if(typeof n!="object"||typeof n.beta!="bigint"||typeof n.splitScalar!="function")throw new Error("invalid endomorphism, expected beta: bigint and splitScalar: function")}return Object.freeze({...t})}const{bytesToNumberBE:mv,hexToBytes:gv}=ev,un={Err:class extends Error{constructor(t=""){super(t)}},_tlv:{encode:(e,t)=>{const{Err:n}=un;if(e<0||e>256)throw new n("tlv.encode: wrong tag");if(t.length&1)throw new n("tlv.encode: unpadded data");const r=t.length/2,a=ga(r);if(a.length/2&128)throw new n("tlv.encode: long form length too big");const o=r>127?ga(a.length/2|128):"";return ga(e)+o+a+t},decode(e,t){const{Err:n}=un;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 a=t[r++],o=!!(a&128);let i=0;if(!o)i=a;else{const c=a&127;if(!c)throw new n("tlv.decode(long): indefinite length not supported");if(c>4)throw new n("tlv.decode(long): byte length is too big");const u=t.subarray(r,r+c);if(u.length!==c)throw new n("tlv.decode: length bytes not complete");if(u[0]===0)throw new n("tlv.decode(long): zero leftmost byte");for(const d of u)i=i<<8|d;if(r+=c,i<128)throw new n("tlv.decode(long): not minimal encoding")}const s=t.subarray(r,r+i);if(s.length!==i)throw new n("tlv.decode: wrong value length");return{v:s,l:t.subarray(r+i)}}},_int:{encode(e){const{Err:t}=un;if(e<zn)throw new t("integer: negative integers are not allowed");let n=ga(e);if(Number.parseInt(n[0],16)&8&&(n="00"+n),n.length&1)throw new t("unexpected DER parsing assertion: unpadded hex");return n},decode(e){const{Err:t}=un;if(e[0]&128)throw new t("invalid signature integer: negative");if(e[0]===0&&!(e[1]&128))throw new t("invalid signature integer: unnecessary leading zero");return mv(e)}},toSig(e){const{Err:t,_int:n,_tlv:r}=un,a=typeof e=="string"?gv(e):e;Wo(a);const{v:o,l:i}=r.decode(48,a);if(i.length)throw new t("invalid signature: left bytes after parsing");const{v:s,l:c}=r.decode(2,o),{v:u,l:d}=r.decode(2,c);if(d.length)throw new t("invalid signature: left bytes after parsing");return{r:n.decode(s),s:n.decode(u)}},hexFromSig(e){const{_tlv:t,_int:n}=un,r=t.encode(2,n.encode(e.r)),a=t.encode(2,n.encode(e.s)),o=r+a;return t.encode(48,o)}},zn=BigInt(0),et=BigInt(1);BigInt(2);const Zf=BigInt(3);BigInt(4);function yv(e){const t=hv(e),{Fp:n}=t,r=bd(t.n,t.nBitLength),a=t.toBytes||((b,y,_)=>{const k=y.toAffine();return Ta(Uint8Array.from([4]),n.toBytes(k.x),n.toBytes(k.y))}),o=t.fromBytes||(b=>{const y=b.subarray(1),_=n.fromBytes(y.subarray(0,n.BYTES)),k=n.fromBytes(y.subarray(n.BYTES,2*n.BYTES));return{x:_,y:k}});function i(b){const{a:y,b:_}=t,k=n.sqr(b),w=n.mul(k,b);return n.add(n.add(w,n.mul(b,y)),_)}if(!n.eql(n.sqr(t.Gy),i(t.Gx)))throw new Error("bad generator point: equation left != right");function s(b){return _s(b,et,t.n)}function c(b){const{allowedPrivateKeyLengths:y,nByteLength:_,wrapPrivateKey:k,n:w}=t;if(y&&typeof b!="bigint"){if($r(b)&&(b=fr(b)),typeof b!="string"||!y.includes(b.length))throw new Error("invalid private key");b=b.padStart(_*2,"0")}let v;try{v=typeof b=="bigint"?b:vt(Lt("private key",b,_))}catch{throw new Error("invalid private key, expected hex or "+_+" bytes, got "+typeof b)}return k&&(v=bt(v,w)),Fr("private key",v,et,w),v}function u(b){if(!(b instanceof f))throw new Error("ProjectivePoint expected")}const d=bl((b,y)=>{const{px:_,py:k,pz:w}=b;if(n.eql(w,n.ONE))return{x:_,y:k};const v=b.is0();y==null&&(y=v?n.ONE:n.inv(w));const A=n.mul(_,y),T=n.mul(k,y),I=n.mul(w,y);if(v)return{x:n.ZERO,y:n.ZERO};if(!n.eql(I,n.ONE))throw new Error("invZ was invalid");return{x:A,y:T}}),h=bl(b=>{if(b.is0()){if(t.allowInfinityPoint&&!n.is0(b.py))return;throw new Error("bad point: ZERO")}const{x:y,y:_}=b.toAffine();if(!n.isValid(y)||!n.isValid(_))throw new Error("bad point: x or y not FE");const k=n.sqr(_),w=i(y);if(!n.eql(k,w))throw new Error("bad point: equation left != right");if(!b.isTorsionFree())throw new Error("bad point: not in prime-order subgroup");return!0});class f{constructor(y,_,k){if(this.px=y,this.py=_,this.pz=k,y==null||!n.isValid(y))throw new Error("x required");if(_==null||!n.isValid(_))throw new Error("y required");if(k==null||!n.isValid(k))throw new Error("z required");Object.freeze(this)}static fromAffine(y){const{x:_,y:k}=y||{};if(!y||!n.isValid(_)||!n.isValid(k))throw new Error("invalid affine point");if(y instanceof f)throw new Error("projective point not allowed");const w=v=>n.eql(v,n.ZERO);return w(_)&&w(k)?f.ZERO:new f(_,k,n.ONE)}get x(){return this.toAffine().x}get y(){return this.toAffine().y}static normalizeZ(y){const _=n.invertBatch(y.map(k=>k.pz));return y.map((k,w)=>k.toAffine(_[w])).map(f.fromAffine)}static fromHex(y){const _=f.fromAffine(o(Lt("pointHex",y)));return _.assertValidity(),_}static fromPrivateKey(y){return f.BASE.multiply(c(y))}static msm(y,_){return pv(f,r,y,_)}_setWindowSize(y){g.setWindowSize(this,y)}assertValidity(){h(this)}hasEvenY(){const{y}=this.toAffine();if(n.isOdd)return!n.isOdd(y);throw new Error("Field doesn't support isOdd")}equals(y){u(y);const{px:_,py:k,pz:w}=this,{px:v,py:A,pz:T}=y,I=n.eql(n.mul(_,T),n.mul(v,w)),z=n.eql(n.mul(k,T),n.mul(A,w));return I&&z}negate(){return new f(this.px,n.neg(this.py),this.pz)}double(){const{a:y,b:_}=t,k=n.mul(_,Zf),{px:w,py:v,pz:A}=this;let T=n.ZERO,I=n.ZERO,z=n.ZERO,S=n.mul(w,w),B=n.mul(v,v),P=n.mul(A,A),M=n.mul(w,v);return M=n.add(M,M),z=n.mul(w,A),z=n.add(z,z),T=n.mul(y,z),I=n.mul(k,P),I=n.add(T,I),T=n.sub(B,I),I=n.add(B,I),I=n.mul(T,I),T=n.mul(M,T),z=n.mul(k,z),P=n.mul(y,P),M=n.sub(S,P),M=n.mul(y,M),M=n.add(M,z),z=n.add(S,S),S=n.add(z,S),S=n.add(S,P),S=n.mul(S,M),I=n.add(I,S),P=n.mul(v,A),P=n.add(P,P),S=n.mul(P,M),T=n.sub(T,S),z=n.mul(P,B),z=n.add(z,z),z=n.add(z,z),new f(T,I,z)}add(y){u(y);const{px:_,py:k,pz:w}=this,{px:v,py:A,pz:T}=y;let I=n.ZERO,z=n.ZERO,S=n.ZERO;const B=t.a,P=n.mul(t.b,Zf);let M=n.mul(_,v),D=n.mul(k,A),R=n.mul(w,T),$=n.add(_,k),q=n.add(v,A);$=n.mul($,q),q=n.add(M,D),$=n.sub($,q),q=n.add(_,w);let X=n.add(v,T);return q=n.mul(q,X),X=n.add(M,R),q=n.sub(q,X),X=n.add(k,w),I=n.add(A,T),X=n.mul(X,I),I=n.add(D,R),X=n.sub(X,I),S=n.mul(B,q),I=n.mul(P,R),S=n.add(I,S),I=n.sub(D,S),S=n.add(D,S),z=n.mul(I,S),D=n.add(M,M),D=n.add(D,M),R=n.mul(B,R),q=n.mul(P,q),D=n.add(D,R),R=n.sub(M,R),R=n.mul(B,R),q=n.add(q,R),M=n.mul(D,q),z=n.add(z,M),M=n.mul(X,q),I=n.mul($,I),I=n.sub(I,M),M=n.mul($,D),S=n.mul(X,S),S=n.add(S,M),new f(I,z,S)}subtract(y){return this.add(y.negate())}is0(){return this.equals(f.ZERO)}wNAF(y){return g.wNAFCached(this,y,f.normalizeZ)}multiplyUnsafe(y){const{endo:_,n:k}=t;Fr("scalar",y,zn,k);const w=f.ZERO;if(y===zn)return w;if(this.is0()||y===et)return this;if(!_||g.hasPrecomputes(this))return g.wNAFCachedUnsafe(this,y,f.normalizeZ);let{k1neg:v,k1:A,k2neg:T,k2:I}=_.splitScalar(y),z=w,S=w,B=this;for(;A>zn||I>zn;)A&et&&(z=z.add(B)),I&et&&(S=S.add(B)),B=B.double(),A>>=et,I>>=et;return v&&(z=z.negate()),T&&(S=S.negate()),S=new f(n.mul(S.px,_.beta),S.py,S.pz),z.add(S)}multiply(y){const{endo:_,n:k}=t;Fr("scalar",y,et,k);let w,v;if(_){const{k1neg:A,k1:T,k2neg:I,k2:z}=_.splitScalar(y);let{p:S,f:B}=this.wNAF(T),{p:P,f:M}=this.wNAF(z);S=g.constTimeNegate(A,S),P=g.constTimeNegate(I,P),P=new f(n.mul(P.px,_.beta),P.py,P.pz),w=S.add(P),v=B.add(M)}else{const{p:A,f:T}=this.wNAF(y);w=A,v=T}return f.normalizeZ([w,v])[0]}multiplyAndAddUnsafe(y,_,k){const w=f.BASE,v=(T,I)=>I===zn||I===et||!T.equals(w)?T.multiplyUnsafe(I):T.multiply(I),A=v(this,_).add(v(y,k));return A.is0()?void 0:A}toAffine(y){return d(this,y)}isTorsionFree(){const{h:y,isTorsionFree:_}=t;if(y===et)return!0;if(_)return _(f,this);throw new Error("isTorsionFree() has not been declared for the elliptic curve")}clearCofactor(){const{h:y,clearCofactor:_}=t;return y===et?this:_?_(f,this):this.multiplyUnsafe(t.h)}toRawBytes(y=!0){return ja("isCompressed",y),this.assertValidity(),a(f,this,y)}toHex(y=!0){return ja("isCompressed",y),fr(this.toRawBytes(y))}}f.BASE=new f(t.Gx,t.Gy,n.ONE),f.ZERO=new f(n.ZERO,n.ONE,n.ZERO);const l=t.nBitLength,g=fv(f,t.endo?Math.ceil(l/2):l);return{CURVE:t,ProjectivePoint:f,normPrivateKeyToScalar:c,weierstrassEquation:i,isWithinCurveOrder:s}}function bv(e){const t=n0(e);return Xo(t,{hash:"hash",hmac:"function",randomBytes:"function"},{bits2int:"function",bits2int_modN:"function",lowS:"boolean"}),Object.freeze({lowS:!0,...t})}function wv(e){const t=bv(e),{Fp:n,n:r}=t,a=n.BYTES+1,o=2*n.BYTES+1;function i(R){return bt(R,r)}function s(R){return ss(R,r)}const{ProjectivePoint:c,normPrivateKeyToScalar:u,weierstrassEquation:d,isWithinCurveOrder:h}=yv({...t,toBytes(R,$,q){const X=$.toAffine(),H=n.toBytes(X.x),C=Ta;return ja("isCompressed",q),q?C(Uint8Array.from([$.hasEvenY()?2:3]),H):C(Uint8Array.from([4]),H,n.toBytes(X.y))},fromBytes(R){const $=R.length,q=R[0],X=R.subarray(1);if($===a&&(q===2||q===3)){const H=vt(X);if(!_s(H,et,n.ORDER))throw new Error("Point is not on curve");const C=d(H);let V;try{V=n.sqrt(C)}catch(K){const Y=K instanceof Error?": "+K.message:"";throw new Error("Point is not on curve"+Y)}const W=(V&et)===et;return(q&1)===1!==W&&(V=n.neg(V)),{x:H,y:V}}else if($===o&&q===4){const H=n.fromBytes(X.subarray(0,n.BYTES)),C=n.fromBytes(X.subarray(n.BYTES,2*n.BYTES));return{x:H,y:C}}else{const H=a,C=o;throw new Error("invalid Point, expected length of "+H+", or uncompressed "+C+", got "+$)}}}),f=R=>fr(xa(R,t.nByteLength));function l(R){const $=r>>et;return R>$}function g(R){return l(R)?i(-R):R}const b=(R,$,q)=>vt(R.slice($,q));class y{constructor($,q,X){this.r=$,this.s=q,this.recovery=X,this.assertValidity()}static fromCompact($){const q=t.nByteLength;return $=Lt("compactSignature",$,q*2),new y(b($,0,q),b($,q,2*q))}static fromDER($){const{r:q,s:X}=un.toSig(Lt("DER",$));return new y(q,X)}assertValidity(){Fr("r",this.r,et,r),Fr("s",this.s,et,r)}addRecoveryBit($){return new y(this.r,this.s,$)}recoverPublicKey($){const{r:q,s:X,recovery:H}=this,C=T(Lt("msgHash",$));if(H==null||![0,1,2,3].includes(H))throw new Error("recovery id invalid");const V=H===2||H===3?q+t.n:q;if(V>=n.ORDER)throw new Error("recovery id 2 or 3 invalid");const W=(H&1)===0?"02":"03",U=c.fromHex(W+f(V)),K=s(V),Y=i(-C*K),de=i(X*K),te=c.BASE.multiplyAndAddUnsafe(U,Y,de);if(!te)throw new Error("point at infinify");return te.assertValidity(),te}hasHighS(){return l(this.s)}normalizeS(){return this.hasHighS()?new y(this.r,i(-this.s),this.recovery):this}toDERRawBytes(){return Gr(this.toDERHex())}toDERHex(){return un.hexFromSig({r:this.r,s:this.s})}toCompactRawBytes(){return Gr(this.toCompactHex())}toCompactHex(){return f(this.r)+f(this.s)}}const _={isValidPrivateKey(R){try{return u(R),!0}catch{return!1}},normPrivateKeyToScalar:u,randomPrivateKey:()=>{const R=Qy(t.n);return sv(t.randomBytes(R),t.n)},precompute(R=8,$=c.BASE){return $._setWindowSize(R),$.multiply(BigInt(3)),$}};function k(R,$=!0){return c.fromPrivateKey(R).toRawBytes($)}function w(R){const $=$r(R),q=typeof R=="string",X=($||q)&&R.length;return $?X===a||X===o:q?X===2*a||X===2*o:R instanceof c}function v(R,$,q=!0){if(w(R))throw new Error("first arg must be private key");if(!w($))throw new Error("second arg must be public key");return c.fromHex($).multiply(u(R)).toRawBytes(q)}const A=t.bits2int||function(R){if(R.length>8192)throw new Error("input is too large");const $=vt(R),q=R.length*8-t.nBitLength;return q>0?$>>BigInt(q):$},T=t.bits2int_modN||function(R){return i(A(R))},I=vs(t.nBitLength);function z(R){return Fr("num < 2^"+t.nBitLength,R,zn,I),xa(R,t.nByteLength)}function S(R,$,q=B){if(["recovered","canonical"].some(oe=>oe in q))throw new Error("sign() legacy options not supported");const{hash:X,randomBytes:H}=t;let{lowS:C,prehash:V,extraEntropy:W}=q;C==null&&(C=!0),R=Lt("msgHash",R),Xf(q),V&&(R=Lt("prehashed msgHash",X(R)));const U=T(R),K=u($),Y=[z(K),z(U)];if(W!=null&&W!==!1){const oe=W===!0?H(n.BYTES):W;Y.push(Lt("extraEntropy",oe))}const de=Ta(...Y),te=U;function re(oe){const ae=A(oe);if(!h(ae))return;const se=s(ae),G=c.BASE.multiply(ae).toAffine(),N=i(G.x);if(N===zn)return;const L=i(se*i(te+N*K));if(L===zn)return;let J=(G.x===N?0:2)|Number(G.y&et),Z=L;return C&&l(L)&&(Z=g(L),J^=1),new y(N,Z,J)}return{seed:de,k2sig:re}}const B={lowS:t.lowS,prehash:!1},P={lowS:t.lowS,prehash:!1};function M(R,$,q=B){const{seed:X,k2sig:H}=S(R,$,q),C=t;return Xy(C.hash.outputLen,C.nByteLength,C.hmac)(X,H)}c.BASE._setWindowSize(8);function D(R,$,q,X=P){var J;const H=R;$=Lt("msgHash",$),q=Lt("publicKey",q);const{lowS:C,prehash:V,format:W}=X;if(Xf(X),"strict"in X)throw new Error("options.strict was renamed to lowS");if(W!==void 0&&W!=="compact"&&W!=="der")throw new Error("format must be compact or der");const U=typeof H=="string"||$r(H),K=!U&&!W&&typeof H=="object"&&H!==null&&typeof H.r=="bigint"&&typeof H.s=="bigint";if(!U&&!K)throw new Error("invalid signature, expected Uint8Array, hex string or Signature instance");let Y,de;try{if(K&&(Y=new y(H.r,H.s)),U){try{W!=="compact"&&(Y=y.fromDER(H))}catch(Z){if(!(Z instanceof un.Err))throw Z}!Y&&W!=="der"&&(Y=y.fromCompact(H))}de=c.fromHex(q)}catch{return!1}if(!Y||C&&Y.hasHighS())return!1;V&&($=t.hash($));const{r:te,s:re}=Y,oe=T($),ae=s(re),se=i(oe*ae),G=i(te*ae),N=(J=c.BASE.multiplyAndAddUnsafe(de,se,G))==null?void 0:J.toAffine();return N?i(N.x)===te:!1}return{CURVE:t,getPublicKey:k,getSharedSecret:v,sign:M,verify:D,ProjectivePoint:c,Signature:y,utils:_}}function Yf(e){if(!Number.isSafeInteger(e)||e<0)throw new Error("positive integer expected, got "+e)}function kv(e){return e instanceof Uint8Array||ArrayBuffer.isView(e)&&e.constructor.name==="Uint8Array"}function wd(e,...t){if(!kv(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 _v(e){if(typeof e!="function"||typeof e.create!="function")throw new Error("Hash should be wrapped by utils.wrapConstructor");Yf(e.outputLen),Yf(e.blockLen)}function Jf(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")}const ca=typeof globalThis=="object"&&"crypto"in globalThis?globalThis.crypto:void 0;/*! noble-hashes - MIT License (c) 2022 Paul Miller (paulmillr.com) */function vv(e){if(typeof e!="string")throw new Error("utf8ToBytes expected string, got "+typeof e);return new Uint8Array(new TextEncoder().encode(e))}function Ev(e){return typeof e=="string"&&(e=vv(e)),wd(e),e}function Av(...e){let t=0;for(let r=0;r<e.length;r++){const a=e[r];wd(a),t+=a.length}const n=new Uint8Array(t);for(let r=0,a=0;r<e.length;r++){const o=e[r];n.set(o,a),a+=o.length}return n}let Sv=class{clone(){return this._cloneInto()}};function jv(e=32){if(ca&&typeof ca.getRandomValues=="function")return ca.getRandomValues(new Uint8Array(e));if(ca&&typeof ca.randomBytes=="function")return ca.randomBytes(e);throw new Error("crypto.getRandomValues must be defined")}let r0=class extends Sv{constructor(t,n){super(),this.finished=!1,this.destroyed=!1,_v(t);const r=Ev(n);if(this.iHash=t.create(),typeof this.iHash.update!="function")throw new Error("Expected instance of class which extends utils.Hash");this.blockLen=this.iHash.blockLen,this.outputLen=this.iHash.outputLen;const a=this.blockLen,o=new Uint8Array(a);o.set(r.length>a?t.create().update(r).digest():r);for(let i=0;i<o.length;i++)o[i]^=54;this.iHash.update(o),this.oHash=t.create();for(let i=0;i<o.length;i++)o[i]^=106;this.oHash.update(o),o.fill(0)}update(t){return Jf(this),this.iHash.update(t),this}digestInto(t){Jf(this),wd(t,this.outputLen),this.finished=!0,this.iHash.digestInto(t),this.oHash.update(t),this.oHash.digestInto(t),this.destroy()}digest(){const t=new Uint8Array(this.oHash.outputLen);return this.digestInto(t),t}_cloneInto(t){t||(t=Object.create(Object.getPrototypeOf(this),{}));const{oHash:n,iHash:r,finished:a,destroyed:o,blockLen:i,outputLen:s}=this;return t=t,t.finished=a,t.destroyed=o,t.blockLen=i,t.outputLen=s,t.oHash=n._cloneInto(t.oHash),t.iHash=r._cloneInto(t.iHash),t}destroy(){this.destroyed=!0,this.oHash.destroy(),this.iHash.destroy()}};const a0=(e,t,n)=>new r0(e,t).update(n).digest();a0.create=(e,t)=>new r0(e,t);/*! noble-curves - MIT License (c) 2022 Paul Miller (paulmillr.com) */function xv(e){return{hash:e,hmac:(t,...n)=>a0(e,t,Av(...n)),randomBytes:jv}}/*! scure-starknet - MIT License (c) 2022 Paul Miller (paulmillr.com) */const Ao=BigInt("3618502788666131213697322783095070105526743751716087489154079457884512865583"),zr=BigInt("0x800000000000000000000000000000000000000000000000000000000000000"),o0=252;function Qf(e){for(;e[0]===0;)e=e.subarray(1);const t=e.length*8-o0,n=vt(e);return t>0?n>>BigInt(t):n}function i0(e){return typeof e=="string"&&(e=_d(e),e.length&1&&(e="0"+e)),Gr(e)}const ea=wv({a:BigInt(1),b:BigInt("3141592653589793238462643383279502884197169399375105820974944592307816406665"),Fp:bd(BigInt("0x800000000000011000000000000000000000000000000000000000000000001")),n:Ao,nBitLength:o0,Gx:BigInt("874739451078007766457464989774322083649278607533249481151382481072868806602"),Gy:BigInt("152666792071518830868575557812948353041420400780739481342941381225525861407"),h:BigInt(1),lowS:!1,...xv(fd),bits2int:Qf,bits2int_modN:e=>{const t=vt(e).toString(16);return t.length===63&&(e=i0(t+"0")),bt(Qf(e),Ao)}}),Tv=ea;function Ia(e){return Lt("",typeof e=="string"?i0(e):e)}function Es(e){return fr(Ia(e)).padStart(64,"0")}function kd(e,t=!1){return ea.getPublicKey(Es(e),t)}function Iv(e,t){return ea.getSharedSecret(Es(e),t)}function s0(e){const{r:t,s:n}=e;if(t<0n||t>=zr)throw new Error(`Signature.r should be [1, ${zr})`);const r=ss(n,Ao);if(r<0n||r>=zr)throw new Error(`inv(Signature.s) should be [1, ${zr})`)}function c0(e){const t=Ia(e);if(vt(t)>=zr)throw new Error(`msgHash should be [0, ${zr})`);return t}function Cv(e,t,n){const r=ea.sign(c0(e),Es(t),n);return s0(r),r}function u0(e,t,n){if(!(e instanceof go)){const r=Ia(e);try{e=go.fromDER(r)}catch(a){if(!(a instanceof un.Err))throw a;e=go.fromCompact(r)}}return s0(e),ea.verify(e,c0(t),Ia(n))}const{CURVE:Ov,ProjectivePoint:ma,Signature:go,utils:l0}=ea;function d0(e){return`0x${fr(e.subarray(1)).replace(/^0+/gm,"")}`}function _d(e){return e.replace(/^0x/i,"")}function f0(e){const t=Ia(e),n=2n**256n,r=n-bt(n,Ao);for(let a=0;;a++){const o=kl(Ta(t,gd(BigInt(a))));if(o<r)return bt(o,Ao).toString(16);if(a===1e5)throw new Error("grindKey is broken: tried 100k vals")}}function p0(e){return d0(kd(e,!0))}function Bv(e){if(e=_d(e),e.length!==130)throw new Error("Wrong ethereum signature");return f0(e.substring(0,64))}const zv=2n**31n-1n,gi=e=>Number(e&zv);function Pv(e,t,n,r){const a=gi(kl(e)),o=gi(kl(t)),i=ks(_d(n));return`m/2645'/${a}'/${o}'/${gi(i)}'/${gi(i>>31n)}'/${r}`}const So=[new ma(2089986280348253421170679821480865132823066470938446095505822317253594081284n,1713931329540660377023406109199410414810705867260802078187082345529207694986n,1n),new ma(996781205833008774514500082376783249102396023663454813447423147977397232763n,1668503676786377725805489344771023921079126552019160156920634619255970485781n,1n),new ma(2251563274489750535117886426533222435294046428347329203627021249169616184184n,1798716007562728905295480679789526322175868328062420237419143593021674992973n,1n),new ma(2138414695194151160943305727036575959195309218611738193261179310511854807447n,113410276730064486255102093846540133784865286929052426931474106396135072156n,1n),new ma(2379962749567351885752724891227938183011949129833673362440656643086021394946n,776496453633298175483985398648758586525933812536653089401905292063708816422n,1n)];function h0(e,t){const n=[];let r=e;for(let a=0;a<248;a++)n.push(r),r=r.double();r=t;for(let a=0;a<4;a++)n.push(r),r=r.double();return n}const Rv=h0(So[1],So[2]),Nv=h0(So[3],So[4]);function Uv(e){let t;if(typeof e=="bigint")t=e;else if(typeof e=="number"){if(!Number.isSafeInteger(e))throw new Error(`Invalid pedersenArg: ${e}`);t=BigInt(e)}else t=vt(Ia(e));if(!(0n<=t&&t<ea.CURVE.Fp.ORDER))throw new Error(`PedersenArg should be 0 <= value < CURVE.P: ${t}`);return t}function ep(e,t,n){let r=Uv(t);for(let a=0;a<252;a++){const o=n[a];if(!o)throw new Error("invalid constant index");if(o.equals(e))throw new Error("Same point");(r&1n)!==0n&&(e=e.add(o)),r>>=1n}return e}function Ra(e,t){let n=So[0];return n=ep(n,e,Rv),n=ep(n,t,Nv),d0(n.toRawBytes(!0))}const Hv=(e,t=Ra)=>[0,...e,e.length].reduce((n,r)=>t(n,r)),Lv=vs(250),pr=e=>vt(V1(e))&Lv,kl=e=>vt(fd(e)),m0=bd(BigInt("3618502788666131213697322783095070105623107215331596699973092056135872020481"));function _l(e,t,n){const r=e.fromBytes(fd(Dy(`${t}${n}`)));return e.create(r)}function g0(e,t,n,r=0){const a=[],o=[];for(let i=0;i<n;i++)a.push(_l(e,`${t}x`,r*n+i)),o.push(_l(e,`${t}y`,r*n+i));if(new Set([...a,...o]).size!==2*n)throw new Error("X and Y values are not distinct");return a.map(i=>o.map(s=>e.inv(e.sub(i,s))))}const Dv=[[3,1,1],[1,-1,1],[1,1,-2]].map(e=>e.map(BigInt));function vd(e,t){if(yd(e.Fp),!Number.isSafeInteger(e.rate)||!Number.isSafeInteger(e.capacity))throw new Error(`Wrong poseidon opts: ${e}`);const n=e.rate+e.capacity,r=e.roundsFull+e.roundsPartial,a=[];for(let i=0;i<r;i++){const s=[];for(let c=0;c<n;c++)s.push(_l(e.Fp,"Hades",n*i+c));a.push(s)}const o=uv({...e,t:n,sboxPower:3,reversePartialPowIdx:!0,mds:t,roundConstants:a});return o.m=n,o.rate=e.rate,o.capacity=e.capacity,o}function Fv(e,t=0){const n=e.rate+e.capacity;if(!Number.isSafeInteger(t))throw new Error(`Wrong mdsAttempt=${t}`);return vd(e,g0(e.Fp,"HadesMDS",n,t))}const Zo=vd({Fp:m0,rate:2,capacity:1,roundsFull:8,roundsPartial:83},Dv);function Ed(e,t,n=Zo){return n([e,t,2n])[0]}function Mv(e,t,n=Zo){return gd(Ed(vt(e),vt(t),n))}function qv(e,t=Zo){return t([e,0n,1n])[0]}function ot(e,t=Zo){const{m:n,rate:r}=t;if(!Array.isArray(e))throw new Error("bigint array expected in values");const a=Array.from(e);for(a.push(1n);a.length%r!==0;)a.push(0n);let o=new Array(n).fill(0n);for(let i=0;i<a.length;i+=r){for(let s=0;s<r;s++){const c=a[i+s];if(typeof c>"u")throw new Error("invalid index");if(typeof o[s]>"u")throw new Error("state[j] is undefined");o[s]=o[s]+c}o=t(o)}return o[0]}const Vv=Object.freeze(Object.defineProperty({__proto__:null,CURVE:Ov,Fp251:m0,MAX_VALUE:zr,ProjectivePoint:ma,Signature:go,_poseidonMDS:g0,_starkCurve:Tv,computeHashOnElements:Hv,ethSigToPrivate:Bv,getAccountPath:Pv,getPublicKey:kd,getSharedSecret:Iv,getStarkKey:p0,grindKey:f0,keccak:pr,normalizePrivateKey:Es,pedersen:Ra,poseidonBasic:vd,poseidonCreate:Fv,poseidonHash:Ed,poseidonHashFunc:Mv,poseidonHashMany:ot,poseidonHashSingle:qv,poseidonSmall:Zo,sign:Cv,utils:l0,verify:u0},Symbol.toStringTag,{value:"Module"})),yi=BigInt(2**32-1),tp=BigInt(32);function $v(e,t=!1){return t?{h:Number(e&yi),l:Number(e>>tp&yi)}:{h:Number(e>>tp&yi)|0,l:Number(e&yi)|0}}function Gv(e,t=!1){let n=new Uint32Array(e.length),r=new Uint32Array(e.length);for(let a=0;a<e.length;a++){const{h:o,l:i}=$v(e[a],t);[n[a],r[a]]=[o,i]}return[n,r]}const Kv=(e,t,n)=>e<<n|t>>>32-n,Wv=(e,t,n)=>t<<n|e>>>32-n,Xv=(e,t,n)=>t<<n-32|e>>>64-n,Zv=(e,t,n)=>e<<n-32|t>>>64-n,y0=[],b0=[],w0=[],Yv=BigInt(0),qa=BigInt(1),Jv=BigInt(2),Qv=BigInt(7),e2=BigInt(256),t2=BigInt(113);for(let e=0,t=qa,n=1,r=0;e<24;e++){[n,r]=[r,(2*n+3*r)%5],y0.push(2*(5*r+n)),b0.push((e+1)*(e+2)/2%64);let a=Yv;for(let o=0;o<7;o++)t=(t<<qa^(t>>Qv)*t2)%e2,t&Jv&&(a^=qa<<(qa<<BigInt(o))-qa);w0.push(a)}const[n2,r2]=Gv(w0,!0),np=(e,t,n)=>n>32?Xv(e,t,n):Kv(e,t,n),rp=(e,t,n)=>n>32?Zv(e,t,n):Wv(e,t,n);function a2(e,t=24){const n=new Uint32Array(10);for(let r=24-t;r<24;r++){for(let i=0;i<10;i++)n[i]=e[i]^e[i+10]^e[i+20]^e[i+30]^e[i+40];for(let i=0;i<10;i+=2){const s=(i+8)%10,c=(i+2)%10,u=n[c],d=n[c+1],h=np(u,d,1)^n[s],f=rp(u,d,1)^n[s+1];for(let l=0;l<50;l+=10)e[i+l]^=h,e[i+l+1]^=f}let a=e[2],o=e[3];for(let i=0;i<24;i++){const s=b0[i],c=np(a,o,s),u=rp(a,o,s),d=y0[i];a=e[d],o=e[d+1],e[d]=c,e[d+1]=u}for(let i=0;i<50;i+=10){for(let s=0;s<10;s++)n[s]=e[i+s];for(let s=0;s<10;s++)e[i+s]^=~n[(s+2)%10]&n[(s+4)%10]}e[0]^=n2[r],e[1]^=r2[r]}n.fill(0)}let o2=class k0 extends ud{constructor(t,n,r,a=!1,o=24){if(super(),this.blockLen=t,this.suffix=n,this.outputLen=r,this.enableXOF=a,this.rounds=o,this.pos=0,this.posOut=0,this.finished=!1,this.destroyed=!1,os(r),0>=this.blockLen||this.blockLen>=200)throw new Error("Sha3 supports only keccak-f1600 function");this.state=new Uint8Array(200),this.state32=h1(this.state)}keccak(){Nf||Uf(this.state32),a2(this.state32,this.rounds),Nf||Uf(this.state32),this.posOut=0,this.pos=0}update(t){Sa(this);const{blockLen:n,state:r}=this;t=ws(t);const a=t.length;for(let o=0;o<a;){const i=Math.min(n-this.pos,a-o);for(let s=0;s<i;s++)r[this.pos++]^=t[o++];this.pos===n&&this.keccak()}return this}finish(){if(this.finished)return;this.finished=!0;const{state:t,suffix:n,pos:r,blockLen:a}=this;t[r]^=n,(n&128)!==0&&r===a-1&&this.keccak(),t[a-1]^=128,this.keccak()}writeInto(t){Sa(this,!1),Ko(t),this.finish();const n=this.state,{blockLen:r}=this;for(let a=0,o=t.length;a<o;){this.posOut>=r&&this.keccak();const i=Math.min(r-this.posOut,o-a);t.set(n.subarray(this.posOut,this.posOut+i),a),this.posOut+=i,a+=i}return t}xofInto(t){if(!this.enableXOF)throw new Error("XOF is not possible for this instance");return this.writeInto(t)}xof(t){return os(t),this.xofInto(new Uint8Array(t))}digestInto(t){if(Ny(t,this),this.finished)throw new Error("digest() was already called");return this.writeInto(t),this.destroy(),t}digest(){return this.digestInto(new Uint8Array(this.outputLen))}destroy(){this.destroyed=!0,this.state.fill(0)}_cloneInto(t){const{blockLen:n,suffix:r,outputLen:a,rounds:o,enableXOF:i}=this;return t||(t=new k0(n,r,a,i,o)),t.state32.set(this.state32),t.pos=this.pos,t.posOut=this.posOut,t.finished=this.finished,t.rounds=o,t.suffix=r,t.outputLen=a,t.enableXOF=i,t.destroyed=this.destroyed,t}};const i2=(e,t,n)=>Uy(()=>new o2(t,e,n)),s2=i2(1,136,256/8);/*! noble-curves - MIT License (c) 2022 Paul Miller (paulmillr.com) */const at=BigInt(0),$e=BigInt(1),Or=BigInt(2),c2=BigInt(3),vl=BigInt(4),ap=BigInt(5),op=BigInt(8);function jt(e,t){const n=e%t;return n>=at?n:t+n}function u2(e,t,n){if(t<at)throw new Error("invalid exponent, negatives unsupported");if(n<=at)throw new Error("invalid modulus");if(n===$e)return at;let r=$e;for(;t>at;)t&$e&&(r=r*e%n),e=e*e%n,t>>=$e;return r}function Ht(e,t,n){let r=e;for(;t-- >at;)r*=r,r%=n;return r}function El(e,t){if(e===at)throw new Error("invert: expected non-zero number");if(t<=at)throw new Error("invert: expected positive modulus, got "+t);let n=jt(e,t),r=t,a=at,o=$e;for(;n!==at;){const s=r/n,c=r%n,u=a-o*s;r=n,n=c,a=o,o=u}if(r!==$e)throw new Error("invert: does not exist");return jt(a,t)}function l2(e){const t=(e-$e)/Or;let n,r,a;for(n=e-$e,r=0;n%Or===at;n/=Or,r++);for(a=Or;a<e&&u2(a,t,e)!==e-$e;a++)if(a>1e3)throw new Error("Cannot find square root: likely non-prime P");if(r===1){const i=(e+$e)/vl;return function(c,u){const d=c.pow(u,i);if(!c.eql(c.sqr(d),u))throw new Error("Cannot find square root");return d}}const o=(n+$e)/Or;return function(s,c){if(s.pow(c,t)===s.neg(s.ONE))throw new Error("Cannot find square root");let u=r,d=s.pow(s.mul(s.ONE,a),n),h=s.pow(c,o),f=s.pow(c,n);for(;!s.eql(f,s.ONE);){if(s.eql(f,s.ZERO))return s.ZERO;let l=1;for(let b=s.sqr(f);l<u&&!s.eql(b,s.ONE);l++)b=s.sqr(b);const g=s.pow(d,$e<<BigInt(u-l-1));d=s.sqr(g),h=s.mul(h,g),f=s.mul(f,d),u=l}return h}}function d2(e){if(e%vl===c2){const t=(e+$e)/vl;return function(r,a){const o=r.pow(a,t);if(!r.eql(r.sqr(o),a))throw new Error("Cannot find square root");return o}}if(e%op===ap){const t=(e-ap)/op;return function(r,a){const o=r.mul(a,Or),i=r.pow(o,t),s=r.mul(a,i),c=r.mul(r.mul(s,Or),i),u=r.mul(s,r.sub(c,r.ONE));if(!r.eql(r.sqr(u),a))throw new Error("Cannot find square root");return u}}return l2(e)}const f2=["create","isValid","is0","neg","inv","sqrt","sqr","eql","add","sub","mul","pow","div","addN","subN","mulN","sqrN"];function Ad(e){const t={ORDER:"bigint",MASK:"bigint",BYTES:"isSafeInteger",BITS:"isSafeInteger"},n=f2.reduce((r,a)=>(r[a]="function",r),t);return Go(e,n)}function _0(e,t,n){if(n<at)throw new Error("invalid exponent, negatives unsupported");if(n===at)return e.ONE;if(n===$e)return t;let r=e.ONE,a=t;for(;n>at;)n&$e&&(r=e.mul(r,a)),a=e.sqr(a),n>>=$e;return r}function p2(e,t){const n=new Array(t.length),r=t.reduce((o,i,s)=>e.is0(i)?o:(n[s]=o,e.mul(o,i)),e.ONE),a=e.inv(r);return t.reduceRight((o,i,s)=>e.is0(i)?o:(n[s]=e.mul(o,n[s]),e.mul(o,i)),a),n}function v0(e,t){const n=t!==void 0?t:e.toString(2).length,r=Math.ceil(n/8);return{nBitLength:n,nByteLength:r}}function E0(e,t,n=!1,r={}){if(e<=at)throw new Error("invalid field: expected ORDER > 0, got "+e);const{nBitLength:a,nByteLength:o}=v0(e,t);if(o>2048)throw new Error("invalid field: expected ORDER of <= 2048 bytes");let i;const s=Object.freeze({ORDER:e,BITS:a,BYTES:o,MASK:cd(a),ZERO:at,ONE:$e,create:c=>jt(c,e),isValid:c=>{if(typeof c!="bigint")throw new Error("invalid field element: expected bigint, got "+typeof c);return at<=c&&c<e},is0:c=>c===at,isOdd:c=>(c&$e)===$e,neg:c=>jt(-c,e),eql:(c,u)=>c===u,sqr:c=>jt(c*c,e),add:(c,u)=>jt(c+u,e),sub:(c,u)=>jt(c-u,e),mul:(c,u)=>jt(c*u,e),pow:(c,u)=>_0(s,c,u),div:(c,u)=>jt(c*El(u,e),e),sqrN:c=>c*c,addN:(c,u)=>c+u,subN:(c,u)=>c-u,mulN:(c,u)=>c*u,inv:c=>El(c,e),sqrt:r.sqrt||(c=>(i||(i=d2(e)),i(s,c))),invertBatch:c=>p2(s,c),cmov:(c,u,d)=>d?u:c,toBytes:c=>n?sd(c,o):Aa(c,o),fromBytes:c=>{if(c.length!==o)throw new Error("Field.fromBytes: expected "+o+" bytes, got "+c.length);return n?id(c):Lr(c)}});return Object.freeze(s)}function A0(e){if(typeof e!="bigint")throw new Error("field order must be bigint");const t=e.toString(2).length;return Math.ceil(t/8)}function S0(e){const t=A0(e);return t+Math.ceil(t/2)}function h2(e,t,n=!1){const r=e.length,a=A0(t),o=S0(t);if(r<16||r<o||r>1024)throw new Error("expected "+o+"-1024 bytes of input, got "+r);const i=n?Lr(e):id(e),s=jt(i,t-$e)+$e;return n?sd(s,a):Aa(s,a)}/*! noble-curves - MIT License (c) 2022 Paul Miller (paulmillr.com) */function j0(e){const{Fp:t,mds:n,reversePartialPowIdx:r,roundConstants:a}=e,{roundsFull:o,roundsPartial:i,sboxPower:s,t:c}=e;Ad(t);for(const g of["t","roundsFull","roundsPartial"])if(typeof e[g]!="number"||!Number.isSafeInteger(e[g]))throw new Error("invalid number "+g);if(!Array.isArray(n)||n.length!==c)throw new Error("Poseidon: invalid MDS matrix");const u=n.map(g=>{if(!Array.isArray(g)||g.length!==c)throw new Error("invalid MDS matrix row: "+g);return g.map(b=>{if(typeof b!="bigint")throw new Error("invalid MDS matrix bigint: "+b);return t.create(b)})});if(r!==void 0&&typeof r!="boolean")throw new Error("invalid param reversePartialPowIdx="+r);if(o&1)throw new Error("roundsFull is not even"+o);const d=o+i;if(!Array.isArray(a)||a.length!==d)throw new Error("Poseidon: invalid round constants");const h=a.map(g=>{if(!Array.isArray(g)||g.length!==c)throw new Error("invalid round constants");return g.map(b=>{if(typeof b!="bigint"||!t.isValid(b))throw new Error("invalid round constant");return t.create(b)})});if(!s||![3,5,7].includes(s))throw new Error("invalid sboxPower");const f=BigInt(s);let l=g=>_0(t,g,f);return s===3?l=g=>t.mul(t.sqrN(g),g):s===5&&(l=g=>t.mul(t.sqrN(t.sqrN(g)),g)),Object.freeze({...e,rounds:d,sboxFn:l,roundConstants:h,mds:u})}function m2(e,t){if(typeof t!="number")throw new Error("poseidonSplitConstants: invalid t");if(!Array.isArray(e)||e.length%t)throw new Error("poseidonSplitConstants: invalid rc");const n=[];let r=[];for(let a=0;a<e.length;a++)r.push(e[a]),r.length===t&&(n.push(r),r=[]);return n}function g2(e){const t=j0(e),{Fp:n,mds:r,roundConstants:a,rounds:o,roundsPartial:i,sboxFn:s,t:c}=t,u=t.roundsFull/2,d=t.reversePartialPowIdx?c-1:0,h=(l,g,b)=>(l=l.map((y,_)=>n.add(y,a[b][_])),g?l=l.map(y=>s(y)):l[d]=s(l[d]),l=r.map(y=>y.reduce((_,k,w)=>n.add(_,n.mulN(k,l[w])),n.ZERO)),l),f=function(g){if(!Array.isArray(g)||g.length!==c)throw new Error("invalid values, expected array of bigints with length "+c);g=g.map(y=>{if(typeof y!="bigint")throw new Error("invalid bigint="+y);return n.create(y)});let b=0;for(let y=0;y<u;y++)g=h(g,!0,b++);for(let y=0;y<i;y++)g=h(g,!1,b++);for(let y=0;y<u;y++)g=h(g,!0,b++);if(b!==o)throw new Error("invalid number of rounds");return g};return f.roundConstants=a,f}const y2=Object.freeze(Object.defineProperty({__proto__:null,poseidon:g2,splitConstants:m2,validateOpts:j0},Symbol.toStringTag,{value:"Module"}));/*! noble-curves - MIT License (c) 2022 Paul Miller (paulmillr.com) */const ip=BigInt(0),bi=BigInt(1);function cc(e,t){const n=t.negate();return e?n:t}function x0(e,t){if(!Number.isSafeInteger(e)||e<=0||e>t)throw new Error("invalid window size, expected [1.."+t+"], got W="+e)}function uc(e,t){x0(e,t);const n=Math.ceil(t/e)+1,r=2**(e-1);return{windows:n,windowSize:r}}function b2(e,t){if(!Array.isArray(e))throw new Error("array expected");e.forEach((n,r)=>{if(!(n instanceof t))throw new Error("invalid point at index "+r)})}function w2(e,t){if(!Array.isArray(e))throw new Error("array of scalars expected");e.forEach((n,r)=>{if(!t.isValid(n))throw new Error("invalid scalar at index "+r)})}const lc=new WeakMap,T0=new WeakMap;function dc(e){return T0.get(e)||1}function k2(e,t){return{constTimeNegate:cc,hasPrecomputes(n){return dc(n)!==1},unsafeLadder(n,r,a=e.ZERO){let o=n;for(;r>ip;)r&bi&&(a=a.add(o)),o=o.double(),r>>=bi;return a},precomputeWindow(n,r){const{windows:a,windowSize:o}=uc(r,t),i=[];let s=n,c=s;for(let u=0;u<a;u++){c=s,i.push(c);for(let d=1;d<o;d++)c=c.add(s),i.push(c);s=c.double()}return i},wNAF(n,r,a){const{windows:o,windowSize:i}=uc(n,t);let s=e.ZERO,c=e.BASE;const u=BigInt(2**n-1),d=2**n,h=BigInt(n);for(let f=0;f<o;f++){const l=f*i;let g=Number(a&u);a>>=h,g>i&&(g-=d,a+=bi);const b=l,y=l+Math.abs(g)-1,_=f%2!==0,k=g<0;g===0?c=c.add(cc(_,r[b])):s=s.add(cc(k,r[y]))}return{p:s,f:c}},wNAFUnsafe(n,r,a,o=e.ZERO){const{windows:i,windowSize:s}=uc(n,t),c=BigInt(2**n-1),u=2**n,d=BigInt(n);for(let h=0;h<i;h++){const f=h*s;if(a===ip)break;let l=Number(a&c);if(a>>=d,l>s&&(l-=u,a+=bi),l===0)continue;let g=r[f+Math.abs(l)-1];l<0&&(g=g.negate()),o=o.add(g)}return o},getPrecomputes(n,r,a){let o=lc.get(r);return o||(o=this.precomputeWindow(r,n),n!==1&&lc.set(r,a(o))),o},wNAFCached(n,r,a){const o=dc(n);return this.wNAF(o,this.getPrecomputes(o,n,a),r)},wNAFCachedUnsafe(n,r,a,o){const i=dc(n);return i===1?this.unsafeLadder(n,r,o):this.wNAFUnsafe(i,this.getPrecomputes(i,n,a),r,o)},setWindowSize(n,r){x0(r,t),T0.set(n,r),lc.delete(n)}}}function _2(e,t,n,r){if(b2(n,e),w2(r,t),n.length!==r.length)throw new Error("arrays of points and scalars must have equal length");const a=e.ZERO,o=Py(BigInt(n.length)),i=o>12?o-3:o>4?o-2:o?2:1,s=(1<<i)-1,c=new Array(s+1).fill(a),u=Math.floor((t.BITS-1)/i)*i;let d=a;for(let h=u;h>=0;h-=i){c.fill(a);for(let l=0;l<r.length;l++){const g=r[l],b=Number(g>>BigInt(h)&BigInt(s));c[b]=c[b].add(n[l])}let f=a;for(let l=c.length-1,g=a;l>0;l--)g=g.add(c[l]),f=f.add(g);if(d=d.add(f),h!==0)for(let l=0;l<i;l++)d=d.double()}return d}function I0(e){return Ad(e.Fp),Go(e,{n:"bigint",h:"bigint",Gx:"field",Gy:"field"},{nBitLength:"isSafeInteger",nByteLength:"isSafeInteger"}),Object.freeze({...v0(e.n,e.nBitLength),...e,p:e.Fp.ORDER})}/*! noble-curves - MIT License (c) 2022 Paul Miller (paulmillr.com) */function sp(e){e.lowS!==void 0&&va("lowS",e.lowS),e.prehash!==void 0&&va("prehash",e.prehash)}function v2(e){const t=I0(e);Go(t,{a:"field",b:"field"},{allowedPrivateKeyLengths:"array",wrapPrivateKey:"boolean",isTorsionFree:"function",clearCofactor:"function",allowInfinityPoint:"boolean",fromBytes:"function",toBytes:"function"});const{endo:n,Fp:r,a}=t;if(n){if(!r.eql(a,r.ZERO))throw new Error("invalid endomorphism, can only be defined for Koblitz curves that have a=0");if(typeof n!="object"||typeof n.beta!="bigint"||typeof n.splitScalar!="function")throw new Error("invalid endomorphism, expected beta: bigint and splitScalar: function")}return Object.freeze({...t})}const{bytesToNumberBE:E2,hexToBytes:A2}=d1,ln={Err:class extends Error{constructor(t=""){super(t)}},_tlv:{encode:(e,t)=>{const{Err:n}=ln;if(e<0||e>256)throw new n("tlv.encode: wrong tag");if(t.length&1)throw new n("tlv.encode: unpadded data");const r=t.length/2,a=co(r);if(a.length/2&128)throw new n("tlv.encode: long form length too big");const o=r>127?co(a.length/2|128):"";return co(e)+o+a+t},decode(e,t){const{Err:n}=ln;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 a=t[r++],o=!!(a&128);let i=0;if(!o)i=a;else{const c=a&127;if(!c)throw new n("tlv.decode(long): indefinite length not supported");if(c>4)throw new n("tlv.decode(long): byte length is too big");const u=t.subarray(r,r+c);if(u.length!==c)throw new n("tlv.decode: length bytes not complete");if(u[0]===0)throw new n("tlv.decode(long): zero leftmost byte");for(const d of u)i=i<<8|d;if(r+=c,i<128)throw new n("tlv.decode(long): not minimal encoding")}const s=t.subarray(r,r+i);if(s.length!==i)throw new n("tlv.decode: wrong value length");return{v:s,l:t.subarray(r+i)}}},_int:{encode(e){const{Err:t}=ln;if(e<Xt)throw new t("integer: negative integers are not allowed");let n=co(e);if(Number.parseInt(n[0],16)&8&&(n="00"+n),n.length&1)throw new t("unexpected DER parsing assertion: unpadded hex");return n},decode(e){const{Err:t}=ln;if(e[0]&128)throw new t("invalid signature integer: negative");if(e[0]===0&&!(e[1]&128))throw new t("invalid signature integer: unnecessary leading zero");return E2(e)}},toSig(e){const{Err:t,_int:n,_tlv:r}=ln,a=typeof e=="string"?A2(e):e;$o(a);const{v:o,l:i}=r.decode(48,a);if(i.length)throw new t("invalid signature: left bytes after parsing");const{v:s,l:c}=r.decode(2,o),{v:u,l:d}=r.decode(2,c);if(d.length)throw new t("invalid signature: left bytes after parsing");return{r:n.decode(s),s:n.decode(u)}},hexFromSig(e){const{_tlv:t,_int:n}=ln,r=t.encode(2,n.encode(e.r)),a=t.encode(2,n.encode(e.s)),o=r+a;return t.encode(48,o)}},Xt=BigInt(0),ze=BigInt(1),qn=BigInt(2),cs=BigInt(3),cp=BigInt(4);function C0(e){const t=v2(e),{Fp:n}=t,r=E0(t.n,t.nBitLength),a=t.toBytes||((b,y,_)=>{const k=y.toAffine();return Eo(Uint8Array.from([4]),n.toBytes(k.x),n.toBytes(k.y))}),o=t.fromBytes||(b=>{const y=b.subarray(1),_=n.fromBytes(y.subarray(0,n.BYTES)),k=n.fromBytes(y.subarray(n.BYTES,2*n.BYTES));return{x:_,y:k}});function i(b){const{a:y,b:_}=t,k=n.sqr(b),w=n.mul(k,b);return n.add(n.add(w,n.mul(b,y)),_)}if(!n.eql(n.sqr(t.Gy),i(t.Gx)))throw new Error("bad generator point: equation left != right");function s(b){return bs(b,ze,t.n)}function c(b){const{allowedPrivateKeyLengths:y,nByteLength:_,wrapPrivateKey:k,n:w}=t;if(y&&typeof b!="bigint"){if(qr(b)&&(b=Vr(b)),typeof b!="string"||!y.includes(b.length))throw new Error("invalid private key");b=b.padStart(_*2,"0")}let v;try{v=typeof b=="bigint"?b:Lr(Wt("private key",b,_))}catch{throw new Error("invalid private key, expected hex or "+_+" bytes, got "+typeof b)}return k&&(v=jt(v,w)),Dr("private key",v,ze,w),v}function u(b){if(!(b instanceof f))throw new Error("ProjectivePoint expected")}const d=yl((b,y)=>{const{px:_,py:k,pz:w}=b;if(n.eql(w,n.ONE))return{x:_,y:k};const v=b.is0();y==null&&(y=v?n.ONE:n.inv(w));const A=n.mul(_,y),T=n.mul(k,y),I=n.mul(w,y);if(v)return{x:n.ZERO,y:n.ZERO};if(!n.eql(I,n.ONE))throw new Error("invZ was invalid");return{x:A,y:T}}),h=yl(b=>{if(b.is0()){if(t.allowInfinityPoint&&!n.is0(b.py))return;throw new Error("bad point: ZERO")}const{x:y,y:_}=b.toAffine();if(!n.isValid(y)||!n.isValid(_))throw new Error("bad point: x or y not FE");const k=n.sqr(_),w=i(y);if(!n.eql(k,w))throw new Error("bad point: equation left != right");if(!b.isTorsionFree())throw new Error("bad point: not in prime-order subgroup");return!0});class f{constructor(y,_,k){if(this.px=y,this.py=_,this.pz=k,y==null||!n.isValid(y))throw new Error("x required");if(_==null||!n.isValid(_))throw new Error("y required");if(k==null||!n.isValid(k))throw new Error("z required");Object.freeze(this)}static fromAffine(y){const{x:_,y:k}=y||{};if(!y||!n.isValid(_)||!n.isValid(k))throw new Error("invalid affine point");if(y instanceof f)throw new Error("projective point not allowed");const w=v=>n.eql(v,n.ZERO);return w(_)&&w(k)?f.ZERO:new f(_,k,n.ONE)}get x(){return this.toAffine().x}get y(){return this.toAffine().y}static normalizeZ(y){const _=n.invertBatch(y.map(k=>k.pz));return y.map((k,w)=>k.toAffine(_[w])).map(f.fromAffine)}static fromHex(y){const _=f.fromAffine(o(Wt("pointHex",y)));return _.assertValidity(),_}static fromPrivateKey(y){return f.BASE.multiply(c(y))}static msm(y,_){return _2(f,r,y,_)}_setWindowSize(y){g.setWindowSize(this,y)}assertValidity(){h(this)}hasEvenY(){const{y}=this.toAffine();if(n.isOdd)return!n.isOdd(y);throw new Error("Field doesn't support isOdd")}equals(y){u(y);const{px:_,py:k,pz:w}=this,{px:v,py:A,pz:T}=y,I=n.eql(n.mul(_,T),n.mul(v,w)),z=n.eql(n.mul(k,T),n.mul(A,w));return I&&z}negate(){return new f(this.px,n.neg(this.py),this.pz)}double(){const{a:y,b:_}=t,k=n.mul(_,cs),{px:w,py:v,pz:A}=this;let T=n.ZERO,I=n.ZERO,z=n.ZERO,S=n.mul(w,w),B=n.mul(v,v),P=n.mul(A,A),M=n.mul(w,v);return M=n.add(M,M),z=n.mul(w,A),z=n.add(z,z),T=n.mul(y,z),I=n.mul(k,P),I=n.add(T,I),T=n.sub(B,I),I=n.add(B,I),I=n.mul(T,I),T=n.mul(M,T),z=n.mul(k,z),P=n.mul(y,P),M=n.sub(S,P),M=n.mul(y,M),M=n.add(M,z),z=n.add(S,S),S=n.add(z,S),S=n.add(S,P),S=n.mul(S,M),I=n.add(I,S),P=n.mul(v,A),P=n.add(P,P),S=n.mul(P,M),T=n.sub(T,S),z=n.mul(P,B),z=n.add(z,z),z=n.add(z,z),new f(T,I,z)}add(y){u(y);const{px:_,py:k,pz:w}=this,{px:v,py:A,pz:T}=y;let I=n.ZERO,z=n.ZERO,S=n.ZERO;const B=t.a,P=n.mul(t.b,cs);let M=n.mul(_,v),D=n.mul(k,A),R=n.mul(w,T),$=n.add(_,k),q=n.add(v,A);$=n.mul($,q),q=n.add(M,D),$=n.sub($,q),q=n.add(_,w);let X=n.add(v,T);return q=n.mul(q,X),X=n.add(M,R),q=n.sub(q,X),X=n.add(k,w),I=n.add(A,T),X=n.mul(X,I),I=n.add(D,R),X=n.sub(X,I),S=n.mul(B,q),I=n.mul(P,R),S=n.add(I,S),I=n.sub(D,S),S=n.add(D,S),z=n.mul(I,S),D=n.add(M,M),D=n.add(D,M),R=n.mul(B,R),q=n.mul(P,q),D=n.add(D,R),R=n.sub(M,R),R=n.mul(B,R),q=n.add(q,R),M=n.mul(D,q),z=n.add(z,M),M=n.mul(X,q),I=n.mul($,I),I=n.sub(I,M),M=n.mul($,D),S=n.mul(X,S),S=n.add(S,M),new f(I,z,S)}subtract(y){return this.add(y.negate())}is0(){return this.equals(f.ZERO)}wNAF(y){return g.wNAFCached(this,y,f.normalizeZ)}multiplyUnsafe(y){const{endo:_,n:k}=t;Dr("scalar",y,Xt,k);const w=f.ZERO;if(y===Xt)return w;if(this.is0()||y===ze)return this;if(!_||g.hasPrecomputes(this))return g.wNAFCachedUnsafe(this,y,f.normalizeZ);let{k1neg:v,k1:A,k2neg:T,k2:I}=_.splitScalar(y),z=w,S=w,B=this;for(;A>Xt||I>Xt;)A&ze&&(z=z.add(B)),I&ze&&(S=S.add(B)),B=B.double(),A>>=ze,I>>=ze;return v&&(z=z.negate()),T&&(S=S.negate()),S=new f(n.mul(S.px,_.beta),S.py,S.pz),z.add(S)}multiply(y){const{endo:_,n:k}=t;Dr("scalar",y,ze,k);let w,v;if(_){const{k1neg:A,k1:T,k2neg:I,k2:z}=_.splitScalar(y);let{p:S,f:B}=this.wNAF(T),{p:P,f:M}=this.wNAF(z);S=g.constTimeNegate(A,S),P=g.constTimeNegate(I,P),P=new f(n.mul(P.px,_.beta),P.py,P.pz),w=S.add(P),v=B.add(M)}else{const{p:A,f:T}=this.wNAF(y);w=A,v=T}return f.normalizeZ([w,v])[0]}multiplyAndAddUnsafe(y,_,k){const w=f.BASE,v=(T,I)=>I===Xt||I===ze||!T.equals(w)?T.multiplyUnsafe(I):T.multiply(I),A=v(this,_).add(v(y,k));return A.is0()?void 0:A}toAffine(y){return d(this,y)}isTorsionFree(){const{h:y,isTorsionFree:_}=t;if(y===ze)return!0;if(_)return _(f,this);throw new Error("isTorsionFree() has not been declared for the elliptic curve")}clearCofactor(){const{h:y,clearCofactor:_}=t;return y===ze?this:_?_(f,this):this.multiplyUnsafe(t.h)}toRawBytes(y=!0){return va("isCompressed",y),this.assertValidity(),a(f,this,y)}toHex(y=!0){return va("isCompressed",y),Vr(this.toRawBytes(y))}}f.BASE=new f(t.Gx,t.Gy,n.ONE),f.ZERO=new f(n.ZERO,n.ONE,n.ZERO);const l=t.nBitLength,g=k2(f,t.endo?Math.ceil(l/2):l);return{CURVE:t,ProjectivePoint:f,normPrivateKeyToScalar:c,weierstrassEquation:i,isWithinCurveOrder:s}}function S2(e){const t=I0(e);return Go(t,{hash:"hash",hmac:"function",randomBytes:"function"},{bits2int:"function",bits2int_modN:"function",lowS:"boolean"}),Object.freeze({lowS:!0,...t})}function O0(e){const t=S2(e),{Fp:n,n:r}=t,a=n.BYTES+1,o=2*n.BYTES+1;function i(R){return jt(R,r)}function s(R){return El(R,r)}const{ProjectivePoint:c,normPrivateKeyToScalar:u,weierstrassEquation:d,isWithinCurveOrder:h}=C0({...t,toBytes(R,$,q){const X=$.toAffine(),H=n.toBytes(X.x),C=Eo;return va("isCompressed",q),q?C(Uint8Array.from([$.hasEvenY()?2:3]),H):C(Uint8Array.from([4]),H,n.toBytes(X.y))},fromBytes(R){const $=R.length,q=R[0],X=R.subarray(1);if($===a&&(q===2||q===3)){const H=Lr(X);if(!bs(H,ze,n.ORDER))throw new Error("Point is not on curve");const C=d(H);let V;try{V=n.sqrt(C)}catch(K){const Y=K instanceof Error?": "+K.message:"";throw new Error("Point is not on curve"+Y)}const W=(V&ze)===ze;return(q&1)===1!==W&&(V=n.neg(V)),{x:H,y:V}}else if($===o&&q===4){const H=n.fromBytes(X.subarray(0,n.BYTES)),C=n.fromBytes(X.subarray(n.BYTES,2*n.BYTES));return{x:H,y:C}}else{const H=a,C=o;throw new Error("invalid Point, expected length of "+H+", or uncompressed "+C+", got "+$)}}}),f=R=>Vr(Aa(R,t.nByteLength));function l(R){const $=r>>ze;return R>$}function g(R){return l(R)?i(-R):R}const b=(R,$,q)=>Lr(R.slice($,q));class y{constructor($,q,X){this.r=$,this.s=q,this.recovery=X,this.assertValidity()}static fromCompact($){const q=t.nByteLength;return $=Wt("compactSignature",$,q*2),new y(b($,0,q),b($,q,2*q))}static fromDER($){const{r:q,s:X}=ln.toSig(Wt("DER",$));return new y(q,X)}assertValidity(){Dr("r",this.r,ze,r),Dr("s",this.s,ze,r)}addRecoveryBit($){return new y(this.r,this.s,$)}recoverPublicKey($){const{r:q,s:X,recovery:H}=this,C=T(Wt("msgHash",$));if(H==null||![0,1,2,3].includes(H))throw new Error("recovery id invalid");const V=H===2||H===3?q+t.n:q;if(V>=n.ORDER)throw new Error("recovery id 2 or 3 invalid");const W=(H&1)===0?"02":"03",U=c.fromHex(W+f(V)),K=s(V),Y=i(-C*K),de=i(X*K),te=c.BASE.multiplyAndAddUnsafe(U,Y,de);if(!te)throw new Error("point at infinify");return te.assertValidity(),te}hasHighS(){return l(this.s)}normalizeS(){return this.hasHighS()?new y(this.r,i(-this.s),this.recovery):this}toDERRawBytes(){return Ea(this.toDERHex())}toDERHex(){return ln.hexFromSig({r:this.r,s:this.s})}toCompactRawBytes(){return Ea(this.toCompactHex())}toCompactHex(){return f(this.r)+f(this.s)}}const _={isValidPrivateKey(R){try{return u(R),!0}catch{return!1}},normPrivateKeyToScalar:u,randomPrivateKey:()=>{const R=S0(t.n);return h2(t.randomBytes(R),t.n)},precompute(R=8,$=c.BASE){return $._setWindowSize(R),$.multiply(BigInt(3)),$}};function k(R,$=!0){return c.fromPrivateKey(R).toRawBytes($)}function w(R){const $=qr(R),q=typeof R=="string",X=($||q)&&R.length;return $?X===a||X===o:q?X===2*a||X===2*o:R instanceof c}function v(R,$,q=!0){if(w(R))throw new Error("first arg must be private key");if(!w($))throw new Error("second arg must be public key");return c.fromHex($).multiply(u(R)).toRawBytes(q)}const A=t.bits2int||function(R){if(R.length>8192)throw new Error("input is too large");const $=Lr(R),q=R.length*8-t.nBitLength;return q>0?$>>BigInt(q):$},T=t.bits2int_modN||function(R){return i(A(R))},I=cd(t.nBitLength);function z(R){return Dr("num < 2^"+t.nBitLength,R,Xt,I),Aa(R,t.nByteLength)}function S(R,$,q=B){if(["recovered","canonical"].some(oe=>oe in q))throw new Error("sign() legacy options not supported");const{hash:X,randomBytes:H}=t;let{lowS:C,prehash:V,extraEntropy:W}=q;C==null&&(C=!0),R=Wt("msgHash",R),sp(q),V&&(R=Wt("prehashed msgHash",X(R)));const U=T(R),K=u($),Y=[z(K),z(U)];if(W!=null&&W!==!1){const oe=W===!0?H(n.BYTES):W;Y.push(Wt("extraEntropy",oe))}const de=Eo(...Y),te=U;function re(oe){const ae=A(oe);if(!h(ae))return;const se=s(ae),G=c.BASE.multiply(ae).toAffine(),N=i(G.x);if(N===Xt)return;const L=i(se*i(te+N*K));if(L===Xt)return;let J=(G.x===N?0:2)|Number(G.y&ze),Z=L;return C&&l(L)&&(Z=g(L),J^=1),new y(N,Z,J)}return{seed:de,k2sig:re}}const B={lowS:t.lowS,prehash:!1},P={lowS:t.lowS,prehash:!1};function M(R,$,q=B){const{seed:X,k2sig:H}=S(R,$,q),C=t;return Ry(C.hash.outputLen,C.nByteLength,C.hmac)(X,H)}c.BASE._setWindowSize(8);function D(R,$,q,X=P){var J;const H=R;$=Wt("msgHash",$),q=Wt("publicKey",q);const{lowS:C,prehash:V,format:W}=X;if(sp(X),"strict"in X)throw new Error("options.strict was renamed to lowS");if(W!==void 0&&W!=="compact"&&W!=="der")throw new Error("format must be compact or der");const U=typeof H=="string"||qr(H),K=!U&&!W&&typeof H=="object"&&H!==null&&typeof H.r=="bigint"&&typeof H.s=="bigint";if(!U&&!K)throw new Error("invalid signature, expected Uint8Array, hex string or Signature instance");let Y,de;try{if(K&&(Y=new y(H.r,H.s)),U){try{W!=="compact"&&(Y=y.fromDER(H))}catch(Z){if(!(Z instanceof ln.Err))throw Z}!Y&&W!=="der"&&(Y=y.fromCompact(H))}de=c.fromHex(q)}catch{return!1}if(!Y||C&&Y.hasHighS())return!1;V&&($=t.hash($));const{r:te,s:re}=Y,oe=T($),ae=s(re),se=i(oe*ae),G=i(te*ae),N=(J=c.BASE.multiplyAndAddUnsafe(de,se,G))==null?void 0:J.toAffine();return N?i(N.x)===te:!1}return{CURVE:t,getPublicKey:k,getSharedSecret:v,sign:M,verify:D,ProjectivePoint:c,Signature:y,utils:_}}function B0(e,t){const n=e.ORDER;let r=Xt;for(let g=n-ze;g%qn===Xt;g/=qn)r+=ze;const a=r,o=qn<<a-ze-ze,i=o*qn,s=(n-ze)/i,c=(s-ze)/qn,u=i-ze,d=o,h=e.pow(t,s),f=e.pow(t,(s+ze)/qn);let l=(g,b)=>{let y=h,_=e.pow(b,u),k=e.sqr(_);k=e.mul(k,b);let w=e.mul(g,k);w=e.pow(w,c),w=e.mul(w,_),_=e.mul(w,b),k=e.mul(w,g);let v=e.mul(k,_);w=e.pow(v,d);let A=e.eql(w,e.ONE);_=e.mul(k,f),w=e.mul(v,y),k=e.cmov(_,k,A),v=e.cmov(w,v,A);for(let T=a;T>ze;T--){let I=T-qn;I=qn<<I-ze;let z=e.pow(v,I);const S=e.eql(z,e.ONE);_=e.mul(k,y),y=e.mul(y,y),z=e.mul(v,y),k=e.cmov(_,k,S),v=e.cmov(z,v,S)}return{isValid:A,value:k}};if(e.ORDER%cp===cs){const g=(e.ORDER-cs)/cp,b=e.sqrt(e.neg(t));l=(y,_)=>{let k=e.sqr(_);const w=e.mul(y,_);k=e.mul(k,w);let v=e.pow(k,g);v=e.mul(v,w);const A=e.mul(v,b),T=e.mul(e.sqr(v),_),I=e.eql(T,y);let z=e.cmov(A,v,I);return{isValid:I,value:z}}}return l}function j2(e,t){if(Ad(e),!e.isValid(t.A)||!e.isValid(t.B)||!e.isValid(t.Z))throw new Error("mapToCurveSimpleSWU: invalid opts");const n=B0(e,t.Z);if(!e.isOdd)throw new Error("Fp.isOdd is not implemented!");return r=>{let a,o,i,s,c,u,d,h;a=e.sqr(r),a=e.mul(a,t.Z),o=e.sqr(a),o=e.add(o,a),i=e.add(o,e.ONE),i=e.mul(i,t.B),s=e.cmov(t.Z,e.neg(o),!e.eql(o,e.ZERO)),s=e.mul(s,t.A),o=e.sqr(i),u=e.sqr(s),c=e.mul(u,t.A),o=e.add(o,c),o=e.mul(o,i),u=e.mul(u,s),c=e.mul(u,t.B),o=e.add(o,c),d=e.mul(a,i);const{isValid:f,value:l}=n(o,u);h=e.mul(a,r),h=e.mul(h,l),d=e.cmov(d,i,f),h=e.cmov(h,l,f);const g=e.isOdd(r)===e.isOdd(h);return h=e.cmov(e.neg(h),h,g),d=e.div(d,s),{x:d,y:h}}}const x2=Object.freeze(Object.defineProperty({__proto__:null,DER:ln,SWUFpSqrtRatio:B0,mapToCurveSimpleSWU:j2,weierstrass:O0,weierstrassPoints:C0},Symbol.toStringTag,{value:"Module"}));/*! pako 2.1.0 https://github.com/nodeca/pako @license (MIT AND Zlib) */const T2=4,up=0,lp=1,I2=2;function Na(e){let t=e.length;for(;--t>=0;)e[t]=0}const C2=0,z0=1,O2=2,B2=3,z2=258,Sd=29,Yo=256,jo=Yo+1+Sd,wa=30,jd=19,P0=2*jo+1,Pr=15,fc=16,P2=7,xd=256,R0=16,N0=17,U0=18,Al=new Uint8Array([0,0,0,0,0,0,0,0,1,1,1,1,2,2,2,2,3,3,3,3,4,4,4,4,5,5,5,5,0]),Wi=new Uint8Array([0,0,0,0,1,1,2,2,3,3,4,4,5,5,6,6,7,7,8,8,9,9,10,10,11,11,12,12,13,13]),R2=new Uint8Array([0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,3,7]),H0=new Uint8Array([16,17,18,0,8,7,9,6,10,5,11,4,12,3,13,2,14,1,15]),N2=512,On=new Array((jo+2)*2);Na(On);const yo=new Array(wa*2);Na(yo);const xo=new Array(N2);Na(xo);const To=new Array(z2-B2+1);Na(To);const Td=new Array(Sd);Na(Td);const us=new Array(wa);Na(us);function pc(e,t,n,r,a){this.static_tree=e,this.extra_bits=t,this.extra_base=n,this.elems=r,this.max_length=a,this.has_stree=e&&e.length}let L0,D0,F0;function hc(e,t){this.dyn_tree=e,this.max_code=0,this.stat_desc=t}const M0=e=>e<256?xo[e]:xo[256+(e>>>7)],Io=(e,t)=>{e.pending_buf[e.pending++]=t&255,e.pending_buf[e.pending++]=t>>>8&255},Tt=(e,t,n)=>{e.bi_valid>fc-n?(e.bi_buf|=t<<e.bi_valid&65535,Io(e,e.bi_buf),e.bi_buf=t>>fc-e.bi_valid,e.bi_valid+=n-fc):(e.bi_buf|=t<<e.bi_valid&65535,e.bi_valid+=n)},fn=(e,t,n)=>{Tt(e,n[t*2],n[t*2+1])},q0=(e,t)=>{let n=0;do n|=e&1,e>>>=1,n<<=1;while(--t>0);return n>>>1},U2=e=>{e.bi_valid===16?(Io(e,e.bi_buf),e.bi_buf=0,e.bi_valid=0):e.bi_valid>=8&&(e.pending_buf[e.pending++]=e.bi_buf&255,e.bi_buf>>=8,e.bi_valid-=8)},H2=(e,t)=>{const n=t.dyn_tree,r=t.max_code,a=t.stat_desc.static_tree,o=t.stat_desc.has_stree,i=t.stat_desc.extra_bits,s=t.stat_desc.extra_base,c=t.stat_desc.max_length;let u,d,h,f,l,g,b=0;for(f=0;f<=Pr;f++)e.bl_count[f]=0;for(n[e.heap[e.heap_max]*2+1]=0,u=e.heap_max+1;u<P0;u++)d=e.heap[u],f=n[n[d*2+1]*2+1]+1,f>c&&(f=c,b++),n[d*2+1]=f,!(d>r)&&(e.bl_count[f]++,l=0,d>=s&&(l=i[d-s]),g=n[d*2],e.opt_len+=g*(f+l),o&&(e.static_len+=g*(a[d*2+1]+l)));if(b!==0){do{for(f=c-1;e.bl_count[f]===0;)f--;e.bl_count[f]--,e.bl_count[f+1]+=2,e.bl_count[c]--,b-=2}while(b>0);for(f=c;f!==0;f--)for(d=e.bl_count[f];d!==0;)h=e.heap[--u],!(h>r)&&(n[h*2+1]!==f&&(e.opt_len+=(f-n[h*2+1])*n[h*2],n[h*2+1]=f),d--)}},V0=(e,t,n)=>{const r=new Array(Pr+1);let a=0,o,i;for(o=1;o<=Pr;o++)a=a+n[o-1]<<1,r[o]=a;for(i=0;i<=t;i++){let s=e[i*2+1];s!==0&&(e[i*2]=q0(r[s]++,s))}},L2=()=>{let e,t,n,r,a;const o=new Array(Pr+1);for(n=0,r=0;r<Sd-1;r++)for(Td[r]=n,e=0;e<1<<Al[r];e++)To[n++]=r;for(To[n-1]=r,a=0,r=0;r<16;r++)for(us[r]=a,e=0;e<1<<Wi[r];e++)xo[a++]=r;for(a>>=7;r<wa;r++)for(us[r]=a<<7,e=0;e<1<<Wi[r]-7;e++)xo[256+a++]=r;for(t=0;t<=Pr;t++)o[t]=0;for(e=0;e<=143;)On[e*2+1]=8,e++,o[8]++;for(;e<=255;)On[e*2+1]=9,e++,o[9]++;for(;e<=279;)On[e*2+1]=7,e++,o[7]++;for(;e<=287;)On[e*2+1]=8,e++,o[8]++;for(V0(On,jo+1,o),e=0;e<wa;e++)yo[e*2+1]=5,yo[e*2]=q0(e,5);L0=new pc(On,Al,Yo+1,jo,Pr),D0=new pc(yo,Wi,0,wa,Pr),F0=new pc(new Array(0),R2,0,jd,P2)},$0=e=>{let t;for(t=0;t<jo;t++)e.dyn_ltree[t*2]=0;for(t=0;t<wa;t++)e.dyn_dtree[t*2]=0;for(t=0;t<jd;t++)e.bl_tree[t*2]=0;e.dyn_ltree[xd*2]=1,e.opt_len=e.static_len=0,e.sym_next=e.matches=0},G0=e=>{e.bi_valid>8?Io(e,e.bi_buf):e.bi_valid>0&&(e.pending_buf[e.pending++]=e.bi_buf),e.bi_buf=0,e.bi_valid=0},dp=(e,t,n,r)=>{const a=t*2,o=n*2;return e[a]<e[o]||e[a]===e[o]&&r[t]<=r[n]},mc=(e,t,n)=>{const r=e.heap[n];let a=n<<1;for(;a<=e.heap_len&&(a<e.heap_len&&dp(t,e.heap[a+1],e.heap[a],e.depth)&&a++,!dp(t,r,e.heap[a],e.depth));)e.heap[n]=e.heap[a],n=a,a<<=1;e.heap[n]=r},fp=(e,t,n)=>{let r,a,o=0,i,s;if(e.sym_next!==0)do r=e.pending_buf[e.sym_buf+o++]&255,r+=(e.pending_buf[e.sym_buf+o++]&255)<<8,a=e.pending_buf[e.sym_buf+o++],r===0?fn(e,a,t):(i=To[a],fn(e,i+Yo+1,t),s=Al[i],s!==0&&(a-=Td[i],Tt(e,a,s)),r--,i=M0(r),fn(e,i,n),s=Wi[i],s!==0&&(r-=us[i],Tt(e,r,s)));while(o<e.sym_next);fn(e,xd,t)},Sl=(e,t)=>{const n=t.dyn_tree,r=t.stat_desc.static_tree,a=t.stat_desc.has_stree,o=t.stat_desc.elems;let i,s,c=-1,u;for(e.heap_len=0,e.heap_max=P0,i=0;i<o;i++)n[i*2]!==0?(e.heap[++e.heap_len]=c=i,e.depth[i]=0):n[i*2+1]=0;for(;e.heap_len<2;)u=e.heap[++e.heap_len]=c<2?++c:0,n[u*2]=1,e.depth[u]=0,e.opt_len--,a&&(e.static_len-=r[u*2+1]);for(t.max_code=c,i=e.heap_len>>1;i>=1;i--)mc(e,n,i);u=o;do i=e.heap[1],e.heap[1]=e.heap[e.heap_len--],mc(e,n,1),s=e.heap[1],e.heap[--e.heap_max]=i,e.heap[--e.heap_max]=s,n[u*2]=n[i*2]+n[s*2],e.depth[u]=(e.depth[i]>=e.depth[s]?e.depth[i]:e.depth[s])+1,n[i*2+1]=n[s*2+1]=u,e.heap[1]=u++,mc(e,n,1);while(e.heap_len>=2);e.heap[--e.heap_max]=e.heap[1],H2(e,t),V0(n,c,e.bl_count)},pp=(e,t,n)=>{let r,a=-1,o,i=t[1],s=0,c=7,u=4;for(i===0&&(c=138,u=3),t[(n+1)*2+1]=65535,r=0;r<=n;r++)o=i,i=t[(r+1)*2+1],!(++s<c&&o===i)&&(s<u?e.bl_tree[o*2]+=s:o!==0?(o!==a&&e.bl_tree[o*2]++,e.bl_tree[R0*2]++):s<=10?e.bl_tree[N0*2]++:e.bl_tree[U0*2]++,s=0,a=o,i===0?(c=138,u=3):o===i?(c=6,u=3):(c=7,u=4))},hp=(e,t,n)=>{let r,a=-1,o,i=t[1],s=0,c=7,u=4;for(i===0&&(c=138,u=3),r=0;r<=n;r++)if(o=i,i=t[(r+1)*2+1],!(++s<c&&o===i)){if(s<u)do fn(e,o,e.bl_tree);while(--s!==0);else o!==0?(o!==a&&(fn(e,o,e.bl_tree),s--),fn(e,R0,e.bl_tree),Tt(e,s-3,2)):s<=10?(fn(e,N0,e.bl_tree),Tt(e,s-3,3)):(fn(e,U0,e.bl_tree),Tt(e,s-11,7));s=0,a=o,i===0?(c=138,u=3):o===i?(c=6,u=3):(c=7,u=4)}},D2=e=>{let t;for(pp(e,e.dyn_ltree,e.l_desc.max_code),pp(e,e.dyn_dtree,e.d_desc.max_code),Sl(e,e.bl_desc),t=jd-1;t>=3&&e.bl_tree[H0[t]*2+1]===0;t--);return e.opt_len+=3*(t+1)+5+5+4,t},F2=(e,t,n,r)=>{let a;for(Tt(e,t-257,5),Tt(e,n-1,5),Tt(e,r-4,4),a=0;a<r;a++)Tt(e,e.bl_tree[H0[a]*2+1],3);hp(e,e.dyn_ltree,t-1),hp(e,e.dyn_dtree,n-1)},M2=e=>{let t=4093624447,n;for(n=0;n<=31;n++,t>>>=1)if(t&1&&e.dyn_ltree[n*2]!==0)return up;if(e.dyn_ltree[18]!==0||e.dyn_ltree[20]!==0||e.dyn_ltree[26]!==0)return lp;for(n=32;n<Yo;n++)if(e.dyn_ltree[n*2]!==0)return lp;return up};let mp=!1;const q2=e=>{mp||(L2(),mp=!0),e.l_desc=new hc(e.dyn_ltree,L0),e.d_desc=new hc(e.dyn_dtree,D0),e.bl_desc=new hc(e.bl_tree,F0),e.bi_buf=0,e.bi_valid=0,$0(e)},K0=(e,t,n,r)=>{Tt(e,(C2<<1)+(r?1:0),3),G0(e),Io(e,n),Io(e,~n),n&&e.pending_buf.set(e.window.subarray(t,t+n),e.pending),e.pending+=n},V2=e=>{Tt(e,z0<<1,3),fn(e,xd,On),U2(e)},$2=(e,t,n,r)=>{let a,o,i=0;e.level>0?(e.strm.data_type===I2&&(e.strm.data_type=M2(e)),Sl(e,e.l_desc),Sl(e,e.d_desc),i=D2(e),a=e.opt_len+3+7>>>3,o=e.static_len+3+7>>>3,o<=a&&(a=o)):a=o=n+5,n+4<=a&&t!==-1?K0(e,t,n,r):e.strategy===T2||o===a?(Tt(e,(z0<<1)+(r?1:0),3),fp(e,On,yo)):(Tt(e,(O2<<1)+(r?1:0),3),F2(e,e.l_desc.max_code+1,e.d_desc.max_code+1,i+1),fp(e,e.dyn_ltree,e.dyn_dtree)),$0(e),r&&G0(e)},G2=(e,t,n)=>(e.pending_buf[e.sym_buf+e.sym_next++]=t,e.pending_buf[e.sym_buf+e.sym_next++]=t>>8,e.pending_buf[e.sym_buf+e.sym_next++]=n,t===0?e.dyn_ltree[n*2]++:(e.matches++,t--,e.dyn_ltree[(To[n]+Yo+1)*2]++,e.dyn_dtree[M0(t)*2]++),e.sym_next===e.sym_end);var K2=q2,W2=K0,X2=$2,Z2=G2,Y2=V2,J2={_tr_init:K2,_tr_stored_block:W2,_tr_flush_block:X2,_tr_tally:Z2,_tr_align:Y2};const Q2=(e,t,n,r)=>{let a=e&65535|0,o=e>>>16&65535|0,i=0;for(;n!==0;){i=n>2e3?2e3:n,n-=i;do a=a+t[r++]|0,o=o+a|0;while(--i);a%=65521,o%=65521}return a|o<<16|0};var Co=Q2;const eE=()=>{let e,t=[];for(var n=0;n<256;n++){e=n;for(var r=0;r<8;r++)e=e&1?3988292384^e>>>1:e>>>1;t[n]=e}return t},tE=new Uint32Array(eE()),nE=(e,t,n,r)=>{const a=tE,o=r+n;e^=-1;for(let i=r;i<o;i++)e=e>>>8^a[(e^t[i])&255];return e^-1};var tt=nE,Kr={2:"need dictionary",1:"stream end",0:"","-1":"file error","-2":"stream error","-3":"data error","-4":"insufficient memory","-5":"buffer error","-6":"incompatible version"},As={Z_NO_FLUSH:0,Z_PARTIAL_FLUSH:1,Z_SYNC_FLUSH:2,Z_FULL_FLUSH:3,Z_FINISH:4,Z_BLOCK:5,Z_TREES:6,Z_OK:0,Z_STREAM_END:1,Z_NEED_DICT:2,Z_STREAM_ERROR:-2,Z_DATA_ERROR:-3,Z_MEM_ERROR:-4,Z_BUF_ERROR:-5,Z_DEFAULT_COMPRESSION:-1,Z_FILTERED:1,Z_HUFFMAN_ONLY:2,Z_RLE:3,Z_FIXED:4,Z_DEFAULT_STRATEGY:0,Z_UNKNOWN:2,Z_DEFLATED:8};const{_tr_init:rE,_tr_stored_block:jl,_tr_flush_block:aE,_tr_tally:cr,_tr_align:oE}=J2,{Z_NO_FLUSH:ur,Z_PARTIAL_FLUSH:iE,Z_FULL_FLUSH:sE,Z_FINISH:Ft,Z_BLOCK:gp,Z_OK:ct,Z_STREAM_END:yp,Z_STREAM_ERROR:bn,Z_DATA_ERROR:cE,Z_BUF_ERROR:gc,Z_DEFAULT_COMPRESSION:uE,Z_FILTERED:lE,Z_HUFFMAN_ONLY:wi,Z_RLE:dE,Z_FIXED:fE,Z_DEFAULT_STRATEGY:pE,Z_UNKNOWN:hE,Z_DEFLATED:Ss}=As,mE=9,gE=15,yE=8,bE=29,wE=256,xl=wE+1+bE,kE=30,_E=19,vE=2*xl+1,EE=15,ve=3,or=258,wn=or+ve+1,AE=32,Ca=42,Id=57,Tl=69,Il=73,Cl=91,Ol=103,Rr=113,uo=666,kt=1,Ua=2,Wr=3,Ha=4,SE=3,Nr=(e,t)=>(e.msg=Kr[t],t),bp=e=>e*2-(e>4?9:0),ar=e=>{let t=e.length;for(;--t>=0;)e[t]=0},jE=e=>{let t,n,r,a=e.w_size;t=e.hash_size,r=t;do n=e.head[--r],e.head[r]=n>=a?n-a:0;while(--t);t=a,r=t;do n=e.prev[--r],e.prev[r]=n>=a?n-a:0;while(--t)};let xE=(e,t,n)=>(t<<e.hash_shift^n)&e.hash_mask,lr=xE;const Ot=e=>{const t=e.state;let n=t.pending;n>e.avail_out&&(n=e.avail_out),n!==0&&(e.output.set(t.pending_buf.subarray(t.pending_out,t.pending_out+n),e.next_out),e.next_out+=n,t.pending_out+=n,e.total_out+=n,e.avail_out-=n,t.pending-=n,t.pending===0&&(t.pending_out=0))},Nt=(e,t)=>{aE(e,e.block_start>=0?e.block_start:-1,e.strstart-e.block_start,t),e.block_start=e.strstart,Ot(e.strm)},Te=(e,t)=>{e.pending_buf[e.pending++]=t},Va=(e,t)=>{e.pending_buf[e.pending++]=t>>>8&255,e.pending_buf[e.pending++]=t&255},Bl=(e,t,n,r)=>{let a=e.avail_in;return a>r&&(a=r),a===0?0:(e.avail_in-=a,t.set(e.input.subarray(e.next_in,e.next_in+a),n),e.state.wrap===1?e.adler=Co(e.adler,t,a,n):e.state.wrap===2&&(e.adler=tt(e.adler,t,a,n)),e.next_in+=a,e.total_in+=a,a)},W0=(e,t)=>{let n=e.max_chain_length,r=e.strstart,a,o,i=e.prev_length,s=e.nice_match;const c=e.strstart>e.w_size-wn?e.strstart-(e.w_size-wn):0,u=e.window,d=e.w_mask,h=e.prev,f=e.strstart+or;let l=u[r+i-1],g=u[r+i];e.prev_length>=e.good_match&&(n>>=2),s>e.lookahead&&(s=e.lookahead);do if(a=t,!(u[a+i]!==g||u[a+i-1]!==l||u[a]!==u[r]||u[++a]!==u[r+1])){r+=2,a++;do;while(u[++r]===u[++a]&&u[++r]===u[++a]&&u[++r]===u[++a]&&u[++r]===u[++a]&&u[++r]===u[++a]&&u[++r]===u[++a]&&u[++r]===u[++a]&&u[++r]===u[++a]&&r<f);if(o=or-(f-r),r=f-or,o>i){if(e.match_start=t,i=o,o>=s)break;l=u[r+i-1],g=u[r+i]}}while((t=h[t&d])>c&&--n!==0);return i<=e.lookahead?i:e.lookahead},Oa=e=>{const t=e.w_size;let n,r,a;do{if(r=e.window_size-e.lookahead-e.strstart,e.strstart>=t+(t-wn)&&(e.window.set(e.window.subarray(t,t+t-r),0),e.match_start-=t,e.strstart-=t,e.block_start-=t,e.insert>e.strstart&&(e.insert=e.strstart),jE(e),r+=t),e.strm.avail_in===0)break;if(n=Bl(e.strm,e.window,e.strstart+e.lookahead,r),e.lookahead+=n,e.lookahead+e.insert>=ve)for(a=e.strstart-e.insert,e.ins_h=e.window[a],e.ins_h=lr(e,e.ins_h,e.window[a+1]);e.insert&&(e.ins_h=lr(e,e.ins_h,e.window[a+ve-1]),e.prev[a&e.w_mask]=e.head[e.ins_h],e.head[e.ins_h]=a,a++,e.insert--,!(e.lookahead+e.insert<ve)););}while(e.lookahead<wn&&e.strm.avail_in!==0)},X0=(e,t)=>{let n=e.pending_buf_size-5>e.w_size?e.w_size:e.pending_buf_size-5,r,a,o,i=0,s=e.strm.avail_in;do{if(r=65535,o=e.bi_valid+42>>3,e.strm.avail_out<o||(o=e.strm.avail_out-o,a=e.strstart-e.block_start,r>a+e.strm.avail_in&&(r=a+e.strm.avail_in),r>o&&(r=o),r<n&&(r===0&&t!==Ft||t===ur||r!==a+e.strm.avail_in)))break;i=t===Ft&&r===a+e.strm.avail_in?1:0,jl(e,0,0,i),e.pending_buf[e.pending-4]=r,e.pending_buf[e.pending-3]=r>>8,e.pending_buf[e.pending-2]=~r,e.pending_buf[e.pending-1]=~r>>8,Ot(e.strm),a&&(a>r&&(a=r),e.strm.output.set(e.window.subarray(e.block_start,e.block_start+a),e.strm.next_out),e.strm.next_out+=a,e.strm.avail_out-=a,e.strm.total_out+=a,e.block_start+=a,r-=a),r&&(Bl(e.strm,e.strm.output,e.strm.next_out,r),e.strm.next_out+=r,e.strm.avail_out-=r,e.strm.total_out+=r)}while(i===0);return s-=e.strm.avail_in,s&&(s>=e.w_size?(e.matches=2,e.window.set(e.strm.input.subarray(e.strm.next_in-e.w_size,e.strm.next_in),0),e.strstart=e.w_size,e.insert=e.strstart):(e.window_size-e.strstart<=s&&(e.strstart-=e.w_size,e.window.set(e.window.subarray(e.w_size,e.w_size+e.strstart),0),e.matches<2&&e.matches++,e.insert>e.strstart&&(e.insert=e.strstart)),e.window.set(e.strm.input.subarray(e.strm.next_in-s,e.strm.next_in),e.strstart),e.strstart+=s,e.insert+=s>e.w_size-e.insert?e.w_size-e.insert:s),e.block_start=e.strstart),e.high_water<e.strstart&&(e.high_water=e.strstart),i?Ha:t!==ur&&t!==Ft&&e.strm.avail_in===0&&e.strstart===e.block_start?Ua:(o=e.window_size-e.strstart,e.strm.avail_in>o&&e.block_start>=e.w_size&&(e.block_start-=e.w_size,e.strstart-=e.w_size,e.window.set(e.window.subarray(e.w_size,e.w_size+e.strstart),0),e.matches<2&&e.matches++,o+=e.w_size,e.insert>e.strstart&&(e.insert=e.strstart)),o>e.strm.avail_in&&(o=e.strm.avail_in),o&&(Bl(e.strm,e.window,e.strstart,o),e.strstart+=o,e.insert+=o>e.w_size-e.insert?e.w_size-e.insert:o),e.high_water<e.strstart&&(e.high_water=e.strstart),o=e.bi_valid+42>>3,o=e.pending_buf_size-o>65535?65535:e.pending_buf_size-o,n=o>e.w_size?e.w_size:o,a=e.strstart-e.block_start,(a>=n||(a||t===Ft)&&t!==ur&&e.strm.avail_in===0&&a<=o)&&(r=a>o?o:a,i=t===Ft&&e.strm.avail_in===0&&r===a?1:0,jl(e,e.block_start,r,i),e.block_start+=r,Ot(e.strm)),i?Wr:kt)},yc=(e,t)=>{let n,r;for(;;){if(e.lookahead<wn){if(Oa(e),e.lookahead<wn&&t===ur)return kt;if(e.lookahead===0)break}if(n=0,e.lookahead>=ve&&(e.ins_h=lr(e,e.ins_h,e.window[e.strstart+ve-1]),n=e.prev[e.strstart&e.w_mask]=e.head[e.ins_h],e.head[e.ins_h]=e.strstart),n!==0&&e.strstart-n<=e.w_size-wn&&(e.match_length=W0(e,n)),e.match_length>=ve)if(r=cr(e,e.strstart-e.match_start,e.match_length-ve),e.lookahead-=e.match_length,e.match_length<=e.max_lazy_match&&e.lookahead>=ve){e.match_length--;do e.strstart++,e.ins_h=lr(e,e.ins_h,e.window[e.strstart+ve-1]),n=e.prev[e.strstart&e.w_mask]=e.head[e.ins_h],e.head[e.ins_h]=e.strstart;while(--e.match_length!==0);e.strstart++}else e.strstart+=e.match_length,e.match_length=0,e.ins_h=e.window[e.strstart],e.ins_h=lr(e,e.ins_h,e.window[e.strstart+1]);else r=cr(e,0,e.window[e.strstart]),e.lookahead--,e.strstart++;if(r&&(Nt(e,!1),e.strm.avail_out===0))return kt}return e.insert=e.strstart<ve-1?e.strstart:ve-1,t===Ft?(Nt(e,!0),e.strm.avail_out===0?Wr:Ha):e.sym_next&&(Nt(e,!1),e.strm.avail_out===0)?kt:Ua},ua=(e,t)=>{let n,r,a;for(;;){if(e.lookahead<wn){if(Oa(e),e.lookahead<wn&&t===ur)return kt;if(e.lookahead===0)break}if(n=0,e.lookahead>=ve&&(e.ins_h=lr(e,e.ins_h,e.window[e.strstart+ve-1]),n=e.prev[e.strstart&e.w_mask]=e.head[e.ins_h],e.head[e.ins_h]=e.strstart),e.prev_length=e.match_length,e.prev_match=e.match_start,e.match_length=ve-1,n!==0&&e.prev_length<e.max_lazy_match&&e.strstart-n<=e.w_size-wn&&(e.match_length=W0(e,n),e.match_length<=5&&(e.strategy===lE||e.match_length===ve&&e.strstart-e.match_start>4096)&&(e.match_length=ve-1)),e.prev_length>=ve&&e.match_length<=e.prev_length){a=e.strstart+e.lookahead-ve,r=cr(e,e.strstart-1-e.prev_match,e.prev_length-ve),e.lookahead-=e.prev_length-1,e.prev_length-=2;do++e.strstart<=a&&(e.ins_h=lr(e,e.ins_h,e.window[e.strstart+ve-1]),n=e.prev[e.strstart&e.w_mask]=e.head[e.ins_h],e.head[e.ins_h]=e.strstart);while(--e.prev_length!==0);if(e.match_available=0,e.match_length=ve-1,e.strstart++,r&&(Nt(e,!1),e.strm.avail_out===0))return kt}else if(e.match_available){if(r=cr(e,0,e.window[e.strstart-1]),r&&Nt(e,!1),e.strstart++,e.lookahead--,e.strm.avail_out===0)return kt}else e.match_available=1,e.strstart++,e.lookahead--}return e.match_available&&(r=cr(e,0,e.window[e.strstart-1]),e.match_available=0),e.insert=e.strstart<ve-1?e.strstart:ve-1,t===Ft?(Nt(e,!0),e.strm.avail_out===0?Wr:Ha):e.sym_next&&(Nt(e,!1),e.strm.avail_out===0)?kt:Ua},TE=(e,t)=>{let n,r,a,o;const i=e.window;for(;;){if(e.lookahead<=or){if(Oa(e),e.lookahead<=or&&t===ur)return kt;if(e.lookahead===0)break}if(e.match_length=0,e.lookahead>=ve&&e.strstart>0&&(a=e.strstart-1,r=i[a],r===i[++a]&&r===i[++a]&&r===i[++a])){o=e.strstart+or;do;while(r===i[++a]&&r===i[++a]&&r===i[++a]&&r===i[++a]&&r===i[++a]&&r===i[++a]&&r===i[++a]&&r===i[++a]&&a<o);e.match_length=or-(o-a),e.match_length>e.lookahead&&(e.match_length=e.lookahead)}if(e.match_length>=ve?(n=cr(e,1,e.match_length-ve),e.lookahead-=e.match_length,e.strstart+=e.match_length,e.match_length=0):(n=cr(e,0,e.window[e.strstart]),e.lookahead--,e.strstart++),n&&(Nt(e,!1),e.strm.avail_out===0))return kt}return e.insert=0,t===Ft?(Nt(e,!0),e.strm.avail_out===0?Wr:Ha):e.sym_next&&(Nt(e,!1),e.strm.avail_out===0)?kt:Ua},IE=(e,t)=>{let n;for(;;){if(e.lookahead===0&&(Oa(e),e.lookahead===0)){if(t===ur)return kt;break}if(e.match_length=0,n=cr(e,0,e.window[e.strstart]),e.lookahead--,e.strstart++,n&&(Nt(e,!1),e.strm.avail_out===0))return kt}return e.insert=0,t===Ft?(Nt(e,!0),e.strm.avail_out===0?Wr:Ha):e.sym_next&&(Nt(e,!1),e.strm.avail_out===0)?kt:Ua};function on(e,t,n,r,a){this.good_length=e,this.max_lazy=t,this.nice_length=n,this.max_chain=r,this.func=a}const lo=[new on(0,0,0,0,X0),new on(4,4,8,4,yc),new on(4,5,16,8,yc),new on(4,6,32,32,yc),new on(4,4,16,16,ua),new on(8,16,32,32,ua),new on(8,16,128,128,ua),new on(8,32,128,256,ua),new on(32,128,258,1024,ua),new on(32,258,258,4096,ua)],CE=e=>{e.window_size=2*e.w_size,ar(e.head),e.max_lazy_match=lo[e.level].max_lazy,e.good_match=lo[e.level].good_length,e.nice_match=lo[e.level].nice_length,e.max_chain_length=lo[e.level].max_chain,e.strstart=0,e.block_start=0,e.lookahead=0,e.insert=0,e.match_length=e.prev_length=ve-1,e.match_available=0,e.ins_h=0};function OE(){this.strm=null,this.status=0,this.pending_buf=null,this.pending_buf_size=0,this.pending_out=0,this.pending=0,this.wrap=0,this.gzhead=null,this.gzindex=0,this.method=Ss,this.last_flush=-1,this.w_size=0,this.w_bits=0,this.w_mask=0,this.window=null,this.window_size=0,this.prev=null,this.head=null,this.ins_h=0,this.hash_size=0,this.hash_bits=0,this.hash_mask=0,this.hash_shift=0,this.block_start=0,this.match_length=0,this.prev_match=0,this.match_available=0,this.strstart=0,this.match_start=0,this.lookahead=0,this.prev_length=0,this.max_chain_length=0,this.max_lazy_match=0,this.level=0,this.strategy=0,this.good_match=0,this.nice_match=0,this.dyn_ltree=new Uint16Array(vE*2),this.dyn_dtree=new Uint16Array((2*kE+1)*2),this.bl_tree=new Uint16Array((2*_E+1)*2),ar(this.dyn_ltree),ar(this.dyn_dtree),ar(this.bl_tree),this.l_desc=null,this.d_desc=null,this.bl_desc=null,this.bl_count=new Uint16Array(EE+1),this.heap=new Uint16Array(2*xl+1),ar(this.heap),this.heap_len=0,this.heap_max=0,this.depth=new Uint16Array(2*xl+1),ar(this.depth),this.sym_buf=0,this.lit_bufsize=0,this.sym_next=0,this.sym_end=0,this.opt_len=0,this.static_len=0,this.matches=0,this.insert=0,this.bi_buf=0,this.bi_valid=0}const Jo=e=>{if(!e)return 1;const t=e.state;return!t||t.strm!==e||t.status!==Ca&&t.status!==Id&&t.status!==Tl&&t.status!==Il&&t.status!==Cl&&t.status!==Ol&&t.status!==Rr&&t.status!==uo?1:0},Z0=e=>{if(Jo(e))return Nr(e,bn);e.total_in=e.total_out=0,e.data_type=hE;const t=e.state;return t.pending=0,t.pending_out=0,t.wrap<0&&(t.wrap=-t.wrap),t.status=t.wrap===2?Id:t.wrap?Ca:Rr,e.adler=t.wrap===2?0:1,t.last_flush=-2,rE(t),ct},Y0=e=>{const t=Z0(e);return t===ct&&CE(e.state),t},BE=(e,t)=>Jo(e)||e.state.wrap!==2?bn:(e.state.gzhead=t,ct),J0=(e,t,n,r,a,o)=>{if(!e)return bn;let i=1;if(t===uE&&(t=6),r<0?(i=0,r=-r):r>15&&(i=2,r-=16),a<1||a>mE||n!==Ss||r<8||r>15||t<0||t>9||o<0||o>fE||r===8&&i!==1)return Nr(e,bn);r===8&&(r=9);const s=new OE;return e.state=s,s.strm=e,s.status=Ca,s.wrap=i,s.gzhead=null,s.w_bits=r,s.w_size=1<<s.w_bits,s.w_mask=s.w_size-1,s.hash_bits=a+7,s.hash_size=1<<s.hash_bits,s.hash_mask=s.hash_size-1,s.hash_shift=~~((s.hash_bits+ve-1)/ve),s.window=new Uint8Array(s.w_size*2),s.head=new Uint16Array(s.hash_size),s.prev=new Uint16Array(s.w_size),s.lit_bufsize=1<<a+6,s.pending_buf_size=s.lit_bufsize*4,s.pending_buf=new Uint8Array(s.pending_buf_size),s.sym_buf=s.lit_bufsize,s.sym_end=(s.lit_bufsize-1)*3,s.level=t,s.strategy=o,s.method=n,Y0(e)},zE=(e,t)=>J0(e,t,Ss,gE,yE,pE),PE=(e,t)=>{if(Jo(e)||t>gp||t<0)return e?Nr(e,bn):bn;const n=e.state;if(!e.output||e.avail_in!==0&&!e.input||n.status===uo&&t!==Ft)return Nr(e,e.avail_out===0?gc:bn);const r=n.last_flush;if(n.last_flush=t,n.pending!==0){if(Ot(e),e.avail_out===0)return n.last_flush=-1,ct}else if(e.avail_in===0&&bp(t)<=bp(r)&&t!==Ft)return Nr(e,gc);if(n.status===uo&&e.avail_in!==0)return Nr(e,gc);if(n.status===Ca&&n.wrap===0&&(n.status=Rr),n.status===Ca){let a=Ss+(n.w_bits-8<<4)<<8,o=-1;if(n.strategy>=wi||n.level<2?o=0:n.level<6?o=1:n.level===6?o=2:o=3,a|=o<<6,n.strstart!==0&&(a|=AE),a+=31-a%31,Va(n,a),n.strstart!==0&&(Va(n,e.adler>>>16),Va(n,e.adler&65535)),e.adler=1,n.status=Rr,Ot(e),n.pending!==0)return n.last_flush=-1,ct}if(n.status===Id){if(e.adler=0,Te(n,31),Te(n,139),Te(n,8),n.gzhead)Te(n,(n.gzhead.text?1:0)+(n.gzhead.hcrc?2:0)+(n.gzhead.extra?4:0)+(n.gzhead.name?8:0)+(n.gzhead.comment?16:0)),Te(n,n.gzhead.time&255),Te(n,n.gzhead.time>>8&255),Te(n,n.gzhead.time>>16&255),Te(n,n.gzhead.time>>24&255),Te(n,n.level===9?2:n.strategy>=wi||n.level<2?4:0),Te(n,n.gzhead.os&255),n.gzhead.extra&&n.gzhead.extra.length&&(Te(n,n.gzhead.extra.length&255),Te(n,n.gzhead.extra.length>>8&255)),n.gzhead.hcrc&&(e.adler=tt(e.adler,n.pending_buf,n.pending,0)),n.gzindex=0,n.status=Tl;else if(Te(n,0),Te(n,0),Te(n,0),Te(n,0),Te(n,0),Te(n,n.level===9?2:n.strategy>=wi||n.level<2?4:0),Te(n,SE),n.status=Rr,Ot(e),n.pending!==0)return n.last_flush=-1,ct}if(n.status===Tl){if(n.gzhead.extra){let a=n.pending,o=(n.gzhead.extra.length&65535)-n.gzindex;for(;n.pending+o>n.pending_buf_size;){let s=n.pending_buf_size-n.pending;if(n.pending_buf.set(n.gzhead.extra.subarray(n.gzindex,n.gzindex+s),n.pending),n.pending=n.pending_buf_size,n.gzhead.hcrc&&n.pending>a&&(e.adler=tt(e.adler,n.pending_buf,n.pending-a,a)),n.gzindex+=s,Ot(e),n.pending!==0)return n.last_flush=-1,ct;a=0,o-=s}let i=new Uint8Array(n.gzhead.extra);n.pending_buf.set(i.subarray(n.gzindex,n.gzindex+o),n.pending),n.pending+=o,n.gzhead.hcrc&&n.pending>a&&(e.adler=tt(e.adler,n.pending_buf,n.pending-a,a)),n.gzindex=0}n.status=Il}if(n.status===Il){if(n.gzhead.name){let a=n.pending,o;do{if(n.pending===n.pending_buf_size){if(n.gzhead.hcrc&&n.pending>a&&(e.adler=tt(e.adler,n.pending_buf,n.pending-a,a)),Ot(e),n.pending!==0)return n.last_flush=-1,ct;a=0}n.gzindex<n.gzhead.name.length?o=n.gzhead.name.charCodeAt(n.gzindex++)&255:o=0,Te(n,o)}while(o!==0);n.gzhead.hcrc&&n.pending>a&&(e.adler=tt(e.adler,n.pending_buf,n.pending-a,a)),n.gzindex=0}n.status=Cl}if(n.status===Cl){if(n.gzhead.comment){let a=n.pending,o;do{if(n.pending===n.pending_buf_size){if(n.gzhead.hcrc&&n.pending>a&&(e.adler=tt(e.adler,n.pending_buf,n.pending-a,a)),Ot(e),n.pending!==0)return n.last_flush=-1,ct;a=0}n.gzindex<n.gzhead.comment.length?o=n.gzhead.comment.charCodeAt(n.gzindex++)&255:o=0,Te(n,o)}while(o!==0);n.gzhead.hcrc&&n.pending>a&&(e.adler=tt(e.adler,n.pending_buf,n.pending-a,a))}n.status=Ol}if(n.status===Ol){if(n.gzhead.hcrc){if(n.pending+2>n.pending_buf_size&&(Ot(e),n.pending!==0))return n.last_flush=-1,ct;Te(n,e.adler&255),Te(n,e.adler>>8&255),e.adler=0}if(n.status=Rr,Ot(e),n.pending!==0)return n.last_flush=-1,ct}if(e.avail_in!==0||n.lookahead!==0||t!==ur&&n.status!==uo){let a=n.level===0?X0(n,t):n.strategy===wi?IE(n,t):n.strategy===dE?TE(n,t):lo[n.level].func(n,t);if((a===Wr||a===Ha)&&(n.status=uo),a===kt||a===Wr)return e.avail_out===0&&(n.last_flush=-1),ct;if(a===Ua&&(t===iE?oE(n):t!==gp&&(jl(n,0,0,!1),t===sE&&(ar(n.head),n.lookahead===0&&(n.strstart=0,n.block_start=0,n.insert=0))),Ot(e),e.avail_out===0))return n.last_flush=-1,ct}return t!==Ft?ct:n.wrap<=0?yp:(n.wrap===2?(Te(n,e.adler&255),Te(n,e.adler>>8&255),Te(n,e.adler>>16&255),Te(n,e.adler>>24&255),Te(n,e.total_in&255),Te(n,e.total_in>>8&255),Te(n,e.total_in>>16&255),Te(n,e.total_in>>24&255)):(Va(n,e.adler>>>16),Va(n,e.adler&65535)),Ot(e),n.wrap>0&&(n.wrap=-n.wrap),n.pending!==0?ct:yp)},RE=e=>{if(Jo(e))return bn;const t=e.state.status;return e.state=null,t===Rr?Nr(e,cE):ct},NE=(e,t)=>{let n=t.length;if(Jo(e))return bn;const r=e.state,a=r.wrap;if(a===2||a===1&&r.status!==Ca||r.lookahead)return bn;if(a===1&&(e.adler=Co(e.adler,t,n,0)),r.wrap=0,n>=r.w_size){a===0&&(ar(r.head),r.strstart=0,r.block_start=0,r.insert=0);let c=new Uint8Array(r.w_size);c.set(t.subarray(n-r.w_size,n),0),t=c,n=r.w_size}const o=e.avail_in,i=e.next_in,s=e.input;for(e.avail_in=n,e.next_in=0,e.input=t,Oa(r);r.lookahead>=ve;){let c=r.strstart,u=r.lookahead-(ve-1);do r.ins_h=lr(r,r.ins_h,r.window[c+ve-1]),r.prev[c&r.w_mask]=r.head[r.ins_h],r.head[r.ins_h]=c,c++;while(--u);r.strstart=c,r.lookahead=ve-1,Oa(r)}return r.strstart+=r.lookahead,r.block_start=r.strstart,r.insert=r.lookahead,r.lookahead=0,r.match_length=r.prev_length=ve-1,r.match_available=0,e.next_in=i,e.input=s,e.avail_in=o,r.wrap=a,ct};var UE=zE,HE=J0,LE=Y0,DE=Z0,FE=BE,ME=PE,qE=RE,VE=NE,$E="pako deflate (from Nodeca project)",bo={deflateInit:UE,deflateInit2:HE,deflateReset:LE,deflateResetKeep:DE,deflateSetHeader:FE,deflate:ME,deflateEnd:qE,deflateSetDictionary:VE,deflateInfo:$E};const GE=(e,t)=>Object.prototype.hasOwnProperty.call(e,t);var KE=function(e){const t=Array.prototype.slice.call(arguments,1);for(;t.length;){const n=t.shift();if(n){if(typeof n!="object")throw new TypeError(n+"must be non-object");for(const r in n)GE(n,r)&&(e[r]=n[r])}}return e},WE=e=>{let t=0;for(let r=0,a=e.length;r<a;r++)t+=e[r].length;const n=new Uint8Array(t);for(let r=0,a=0,o=e.length;r<o;r++){let i=e[r];n.set(i,a),a+=i.length}return n},js={assign:KE,flattenChunks:WE};let Q0=!0;try{String.fromCharCode.apply(null,new Uint8Array(1))}catch{Q0=!1}const Oo=new Uint8Array(256);for(let e=0;e<256;e++)Oo[e]=e>=252?6:e>=248?5:e>=240?4:e>=224?3:e>=192?2:1;Oo[254]=Oo[254]=1;var XE=e=>{if(typeof TextEncoder=="function"&&TextEncoder.prototype.encode)return new TextEncoder().encode(e);let t,n,r,a,o,i=e.length,s=0;for(a=0;a<i;a++)n=e.charCodeAt(a),(n&64512)===55296&&a+1<i&&(r=e.charCodeAt(a+1),(r&64512)===56320&&(n=65536+(n-55296<<10)+(r-56320),a++)),s+=n<128?1:n<2048?2:n<65536?3:4;for(t=new Uint8Array(s),o=0,a=0;o<s;a++)n=e.charCodeAt(a),(n&64512)===55296&&a+1<i&&(r=e.charCodeAt(a+1),(r&64512)===56320&&(n=65536+(n-55296<<10)+(r-56320),a++)),n<128?t[o++]=n:n<2048?(t[o++]=192|n>>>6,t[o++]=128|n&63):n<65536?(t[o++]=224|n>>>12,t[o++]=128|n>>>6&63,t[o++]=128|n&63):(t[o++]=240|n>>>18,t[o++]=128|n>>>12&63,t[o++]=128|n>>>6&63,t[o++]=128|n&63);return t};const ZE=(e,t)=>{if(t<65534&&e.subarray&&Q0)return String.fromCharCode.apply(null,e.length===t?e:e.subarray(0,t));let n="";for(let r=0;r<t;r++)n+=String.fromCharCode(e[r]);return n};var YE=(e,t)=>{const n=t||e.length;if(typeof TextDecoder=="function"&&TextDecoder.prototype.decode)return new TextDecoder().decode(e.subarray(0,t));let r,a;const o=new Array(n*2);for(a=0,r=0;r<n;){let i=e[r++];if(i<128){o[a++]=i;continue}let s=Oo[i];if(s>4){o[a++]=65533,r+=s-1;continue}for(i&=s===2?31:s===3?15:7;s>1&&r<n;)i=i<<6|e[r++]&63,s--;if(s>1){o[a++]=65533;continue}i<65536?o[a++]=i:(i-=65536,o[a++]=55296|i>>10&1023,o[a++]=56320|i&1023)}return ZE(o,a)},JE=(e,t)=>{t=t||e.length,t>e.length&&(t=e.length);let n=t-1;for(;n>=0&&(e[n]&192)===128;)n--;return n<0||n===0?t:n+Oo[e[n]]>t?n:t},Bo={string2buf:XE,buf2string:YE,utf8border:JE};function QE(){this.input=null,this.next_in=0,this.avail_in=0,this.total_in=0,this.output=null,this.next_out=0,this.avail_out=0,this.total_out=0,this.msg="",this.state=null,this.data_type=2,this.adler=0}var eb=QE;const tb=Object.prototype.toString,{Z_NO_FLUSH:eA,Z_SYNC_FLUSH:tA,Z_FULL_FLUSH:nA,Z_FINISH:rA,Z_OK:ls,Z_STREAM_END:aA,Z_DEFAULT_COMPRESSION:oA,Z_DEFAULT_STRATEGY:iA,Z_DEFLATED:sA}=As;function xs(e){this.options=js.assign({level:oA,method:sA,chunkSize:16384,windowBits:15,memLevel:8,strategy:iA},e||{});let t=this.options;t.raw&&t.windowBits>0?t.windowBits=-t.windowBits:t.gzip&&t.windowBits>0&&t.windowBits<16&&(t.windowBits+=16),this.err=0,this.msg="",this.ended=!1,this.chunks=[],this.strm=new eb,this.strm.avail_out=0;let n=bo.deflateInit2(this.strm,t.level,t.method,t.windowBits,t.memLevel,t.strategy);if(n!==ls)throw new Error(Kr[n]);if(t.header&&bo.deflateSetHeader(this.strm,t.header),t.dictionary){let r;if(typeof t.dictionary=="string"?r=Bo.string2buf(t.dictionary):tb.call(t.dictionary)==="[object ArrayBuffer]"?r=new Uint8Array(t.dictionary):r=t.dictionary,n=bo.deflateSetDictionary(this.strm,r),n!==ls)throw new Error(Kr[n]);this._dict_set=!0}}xs.prototype.push=function(e,t){const n=this.strm,r=this.options.chunkSize;let a,o;if(this.ended)return!1;for(t===~~t?o=t:o=t===!0?rA:eA,typeof e=="string"?n.input=Bo.string2buf(e):tb.call(e)==="[object ArrayBuffer]"?n.input=new Uint8Array(e):n.input=e,n.next_in=0,n.avail_in=n.input.length;;){if(n.avail_out===0&&(n.output=new Uint8Array(r),n.next_out=0,n.avail_out=r),(o===tA||o===nA)&&n.avail_out<=6){this.onData(n.output.subarray(0,n.next_out)),n.avail_out=0;continue}if(a=bo.deflate(n,o),a===aA)return n.next_out>0&&this.onData(n.output.subarray(0,n.next_out)),a=bo.deflateEnd(this.strm),this.onEnd(a),this.ended=!0,a===ls;if(n.avail_out===0){this.onData(n.output);continue}if(o>0&&n.next_out>0){this.onData(n.output.subarray(0,n.next_out)),n.avail_out=0;continue}if(n.avail_in===0)break}return!0};xs.prototype.onData=function(e){this.chunks.push(e)};xs.prototype.onEnd=function(e){e===ls&&(this.result=js.flattenChunks(this.chunks)),this.chunks=[],this.err=e,this.msg=this.strm.msg};function cA(e,t){const n=new xs(t);if(n.push(e,!0),n.err)throw n.msg||Kr[n.err];return n.result}function uA(e,t){return t=t||{},t.gzip=!0,cA(e,t)}var lA=uA,dA={gzip:lA};const ki=16209,fA=16191;var pA=function(t,n){let r,a,o,i,s,c,u,d,h,f,l,g,b,y,_,k,w,v,A,T,I,z,S,B;const P=t.state;r=t.next_in,S=t.input,a=r+(t.avail_in-5),o=t.next_out,B=t.output,i=o-(n-t.avail_out),s=o+(t.avail_out-257),c=P.dmax,u=P.wsize,d=P.whave,h=P.wnext,f=P.window,l=P.hold,g=P.bits,b=P.lencode,y=P.distcode,_=(1<<P.lenbits)-1,k=(1<<P.distbits)-1;e:do{g<15&&(l+=S[r++]<<g,g+=8,l+=S[r++]<<g,g+=8),w=b[l&_];t:for(;;){if(v=w>>>24,l>>>=v,g-=v,v=w>>>16&255,v===0)B[o++]=w&65535;else if(v&16){A=w&65535,v&=15,v&&(g<v&&(l+=S[r++]<<g,g+=8),A+=l&(1<<v)-1,l>>>=v,g-=v),g<15&&(l+=S[r++]<<g,g+=8,l+=S[r++]<<g,g+=8),w=y[l&k];n:for(;;){if(v=w>>>24,l>>>=v,g-=v,v=w>>>16&255,v&16){if(T=w&65535,v&=15,g<v&&(l+=S[r++]<<g,g+=8,g<v&&(l+=S[r++]<<g,g+=8)),T+=l&(1<<v)-1,T>c){t.msg="invalid distance too far back",P.mode=ki;break e}if(l>>>=v,g-=v,v=o-i,T>v){if(v=T-v,v>d&&P.sane){t.msg="invalid distance too far back",P.mode=ki;break e}if(I=0,z=f,h===0){if(I+=u-v,v<A){A-=v;do B[o++]=f[I++];while(--v);I=o-T,z=B}}else if(h<v){if(I+=u+h-v,v-=h,v<A){A-=v;do B[o++]=f[I++];while(--v);if(I=0,h<A){v=h,A-=v;do B[o++]=f[I++];while(--v);I=o-T,z=B}}}else if(I+=h-v,v<A){A-=v;do B[o++]=f[I++];while(--v);I=o-T,z=B}for(;A>2;)B[o++]=z[I++],B[o++]=z[I++],B[o++]=z[I++],A-=3;A&&(B[o++]=z[I++],A>1&&(B[o++]=z[I++]))}else{I=o-T;do B[o++]=B[I++],B[o++]=B[I++],B[o++]=B[I++],A-=3;while(A>2);A&&(B[o++]=B[I++],A>1&&(B[o++]=B[I++]))}}else if((v&64)===0){w=y[(w&65535)+(l&(1<<v)-1)];continue n}else{t.msg="invalid distance code",P.mode=ki;break e}break}}else if((v&64)===0){w=b[(w&65535)+(l&(1<<v)-1)];continue t}else if(v&32){P.mode=fA;break e}else{t.msg="invalid literal/length code",P.mode=ki;break e}break}}while(r<a&&o<s);A=g>>3,r-=A,g-=A<<3,l&=(1<<g)-1,t.next_in=r,t.next_out=o,t.avail_in=r<a?5+(a-r):5-(r-a),t.avail_out=o<s?257+(s-o):257-(o-s),P.hold=l,P.bits=g};const la=15,wp=852,kp=592,_p=0,bc=1,vp=2,hA=new Uint16Array([3,4,5,6,7,8,9,10,11,13,15,17,19,23,27,31,35,43,51,59,67,83,99,115,131,163,195,227,258,0,0]),mA=new Uint8Array([16,16,16,16,16,16,16,16,17,17,17,17,18,18,18,18,19,19,19,19,20,20,20,20,21,21,21,21,16,72,78]),gA=new Uint16Array([1,2,3,4,5,7,9,13,17,25,33,49,65,97,129,193,257,385,513,769,1025,1537,2049,3073,4097,6145,8193,12289,16385,24577,0,0]),yA=new Uint8Array([16,16,16,16,17,17,18,18,19,19,20,20,21,21,22,22,23,23,24,24,25,25,26,26,27,27,28,28,29,29,64,64]),bA=(e,t,n,r,a,o,i,s)=>{const c=s.bits;let u=0,d=0,h=0,f=0,l=0,g=0,b=0,y=0,_=0,k=0,w,v,A,T,I,z=null,S;const B=new Uint16Array(la+1),P=new Uint16Array(la+1);let M=null,D,R,$;for(u=0;u<=la;u++)B[u]=0;for(d=0;d<r;d++)B[t[n+d]]++;for(l=c,f=la;f>=1&&B[f]===0;f--);if(l>f&&(l=f),f===0)return a[o++]=1<<24|64<<16|0,a[o++]=1<<24|64<<16|0,s.bits=1,0;for(h=1;h<f&&B[h]===0;h++);for(l<h&&(l=h),y=1,u=1;u<=la;u++)if(y<<=1,y-=B[u],y<0)return-1;if(y>0&&(e===_p||f!==1))return-1;for(P[1]=0,u=1;u<la;u++)P[u+1]=P[u]+B[u];for(d=0;d<r;d++)t[n+d]!==0&&(i[P[t[n+d]]++]=d);if(e===_p?(z=M=i,S=20):e===bc?(z=hA,M=mA,S=257):(z=gA,M=yA,S=0),k=0,d=0,u=h,I=o,g=l,b=0,A=-1,_=1<<l,T=_-1,e===bc&&_>wp||e===vp&&_>kp)return 1;for(;;){D=u-b,i[d]+1<S?(R=0,$=i[d]):i[d]>=S?(R=M[i[d]-S],$=z[i[d]-S]):(R=96,$=0),w=1<<u-b,v=1<<g,h=v;do v-=w,a[I+(k>>b)+v]=D<<24|R<<16|$|0;while(v!==0);for(w=1<<u-1;k&w;)w>>=1;if(w!==0?(k&=w-1,k+=w):k=0,d++,--B[u]===0){if(u===f)break;u=t[n+i[d]]}if(u>l&&(k&T)!==A){for(b===0&&(b=l),I+=h,g=u-b,y=1<<g;g+b<f&&(y-=B[g+b],!(y<=0));)g++,y<<=1;if(_+=1<<g,e===bc&&_>wp||e===vp&&_>kp)return 1;A=k&T,a[A]=l<<24|g<<16|I-o|0}}return k!==0&&(a[I+k]=u-b<<24|64<<16|0),s.bits=l,0};var wo=bA;const wA=0,nb=1,rb=2,{Z_FINISH:Ep,Z_BLOCK:kA,Z_TREES:_i,Z_OK:Xr,Z_STREAM_END:_A,Z_NEED_DICT:vA,Z_STREAM_ERROR:qt,Z_DATA_ERROR:ab,Z_MEM_ERROR:ob,Z_BUF_ERROR:EA,Z_DEFLATED:Ap}=As,Ts=16180,Sp=16181,jp=16182,xp=16183,Tp=16184,Ip=16185,Cp=16186,Op=16187,Bp=16188,zp=16189,ds=16190,jn=16191,wc=16192,Pp=16193,kc=16194,Rp=16195,Np=16196,Up=16197,Hp=16198,vi=16199,Ei=16200,Lp=16201,Dp=16202,Fp=16203,Mp=16204,qp=16205,_c=16206,Vp=16207,$p=16208,Le=16209,ib=16210,sb=16211,AA=852,SA=592,jA=15,xA=jA,Gp=e=>(e>>>24&255)+(e>>>8&65280)+((e&65280)<<8)+((e&255)<<24);function TA(){this.strm=null,this.mode=0,this.last=!1,this.wrap=0,this.havedict=!1,this.flags=0,this.dmax=0,this.check=0,this.total=0,this.head=null,this.wbits=0,this.wsize=0,this.whave=0,this.wnext=0,this.window=null,this.hold=0,this.bits=0,this.length=0,this.offset=0,this.extra=0,this.lencode=null,this.distcode=null,this.lenbits=0,this.distbits=0,this.ncode=0,this.nlen=0,this.ndist=0,this.have=0,this.next=null,this.lens=new Uint16Array(320),this.work=new Uint16Array(288),this.lendyn=null,this.distdyn=null,this.sane=0,this.back=0,this.was=0}const ta=e=>{if(!e)return 1;const t=e.state;return!t||t.strm!==e||t.mode<Ts||t.mode>sb?1:0},cb=e=>{if(ta(e))return qt;const t=e.state;return e.total_in=e.total_out=t.total=0,e.msg="",t.wrap&&(e.adler=t.wrap&1),t.mode=Ts,t.last=0,t.havedict=0,t.flags=-1,t.dmax=32768,t.head=null,t.hold=0,t.bits=0,t.lencode=t.lendyn=new Int32Array(AA),t.distcode=t.distdyn=new Int32Array(SA),t.sane=1,t.back=-1,Xr},ub=e=>{if(ta(e))return qt;const t=e.state;return t.wsize=0,t.whave=0,t.wnext=0,cb(e)},lb=(e,t)=>{let n;if(ta(e))return qt;const r=e.state;return t<0?(n=0,t=-t):(n=(t>>4)+5,t<48&&(t&=15)),t&&(t<8||t>15)?qt:(r.window!==null&&r.wbits!==t&&(r.window=null),r.wrap=n,r.wbits=t,ub(e))},db=(e,t)=>{if(!e)return qt;const n=new TA;e.state=n,n.strm=e,n.window=null,n.mode=Ts;const r=lb(e,t);return r!==Xr&&(e.state=null),r},IA=e=>db(e,xA);let Kp=!0,vc,Ec;const CA=e=>{if(Kp){vc=new Int32Array(512),Ec=new Int32Array(32);let t=0;for(;t<144;)e.lens[t++]=8;for(;t<256;)e.lens[t++]=9;for(;t<280;)e.lens[t++]=7;for(;t<288;)e.lens[t++]=8;for(wo(nb,e.lens,0,288,vc,0,e.work,{bits:9}),t=0;t<32;)e.lens[t++]=5;wo(rb,e.lens,0,32,Ec,0,e.work,{bits:5}),Kp=!1}e.lencode=vc,e.lenbits=9,e.distcode=Ec,e.distbits=5},fb=(e,t,n,r)=>{let a;const o=e.state;return o.window===null&&(o.wsize=1<<o.wbits,o.wnext=0,o.whave=0,o.window=new Uint8Array(o.wsize)),r>=o.wsize?(o.window.set(t.subarray(n-o.wsize,n),0),o.wnext=0,o.whave=o.wsize):(a=o.wsize-o.wnext,a>r&&(a=r),o.window.set(t.subarray(n-r,n-r+a),o.wnext),r-=a,r?(o.window.set(t.subarray(n-r,n),0),o.wnext=r,o.whave=o.wsize):(o.wnext+=a,o.wnext===o.wsize&&(o.wnext=0),o.whave<o.wsize&&(o.whave+=a))),0},OA=(e,t)=>{let n,r,a,o,i,s,c,u,d,h,f,l,g,b,y=0,_,k,w,v,A,T,I,z;const S=new Uint8Array(4);let B,P;const M=new Uint8Array([16,17,18,0,8,7,9,6,10,5,11,4,12,3,13,2,14,1,15]);if(ta(e)||!e.output||!e.input&&e.avail_in!==0)return qt;n=e.state,n.mode===jn&&(n.mode=wc),i=e.next_out,a=e.output,c=e.avail_out,o=e.next_in,r=e.input,s=e.avail_in,u=n.hold,d=n.bits,h=s,f=c,z=Xr;e:for(;;)switch(n.mode){case Ts:if(n.wrap===0){n.mode=wc;break}for(;d<16;){if(s===0)break e;s--,u+=r[o++]<<d,d+=8}if(n.wrap&2&&u===35615){n.wbits===0&&(n.wbits=15),n.check=0,S[0]=u&255,S[1]=u>>>8&255,n.check=tt(n.check,S,2,0),u=0,d=0,n.mode=Sp;break}if(n.head&&(n.head.done=!1),!(n.wrap&1)||(((u&255)<<8)+(u>>8))%31){e.msg="incorrect header check",n.mode=Le;break}if((u&15)!==Ap){e.msg="unknown compression method",n.mode=Le;break}if(u>>>=4,d-=4,I=(u&15)+8,n.wbits===0&&(n.wbits=I),I>15||I>n.wbits){e.msg="invalid window size",n.mode=Le;break}n.dmax=1<<n.wbits,n.flags=0,e.adler=n.check=1,n.mode=u&512?zp:jn,u=0,d=0;break;case Sp:for(;d<16;){if(s===0)break e;s--,u+=r[o++]<<d,d+=8}if(n.flags=u,(n.flags&255)!==Ap){e.msg="unknown compression method",n.mode=Le;break}if(n.flags&57344){e.msg="unknown header flags set",n.mode=Le;break}n.head&&(n.head.text=u>>8&1),n.flags&512&&n.wrap&4&&(S[0]=u&255,S[1]=u>>>8&255,n.check=tt(n.check,S,2,0)),u=0,d=0,n.mode=jp;case jp:for(;d<32;){if(s===0)break e;s--,u+=r[o++]<<d,d+=8}n.head&&(n.head.time=u),n.flags&512&&n.wrap&4&&(S[0]=u&255,S[1]=u>>>8&255,S[2]=u>>>16&255,S[3]=u>>>24&255,n.check=tt(n.check,S,4,0)),u=0,d=0,n.mode=xp;case xp:for(;d<16;){if(s===0)break e;s--,u+=r[o++]<<d,d+=8}n.head&&(n.head.xflags=u&255,n.head.os=u>>8),n.flags&512&&n.wrap&4&&(S[0]=u&255,S[1]=u>>>8&255,n.check=tt(n.check,S,2,0)),u=0,d=0,n.mode=Tp;case Tp:if(n.flags&1024){for(;d<16;){if(s===0)break e;s--,u+=r[o++]<<d,d+=8}n.length=u,n.head&&(n.head.extra_len=u),n.flags&512&&n.wrap&4&&(S[0]=u&255,S[1]=u>>>8&255,n.check=tt(n.check,S,2,0)),u=0,d=0}else n.head&&(n.head.extra=null);n.mode=Ip;case Ip:if(n.flags&1024&&(l=n.length,l>s&&(l=s),l&&(n.head&&(I=n.head.extra_len-n.length,n.head.extra||(n.head.extra=new Uint8Array(n.head.extra_len)),n.head.extra.set(r.subarray(o,o+l),I)),n.flags&512&&n.wrap&4&&(n.check=tt(n.check,r,l,o)),s-=l,o+=l,n.length-=l),n.length))break e;n.length=0,n.mode=Cp;case Cp:if(n.flags&2048){if(s===0)break e;l=0;do I=r[o+l++],n.head&&I&&n.length<65536&&(n.head.name+=String.fromCharCode(I));while(I&&l<s);if(n.flags&512&&n.wrap&4&&(n.check=tt(n.check,r,l,o)),s-=l,o+=l,I)break e}else n.head&&(n.head.name=null);n.length=0,n.mode=Op;case Op:if(n.flags&4096){if(s===0)break e;l=0;do I=r[o+l++],n.head&&I&&n.length<65536&&(n.head.comment+=String.fromCharCode(I));while(I&&l<s);if(n.flags&512&&n.wrap&4&&(n.check=tt(n.check,r,l,o)),s-=l,o+=l,I)break e}else n.head&&(n.head.comment=null);n.mode=Bp;case Bp:if(n.flags&512){for(;d<16;){if(s===0)break e;s--,u+=r[o++]<<d,d+=8}if(n.wrap&4&&u!==(n.check&65535)){e.msg="header crc mismatch",n.mode=Le;break}u=0,d=0}n.head&&(n.head.hcrc=n.flags>>9&1,n.head.done=!0),e.adler=n.check=0,n.mode=jn;break;case zp:for(;d<32;){if(s===0)break e;s--,u+=r[o++]<<d,d+=8}e.adler=n.check=Gp(u),u=0,d=0,n.mode=ds;case ds:if(n.havedict===0)return e.next_out=i,e.avail_out=c,e.next_in=o,e.avail_in=s,n.hold=u,n.bits=d,vA;e.adler=n.check=1,n.mode=jn;case jn:if(t===kA||t===_i)break e;case wc:if(n.last){u>>>=d&7,d-=d&7,n.mode=_c;break}for(;d<3;){if(s===0)break e;s--,u+=r[o++]<<d,d+=8}switch(n.last=u&1,u>>>=1,d-=1,u&3){case 0:n.mode=Pp;break;case 1:if(CA(n),n.mode=vi,t===_i){u>>>=2,d-=2;break e}break;case 2:n.mode=Np;break;case 3:e.msg="invalid block type",n.mode=Le}u>>>=2,d-=2;break;case Pp:for(u>>>=d&7,d-=d&7;d<32;){if(s===0)break e;s--,u+=r[o++]<<d,d+=8}if((u&65535)!==(u>>>16^65535)){e.msg="invalid stored block lengths",n.mode=Le;break}if(n.length=u&65535,u=0,d=0,n.mode=kc,t===_i)break e;case kc:n.mode=Rp;case Rp:if(l=n.length,l){if(l>s&&(l=s),l>c&&(l=c),l===0)break e;a.set(r.subarray(o,o+l),i),s-=l,o+=l,c-=l,i+=l,n.length-=l;break}n.mode=jn;break;case Np:for(;d<14;){if(s===0)break e;s--,u+=r[o++]<<d,d+=8}if(n.nlen=(u&31)+257,u>>>=5,d-=5,n.ndist=(u&31)+1,u>>>=5,d-=5,n.ncode=(u&15)+4,u>>>=4,d-=4,n.nlen>286||n.ndist>30){e.msg="too many length or distance symbols",n.mode=Le;break}n.have=0,n.mode=Up;case Up:for(;n.have<n.ncode;){for(;d<3;){if(s===0)break e;s--,u+=r[o++]<<d,d+=8}n.lens[M[n.have++]]=u&7,u>>>=3,d-=3}for(;n.have<19;)n.lens[M[n.have++]]=0;if(n.lencode=n.lendyn,n.lenbits=7,B={bits:n.lenbits},z=wo(wA,n.lens,0,19,n.lencode,0,n.work,B),n.lenbits=B.bits,z){e.msg="invalid code lengths set",n.mode=Le;break}n.have=0,n.mode=Hp;case Hp:for(;n.have<n.nlen+n.ndist;){for(;y=n.lencode[u&(1<<n.lenbits)-1],_=y>>>24,k=y>>>16&255,w=y&65535,!(_<=d);){if(s===0)break e;s--,u+=r[o++]<<d,d+=8}if(w<16)u>>>=_,d-=_,n.lens[n.have++]=w;else{if(w===16){for(P=_+2;d<P;){if(s===0)break e;s--,u+=r[o++]<<d,d+=8}if(u>>>=_,d-=_,n.have===0){e.msg="invalid bit length repeat",n.mode=Le;break}I=n.lens[n.have-1],l=3+(u&3),u>>>=2,d-=2}else if(w===17){for(P=_+3;d<P;){if(s===0)break e;s--,u+=r[o++]<<d,d+=8}u>>>=_,d-=_,I=0,l=3+(u&7),u>>>=3,d-=3}else{for(P=_+7;d<P;){if(s===0)break e;s--,u+=r[o++]<<d,d+=8}u>>>=_,d-=_,I=0,l=11+(u&127),u>>>=7,d-=7}if(n.have+l>n.nlen+n.ndist){e.msg="invalid bit length repeat",n.mode=Le;break}for(;l--;)n.lens[n.have++]=I}}if(n.mode===Le)break;if(n.lens[256]===0){e.msg="invalid code -- missing end-of-block",n.mode=Le;break}if(n.lenbits=9,B={bits:n.lenbits},z=wo(nb,n.lens,0,n.nlen,n.lencode,0,n.work,B),n.lenbits=B.bits,z){e.msg="invalid literal/lengths set",n.mode=Le;break}if(n.distbits=6,n.distcode=n.distdyn,B={bits:n.distbits},z=wo(rb,n.lens,n.nlen,n.ndist,n.distcode,0,n.work,B),n.distbits=B.bits,z){e.msg="invalid distances set",n.mode=Le;break}if(n.mode=vi,t===_i)break e;case vi:n.mode=Ei;case Ei:if(s>=6&&c>=258){e.next_out=i,e.avail_out=c,e.next_in=o,e.avail_in=s,n.hold=u,n.bits=d,pA(e,f),i=e.next_out,a=e.output,c=e.avail_out,o=e.next_in,r=e.input,s=e.avail_in,u=n.hold,d=n.bits,n.mode===jn&&(n.back=-1);break}for(n.back=0;y=n.lencode[u&(1<<n.lenbits)-1],_=y>>>24,k=y>>>16&255,w=y&65535,!(_<=d);){if(s===0)break e;s--,u+=r[o++]<<d,d+=8}if(k&&(k&240)===0){for(v=_,A=k,T=w;y=n.lencode[T+((u&(1<<v+A)-1)>>v)],_=y>>>24,k=y>>>16&255,w=y&65535,!(v+_<=d);){if(s===0)break e;s--,u+=r[o++]<<d,d+=8}u>>>=v,d-=v,n.back+=v}if(u>>>=_,d-=_,n.back+=_,n.length=w,k===0){n.mode=qp;break}if(k&32){n.back=-1,n.mode=jn;break}if(k&64){e.msg="invalid literal/length code",n.mode=Le;break}n.extra=k&15,n.mode=Lp;case Lp:if(n.extra){for(P=n.extra;d<P;){if(s===0)break e;s--,u+=r[o++]<<d,d+=8}n.length+=u&(1<<n.extra)-1,u>>>=n.extra,d-=n.extra,n.back+=n.extra}n.was=n.length,n.mode=Dp;case Dp:for(;y=n.distcode[u&(1<<n.distbits)-1],_=y>>>24,k=y>>>16&255,w=y&65535,!(_<=d);){if(s===0)break e;s--,u+=r[o++]<<d,d+=8}if((k&240)===0){for(v=_,A=k,T=w;y=n.distcode[T+((u&(1<<v+A)-1)>>v)],_=y>>>24,k=y>>>16&255,w=y&65535,!(v+_<=d);){if(s===0)break e;s--,u+=r[o++]<<d,d+=8}u>>>=v,d-=v,n.back+=v}if(u>>>=_,d-=_,n.back+=_,k&64){e.msg="invalid distance code",n.mode=Le;break}n.offset=w,n.extra=k&15,n.mode=Fp;case Fp:if(n.extra){for(P=n.extra;d<P;){if(s===0)break e;s--,u+=r[o++]<<d,d+=8}n.offset+=u&(1<<n.extra)-1,u>>>=n.extra,d-=n.extra,n.back+=n.extra}if(n.offset>n.dmax){e.msg="invalid distance too far back",n.mode=Le;break}n.mode=Mp;case Mp:if(c===0)break e;if(l=f-c,n.offset>l){if(l=n.offset-l,l>n.whave&&n.sane){e.msg="invalid distance too far back",n.mode=Le;break}l>n.wnext?(l-=n.wnext,g=n.wsize-l):g=n.wnext-l,l>n.length&&(l=n.length),b=n.window}else b=a,g=i-n.offset,l=n.length;l>c&&(l=c),c-=l,n.length-=l;do a[i++]=b[g++];while(--l);n.length===0&&(n.mode=Ei);break;case qp:if(c===0)break e;a[i++]=n.length,c--,n.mode=Ei;break;case _c:if(n.wrap){for(;d<32;){if(s===0)break e;s--,u|=r[o++]<<d,d+=8}if(f-=c,e.total_out+=f,n.total+=f,n.wrap&4&&f&&(e.adler=n.check=n.flags?tt(n.check,a,f,i-f):Co(n.check,a,f,i-f)),f=c,n.wrap&4&&(n.flags?u:Gp(u))!==n.check){e.msg="incorrect data check",n.mode=Le;break}u=0,d=0}n.mode=Vp;case Vp:if(n.wrap&&n.flags){for(;d<32;){if(s===0)break e;s--,u+=r[o++]<<d,d+=8}if(n.wrap&4&&u!==(n.total&4294967295)){e.msg="incorrect length check",n.mode=Le;break}u=0,d=0}n.mode=$p;case $p:z=_A;break e;case Le:z=ab;break e;case ib:return ob;case sb:default:return qt}return e.next_out=i,e.avail_out=c,e.next_in=o,e.avail_in=s,n.hold=u,n.bits=d,(n.wsize||f!==e.avail_out&&n.mode<Le&&(n.mode<_c||t!==Ep))&&fb(e,e.output,e.next_out,f-e.avail_out),h-=e.avail_in,f-=e.avail_out,e.total_in+=h,e.total_out+=f,n.total+=f,n.wrap&4&&f&&(e.adler=n.check=n.flags?tt(n.check,a,f,e.next_out-f):Co(n.check,a,f,e.next_out-f)),e.data_type=n.bits+(n.last?64:0)+(n.mode===jn?128:0)+(n.mode===vi||n.mode===kc?256:0),(h===0&&f===0||t===Ep)&&z===Xr&&(z=EA),z},BA=e=>{if(ta(e))return qt;let t=e.state;return t.window&&(t.window=null),e.state=null,Xr},zA=(e,t)=>{if(ta(e))return qt;const n=e.state;return(n.wrap&2)===0?qt:(n.head=t,t.done=!1,Xr)},PA=(e,t)=>{const n=t.length;let r,a,o;return ta(e)||(r=e.state,r.wrap!==0&&r.mode!==ds)?qt:r.mode===ds&&(a=1,a=Co(a,t,n,0),a!==r.check)?ab:(o=fb(e,t,n,n),o?(r.mode=ib,ob):(r.havedict=1,Xr))};var RA=ub,NA=lb,UA=cb,HA=IA,LA=db,DA=OA,FA=BA,MA=zA,qA=PA,VA="pako inflate (from Nodeca project)",Bn={inflateReset:RA,inflateReset2:NA,inflateResetKeep:UA,inflateInit:HA,inflateInit2:LA,inflate:DA,inflateEnd:FA,inflateGetHeader:MA,inflateSetDictionary:qA,inflateInfo:VA};function $A(){this.text=0,this.time=0,this.xflags=0,this.os=0,this.extra=null,this.extra_len=0,this.name="",this.comment="",this.hcrc=0,this.done=!1}var GA=$A;const pb=Object.prototype.toString,{Z_NO_FLUSH:KA,Z_FINISH:WA,Z_OK:zo,Z_STREAM_END:Ac,Z_NEED_DICT:Sc,Z_STREAM_ERROR:XA,Z_DATA_ERROR:Wp,Z_MEM_ERROR:ZA}=As;function Is(e){this.options=js.assign({chunkSize:1024*64,windowBits:15,to:""},e||{});const t=this.options;t.raw&&t.windowBits>=0&&t.windowBits<16&&(t.windowBits=-t.windowBits,t.windowBits===0&&(t.windowBits=-15)),t.windowBits>=0&&t.windowBits<16&&!(e&&e.windowBits)&&(t.windowBits+=32),t.windowBits>15&&t.windowBits<48&&(t.windowBits&15)===0&&(t.windowBits|=15),this.err=0,this.msg="",this.ended=!1,this.chunks=[],this.strm=new eb,this.strm.avail_out=0;let n=Bn.inflateInit2(this.strm,t.windowBits);if(n!==zo)throw new Error(Kr[n]);if(this.header=new GA,Bn.inflateGetHeader(this.strm,this.header),t.dictionary&&(typeof t.dictionary=="string"?t.dictionary=Bo.string2buf(t.dictionary):pb.call(t.dictionary)==="[object ArrayBuffer]"&&(t.dictionary=new Uint8Array(t.dictionary)),t.raw&&(n=Bn.inflateSetDictionary(this.strm,t.dictionary),n!==zo)))throw new Error(Kr[n])}Is.prototype.push=function(e,t){const n=this.strm,r=this.options.chunkSize,a=this.options.dictionary;let o,i,s;if(this.ended)return!1;for(t===~~t?i=t:i=t===!0?WA:KA,pb.call(e)==="[object ArrayBuffer]"?n.input=new Uint8Array(e):n.input=e,n.next_in=0,n.avail_in=n.input.length;;){for(n.avail_out===0&&(n.output=new Uint8Array(r),n.next_out=0,n.avail_out=r),o=Bn.inflate(n,i),o===Sc&&a&&(o=Bn.inflateSetDictionary(n,a),o===zo?o=Bn.inflate(n,i):o===Wp&&(o=Sc));n.avail_in>0&&o===Ac&&n.state.wrap>0&&e[n.next_in]!==0;)Bn.inflateReset(n),o=Bn.inflate(n,i);switch(o){case XA:case Wp:case Sc:case ZA:return this.onEnd(o),this.ended=!0,!1}if(s=n.avail_out,n.next_out&&(n.avail_out===0||o===Ac))if(this.options.to==="string"){let c=Bo.utf8border(n.output,n.next_out),u=n.next_out-c,d=Bo.buf2string(n.output,c);n.next_out=u,n.avail_out=r-u,u&&n.output.set(n.output.subarray(c,c+u),0),this.onData(d)}else this.onData(n.output.length===n.next_out?n.output:n.output.subarray(0,n.next_out));if(!(o===zo&&s===0)){if(o===Ac)return o=Bn.inflateEnd(this.strm),this.onEnd(o),this.ended=!0,!0;if(n.avail_in===0)break}}return!0};Is.prototype.onData=function(e){this.chunks.push(e)};Is.prototype.onEnd=function(e){e===zo&&(this.options.to==="string"?this.result=this.chunks.join(""):this.result=js.flattenChunks(this.chunks)),this.chunks=[],this.err=e,this.msg=this.strm.msg};function YA(e,t){const n=new Is(t);if(n.push(e),n.err)throw n.msg||Kr[n.err];return n.result}var JA=YA,QA={ungzip:JA};const{gzip:eS}=dA,{ungzip:tS}=QA;var nS=eS,rS=tS;class hb extends ud{constructor(t,n){super(),this.finished=!1,this.destroyed=!1,p1(t);const r=ws(n);if(this.iHash=t.create(),typeof this.iHash.update!="function")throw new Error("Expected instance of class which extends utils.Hash");this.blockLen=this.iHash.blockLen,this.outputLen=this.iHash.outputLen;const a=this.blockLen,o=new Uint8Array(a);o.set(r.length>a?t.create().update(r).digest():r);for(let i=0;i<o.length;i++)o[i]^=54;this.iHash.update(o),this.oHash=t.create();for(let i=0;i<o.length;i++)o[i]^=106;this.oHash.update(o),o.fill(0)}update(t){return Sa(this),this.iHash.update(t),this}digestInto(t){Sa(this),Ko(t,this.outputLen),this.finished=!0,this.iHash.digestInto(t),this.oHash.update(t),this.oHash.digestInto(t),this.destroy()}digest(){const t=new Uint8Array(this.oHash.outputLen);return this.digestInto(t),t}_cloneInto(t){t||(t=Object.create(Object.getPrototypeOf(this),{}));const{oHash:n,iHash:r,finished:a,destroyed:o,blockLen:i,outputLen:s}=this;return t=t,t.finished=a,t.destroyed=o,t.blockLen=i,t.outputLen=s,t.oHash=n._cloneInto(t.oHash),t.iHash=r._cloneInto(t.iHash),t}destroy(){this.destroyed=!0,this.oHash.destroy(),this.iHash.destroy()}}const mb=(e,t,n)=>new hb(e,t).update(n).digest();mb.create=(e,t)=>new hb(e,t);/*! noble-curves - MIT License (c) 2022 Paul Miller (paulmillr.com) */function aS(e){return{hash:e,hmac:(t,...n)=>mb(e,t,y1(...n)),randomBytes:b1}}function oS(e,t){const n=r=>O0({...e,...aS(r)});return Object.freeze({...n(t),create:n})}/*! noble-curves - MIT License (c) 2022 Paul Miller (paulmillr.com) */const gb=BigInt("0xfffffffffffffffffffffffffffffffffffffffffffffffffffffffefffffc2f"),Xp=BigInt("0xfffffffffffffffffffffffffffffffebaaedce6af48a03bbfd25e8cd0364141"),iS=BigInt(1),zl=BigInt(2),Zp=(e,t)=>(e+t/zl)/t;function sS(e){const t=gb,n=BigInt(3),r=BigInt(6),a=BigInt(11),o=BigInt(22),i=BigInt(23),s=BigInt(44),c=BigInt(88),u=e*e*e%t,d=u*u*e%t,h=Ht(d,n,t)*d%t,f=Ht(h,n,t)*d%t,l=Ht(f,zl,t)*u%t,g=Ht(l,a,t)*l%t,b=Ht(g,o,t)*g%t,y=Ht(b,s,t)*b%t,_=Ht(y,c,t)*y%t,k=Ht(_,s,t)*b%t,w=Ht(k,n,t)*d%t,v=Ht(w,i,t)*g%t,A=Ht(v,r,t)*u%t,T=Ht(A,zl,t);if(!Pl.eql(Pl.sqr(T),e))throw new Error("Cannot find square root");return T}const Pl=E0(gb,void 0,void 0,{sqrt:sS}),yb=oS({a:BigInt(0),b:BigInt(7),Fp:Pl,n:Xp,Gx:BigInt("55066263022277343669578718895168534326250603453777594175500187360389116729240"),Gy:BigInt("32670510020758816978083085130507043184471273380659243275938904335757337482424"),h:BigInt(1),lowS:!0,endo:{beta:BigInt("0x7ae96a2b657c07106e64479eac3434e99cf0497512f58995c1396c28719501ee"),splitScalar:e=>{const t=Xp,n=BigInt("0x3086d221a7d46bcde86c90e49284eb15"),r=-iS*BigInt("0xe4437ed6010e88286f547fa90abfe4c3"),a=BigInt("0x114ca50f7a8e2f3f657c1108d9d44cfd8"),o=n,i=BigInt("0x100000000000000000000000000000000"),s=Zp(o*e,t),c=Zp(-r*e,t);let u=jt(e-s*n-c*a,t),d=jt(-s*r-c*o,t);const h=u>i,f=d>i;if(h&&(u=t-u),f&&(d=t-d),u>i||d>i)throw new Error("splitScalar: Endomorphism failed, k="+e);return{k1neg:h,k1:u,k2neg:f,k2:d}}}},Hy);BigInt(0);yb.ProjectivePoint;var fs=typeof globalThis<"u"?globalThis:typeof window<"u"?window:typeof global<"u"?global:typeof self<"u"?self:{};function Cs(e){return e&&e.__esModule&&Object.prototype.hasOwnProperty.call(e,"default")?e.default:e}function cS(e){if(Object.prototype.hasOwnProperty.call(e,"__esModule"))return e;var t=e.default;if(typeof t=="function"){var n=function r(){return this instanceof r?Reflect.construct(t,arguments,this.constructor):t.apply(this,arguments)};n.prototype=t.prototype}else n={};return Object.defineProperty(n,"__esModule",{value:!0}),Object.keys(e).forEach(function(r){var a=Object.getOwnPropertyDescriptor(e,r);Object.defineProperty(n,r,a.get?a:{enumerable:!0,get:function(){return e[r]}})}),n}var qe={};const ka=2147483647,pn=36,Cd=1,Po=26,uS=38,lS=700,bb=72,wb=128,kb="-",dS=/^xn--/,fS=/[^\0-\x7F]/,pS=/[\x2E\u3002\uFF0E\uFF61]/g,hS={overflow:"Overflow: input needs wider integers to process","not-basic":"Illegal input >= 0x80 (not a basic code point)","invalid-input":"Invalid input"},jc=pn-Cd,hn=Math.floor,xc=String.fromCharCode;function rr(e){throw new RangeError(hS[e])}function mS(e,t){const n=[];let r=e.length;for(;r--;)n[r]=t(e[r]);return n}function _b(e,t){const n=e.split("@");let r="";n.length>1&&(r=n[0]+"@",e=n[1]),e=e.replace(pS,".");const a=e.split("."),o=mS(a,t).join(".");return r+o}function Od(e){const t=[];let n=0;const r=e.length;for(;n<r;){const a=e.charCodeAt(n++);if(a>=55296&&a<=56319&&n<r){const o=e.charCodeAt(n++);(o&64512)==56320?t.push(((a&1023)<<10)+(o&1023)+65536):(t.push(a),n--)}else t.push(a)}return t}const vb=e=>String.fromCodePoint(...e),gS=function(e){return e>=48&&e<58?26+(e-48):e>=65&&e<91?e-65:e>=97&&e<123?e-97:pn},Yp=function(e,t){return e+22+75*(e<26)-((t!=0)<<5)},Eb=function(e,t,n){let r=0;for(e=n?hn(e/lS):e>>1,e+=hn(e/t);e>jc*Po>>1;r+=pn)e=hn(e/jc);return hn(r+(jc+1)*e/(e+uS))},Bd=function(e){const t=[],n=e.length;let r=0,a=wb,o=bb,i=e.lastIndexOf(kb);i<0&&(i=0);for(let s=0;s<i;++s)e.charCodeAt(s)>=128&&rr("not-basic"),t.push(e.charCodeAt(s));for(let s=i>0?i+1:0;s<n;){const c=r;for(let d=1,h=pn;;h+=pn){s>=n&&rr("invalid-input");const f=gS(e.charCodeAt(s++));f>=pn&&rr("invalid-input"),f>hn((ka-r)/d)&&rr("overflow"),r+=f*d;const l=h<=o?Cd:h>=o+Po?Po:h-o;if(f<l)break;const g=pn-l;d>hn(ka/g)&&rr("overflow"),d*=g}const u=t.length+1;o=Eb(r-c,u,c==0),hn(r/u)>ka-a&&rr("overflow"),a+=hn(r/u),r%=u,t.splice(r++,0,a)}return String.fromCodePoint(...t)},zd=function(e){const t=[];e=Od(e);const n=e.length;let r=wb,a=0,o=bb;for(const c of e)c<128&&t.push(xc(c));const i=t.length;let s=i;for(i&&t.push(kb);s<n;){let c=ka;for(const d of e)d>=r&&d<c&&(c=d);const u=s+1;c-r>hn((ka-a)/u)&&rr("overflow"),a+=(c-r)*u,r=c;for(const d of e)if(d<r&&++a>ka&&rr("overflow"),d===r){let h=a;for(let f=pn;;f+=pn){const l=f<=o?Cd:f>=o+Po?Po:f-o;if(h<l)break;const g=h-l,b=pn-l;t.push(xc(Yp(l+g%b,0))),h=hn(g/b)}t.push(xc(Yp(h,0))),o=Eb(a,u,s===i),a=0,++s}++a,++r}return t.join("")},Ab=function(e){return _b(e,function(t){return dS.test(t)?Bd(t.slice(4).toLowerCase()):t})},Sb=function(e){return _b(e,function(t){return fS.test(t)?"xn--"+zd(t):t})},yS={version:"2.3.1",ucs2:{decode:Od,encode:vb},decode:Bd,encode:zd,toASCII:Sb,toUnicode:Ab},bS=Object.freeze(Object.defineProperty({__proto__:null,decode:Bd,default:yS,encode:zd,toASCII:Sb,toUnicode:Ab,ucs2decode:Od,ucs2encode:vb},Symbol.toStringTag,{value:"Module"})),wS=cS(bS);var Tc,Jp;function kS(){return Jp||(Jp=1,Tc=function(t,n){if(n=n.split(":")[0],t=+t,!t)return!1;switch(n){case"http":case"ws":return t!==80;case"https":case"wss":return t!==443;case"ftp":return t!==21;case"gopher":return t!==70;case"file":return!1}return t!==0}),Tc}var Ai={},Qp;function _S(){if(Qp)return Ai;Qp=1;var e=Object.prototype.hasOwnProperty,t;function n(i){try{return decodeURIComponent(i.replace(/\+/g," "))}catch{return null}}function r(i){try{return encodeURIComponent(i)}catch{return null}}function a(i){for(var s=/([^=?#&]+)=?([^&]*)/g,c={},u;u=s.exec(i);){var d=n(u[1]),h=n(u[2]);d===null||h===null||d in c||(c[d]=h)}return c}function o(i,s){s=s||"";var c=[],u,d;typeof s!="string"&&(s="?");for(d in i)if(e.call(i,d)){if(u=i[d],!u&&(u===null||u===t||isNaN(u))&&(u=""),d=r(d),u=r(u),d===null||u===null)continue;c.push(d+"="+u)}return c.length?s+c.join("&"):""}return Ai.stringify=o,Ai.parse=a,Ai}var Ic,eh;function vS(){if(eh)return Ic;eh=1;var e=kS(),t=_S(),n=/^[\x00-\x20\u00a0\u1680\u2000-\u200a\u2028\u2029\u202f\u205f\u3000\ufeff]+/,r=/[\n\r\t]/g,a=/^[A-Za-z][A-Za-z0-9+-.]*:\/\//,o=/:\d+$/,i=/^([a-z][a-z0-9.+-]*:)?(\/\/)?([\\/]+)?([\S\s]*)/i,s=/^[a-zA-Z]:/;function c(k){return(k||"").toString().replace(n,"")}var u=[["#","hash"],["?","query"],function(w,v){return f(v.protocol)?w.replace(/\\/g,"/"):w},["/","pathname"],["@","auth",1],[NaN,"host",void 0,1,1],[/:(\d*)$/,"port",void 0,1],[NaN,"hostname",void 0,1,1]],d={hash:1,query:1};function h(k){var w;typeof window<"u"?w=window:typeof fs<"u"?w=fs:typeof self<"u"?w=self:w={};var v=w.location||{};k=k||v;var A={},T=typeof k,I;if(k.protocol==="blob:")A=new b(unescape(k.pathname),{});else if(T==="string"){A=new b(k,{});for(I in d)delete A[I]}else if(T==="object"){for(I in k)I in d||(A[I]=k[I]);A.slashes===void 0&&(A.slashes=a.test(k.href))}return A}function f(k){return k==="file:"||k==="ftp:"||k==="http:"||k==="https:"||k==="ws:"||k==="wss:"}function l(k,w){k=c(k),k=k.replace(r,""),w=w||{};var v=i.exec(k),A=v[1]?v[1].toLowerCase():"",T=!!v[2],I=!!v[3],z=0,S;return T?I?(S=v[2]+v[3]+v[4],z=v[2].length+v[3].length):(S=v[2]+v[4],z=v[2].length):I?(S=v[3]+v[4],z=v[3].length):S=v[4],A==="file:"?z>=2&&(S=S.slice(2)):f(A)?S=v[4]:A?T&&(S=S.slice(2)):z>=2&&f(w.protocol)&&(S=v[4]),{protocol:A,slashes:T||f(A),slashesCount:z,rest:S}}function g(k,w){if(k==="")return w;for(var v=(w||"/").split("/").slice(0,-1).concat(k.split("/")),A=v.length,T=v[A-1],I=!1,z=0;A--;)v[A]==="."?v.splice(A,1):v[A]===".."?(v.splice(A,1),z++):z&&(A===0&&(I=!0),v.splice(A,1),z--);return I&&v.unshift(""),(T==="."||T==="..")&&v.push(""),v.join("/")}function b(k,w,v){if(k=c(k),k=k.replace(r,""),!(this instanceof b))return new b(k,w,v);var A,T,I,z,S,B,P=u.slice(),M=typeof w,D=this,R=0;for(M!=="object"&&M!=="string"&&(v=w,w=null),v&&typeof v!="function"&&(v=t.parse),w=h(w),T=l(k||"",w),A=!T.protocol&&!T.slashes,D.slashes=T.slashes||A&&w.slashes,D.protocol=T.protocol||w.protocol||"",k=T.rest,(T.protocol==="file:"&&(T.slashesCount!==2||s.test(k))||!T.slashes&&(T.protocol||T.slashesCount<2||!f(D.protocol)))&&(P[3]=[/(.*)/,"pathname"]);R<P.length;R++){if(z=P[R],typeof z=="function"){k=z(k,D);continue}I=z[0],B=z[1],I!==I?D[B]=k:typeof I=="string"?(S=I==="@"?k.lastIndexOf(I):k.indexOf(I),~S&&(typeof z[2]=="number"?(D[B]=k.slice(0,S),k=k.slice(S+z[2])):(D[B]=k.slice(S),k=k.slice(0,S)))):(S=I.exec(k))&&(D[B]=S[1],k=k.slice(0,S.index)),D[B]=D[B]||A&&z[3]&&w[B]||"",z[4]&&(D[B]=D[B].toLowerCase())}v&&(D.query=v(D.query)),A&&w.slashes&&D.pathname.charAt(0)!=="/"&&(D.pathname!==""||w.pathname!=="")&&(D.pathname=g(D.pathname,w.pathname)),D.pathname.charAt(0)!=="/"&&f(D.protocol)&&(D.pathname="/"+D.pathname),e(D.port,D.protocol)||(D.host=D.hostname,D.port=""),D.username=D.password="",D.auth&&(S=D.auth.indexOf(":"),~S?(D.username=D.auth.slice(0,S),D.username=encodeURIComponent(decodeURIComponent(D.username)),D.password=D.auth.slice(S+1),D.password=encodeURIComponent(decodeURIComponent(D.password))):D.username=encodeURIComponent(decodeURIComponent(D.auth)),D.auth=D.password?D.username+":"+D.password:D.username),D.origin=D.protocol!=="file:"&&f(D.protocol)&&D.host?D.protocol+"//"+D.host:"null",D.href=D.toString()}function y(k,w,v){var A=this;switch(k){case"query":typeof w=="string"&&w.length&&(w=(v||t.parse)(w)),A[k]=w;break;case"port":A[k]=w,e(w,A.protocol)?w&&(A.host=A.hostname+":"+w):(A.host=A.hostname,A[k]="");break;case"hostname":A[k]=w,A.port&&(w+=":"+A.port),A.host=w;break;case"host":A[k]=w,o.test(w)?(w=w.split(":"),A.port=w.pop(),A.hostname=w.join(":")):(A.hostname=w,A.port="");break;case"protocol":A.protocol=w.toLowerCase(),A.slashes=!v;break;case"pathname":case"hash":if(w){var T=k==="pathname"?"/":"#";A[k]=w.charAt(0)!==T?T+w:w}else A[k]=w;break;case"username":case"password":A[k]=encodeURIComponent(w);break;case"auth":var I=w.indexOf(":");~I?(A.username=w.slice(0,I),A.username=encodeURIComponent(decodeURIComponent(A.username)),A.password=w.slice(I+1),A.password=encodeURIComponent(decodeURIComponent(A.password))):A.username=encodeURIComponent(decodeURIComponent(w))}for(var z=0;z<u.length;z++){var S=u[z];S[4]&&(A[S[1]]=A[S[1]].toLowerCase())}return A.auth=A.password?A.username+":"+A.password:A.username,A.origin=A.protocol!=="file:"&&f(A.protocol)&&A.host?A.protocol+"//"+A.host:"null",A.href=A.toString(),A}function _(k){(!k||typeof k!="function")&&(k=t.stringify);var w,v=this,A=v.host,T=v.protocol;T&&T.charAt(T.length-1)!==":"&&(T+=":");var I=T+(v.protocol&&v.slashes||f(v.protocol)?"//":"");return v.username?(I+=v.username,v.password&&(I+=":"+v.password),I+="@"):v.password?(I+=":"+v.password,I+="@"):v.protocol!=="file:"&&f(v.protocol)&&!A&&v.pathname!=="/"&&(I+="@"),(A[A.length-1]===":"||o.test(v.hostname)&&!v.port)&&(A+=":"),I+=A+v.pathname,w=typeof v.query=="object"?k(v.query):v.query,w&&(I+=w.charAt(0)!=="?"?"?"+w:w),v.hash&&(I+=v.hash),I}return b.prototype={set:y,toString:_},b.extractProtocol=l,b.location=h,b.trimLeft=c,b.qs=t,Ic=b,Ic}var Cc={},Oc={},th;function ES(){return th||(th=1,(function(e){Object.defineProperties(e,{__esModule:{value:!0},[Symbol.toStringTag]:{value:"Module"}});function t(y){return y&&y.__esModule&&Object.prototype.hasOwnProperty.call(y,"default")?y.default:y}var n,r;function a(){if(r)return n;r=1;const y=2147483647,_=36,k=1,w=26,v=38,A=700,T=72,I=128,z="-",S=/^xn--/,B=/[^\0-\x7F]/,P=/[\x2E\u3002\uFF0E\uFF61]/g,M={overflow:"Overflow: input needs wider integers to process","not-basic":"Illegal input >= 0x80 (not a basic code point)","invalid-input":"Invalid input"},D=_-k,R=Math.floor,$=String.fromCharCode;function q(te){throw new RangeError(M[te])}function X(te,re){const oe=[];let ae=te.length;for(;ae--;)oe[ae]=re(te[ae]);return oe}function H(te,re){const oe=te.split("@");let ae="";oe.length>1&&(ae=oe[0]+"@",te=oe[1]),te=te.replace(P,".");const se=te.split("."),G=X(se,re).join(".");return ae+G}function C(te){const re=[];let oe=0;const ae=te.length;for(;oe<ae;){const se=te.charCodeAt(oe++);if(se>=55296&&se<=56319&&oe<ae){const G=te.charCodeAt(oe++);(G&64512)==56320?re.push(((se&1023)<<10)+(G&1023)+65536):(re.push(se),oe--)}else re.push(se)}return re}const V=te=>String.fromCodePoint(...te),W=function(te){return te>=48&&te<58?26+(te-48):te>=65&&te<91?te-65:te>=97&&te<123?te-97:_},U=function(te,re){return te+22+75*(te<26)-((re!=0)<<5)},K=function(te,re,oe){let ae=0;for(te=oe?R(te/A):te>>1,te+=R(te/re);te>D*w>>1;ae+=_)te=R(te/D);return R(ae+(D+1)*te/(te+v))},Y=function(te){const re=[],oe=te.length;let ae=0,se=I,G=T,N=te.lastIndexOf(z);N<0&&(N=0);for(let L=0;L<N;++L)te.charCodeAt(L)>=128&&q("not-basic"),re.push(te.charCodeAt(L));for(let L=N>0?N+1:0;L<oe;){const J=ae;for(let ce=1,fe=_;;fe+=_){L>=oe&&q("invalid-input");const ge=W(te.charCodeAt(L++));ge>=_&&q("invalid-input"),ge>R((y-ae)/ce)&&q("overflow"),ae+=ge*ce;const Q=fe<=G?k:fe>=G+w?w:fe-G;if(ge<Q)break;const ke=_-Q;ce>R(y/ke)&&q("overflow"),ce*=ke}const Z=re.length+1;G=K(ae-J,Z,J==0),R(ae/Z)>y-se&&q("overflow"),se+=R(ae/Z),ae%=Z,re.splice(ae++,0,se)}return String.fromCodePoint(...re)},de=function(te){const re=[];te=C(te);const oe=te.length;let ae=I,se=0,G=T;for(const J of te)J<128&&re.push($(J));const N=re.length;let L=N;for(N&&re.push(z);L<oe;){let J=y;for(const ce of te)ce>=ae&&ce<J&&(J=ce);const Z=L+1;J-ae>R((y-se)/Z)&&q("overflow"),se+=(J-ae)*Z,ae=J;for(const ce of te)if(ce<ae&&++se>y&&q("overflow"),ce===ae){let fe=se;for(let ge=_;;ge+=_){const Q=ge<=G?k:ge>=G+w?w:ge-G;if(fe<Q)break;const ke=fe-Q,me=_-Q;re.push($(U(Q+ke%me,0))),fe=R(ke/me)}re.push($(U(fe,0))),G=K(se,Z,L===N),se=0,++L}++se,++ae}return re.join("")};return n={version:"2.3.1",ucs2:{decode:C,encode:V},decode:Y,encode:de,toASCII:function(te){return H(te,function(re){return B.test(re)?"xn--"+de(re):re})},toUnicode:function(te){return H(te,function(re){return S.test(re)?Y(re.slice(4).toLowerCase()):re})}},n}var o=a();const i=t(o),s=["ac","com.ac","edu.ac","gov.ac","mil.ac","net.ac","org.ac","ad","ae","ac.ae","co.ae","gov.ae","mil.ae","net.ae","org.ae","sch.ae","aero","airline.aero","airport.aero","accident-investigation.aero","accident-prevention.aero","aerobatic.aero","aeroclub.aero","aerodrome.aero","agents.aero","air-surveillance.aero","air-traffic-control.aero","aircraft.aero","airtraffic.aero","ambulance.aero","association.aero","author.aero","ballooning.aero","broker.aero","caa.aero","cargo.aero","catering.aero","certification.aero","championship.aero","charter.aero","civilaviation.aero","club.aero","conference.aero","consultant.aero","consulting.aero","control.aero","council.aero","crew.aero","design.aero","dgca.aero","educator.aero","emergency.aero","engine.aero","engineer.aero","entertainment.aero","equipment.aero","exchange.aero","express.aero","federation.aero","flight.aero","freight.aero","fuel.aero","gliding.aero","government.aero","groundhandling.aero","group.aero","hanggliding.aero","homebuilt.aero","insurance.aero","journal.aero","journalist.aero","leasing.aero","logistics.aero","magazine.aero","maintenance.aero","marketplace.aero","media.aero","microlight.aero","modelling.aero","navigation.aero","parachuting.aero","paragliding.aero","passenger-association.aero","pilot.aero","press.aero","production.aero","recreation.aero","repbody.aero","res.aero","research.aero","rotorcraft.aero","safety.aero","scientist.aero","services.aero","show.aero","skydiving.aero","software.aero","student.aero","taxi.aero","trader.aero","trading.aero","trainer.aero","union.aero","workinggroup.aero","works.aero","af","com.af","edu.af","gov.af","net.af","org.af","ag","co.ag","com.ag","net.ag","nom.ag","org.ag","ai","com.ai","net.ai","off.ai","org.ai","al","com.al","edu.al","gov.al","mil.al","net.al","org.al","am","co.am","com.am","commune.am","net.am","org.am","ao","co.ao","ed.ao","edu.ao","gov.ao","gv.ao","it.ao","og.ao","org.ao","pb.ao","aq","ar","bet.ar","com.ar","coop.ar","edu.ar","gob.ar","gov.ar","int.ar","mil.ar","musica.ar","mutual.ar","net.ar","org.ar","senasa.ar","tur.ar","arpa","e164.arpa","home.arpa","in-addr.arpa","ip6.arpa","iris.arpa","uri.arpa","urn.arpa","as","gov.as","asia","at","ac.at","sth.ac.at","co.at","gv.at","or.at","au","asn.au","com.au","edu.au","gov.au","id.au","net.au","org.au","conf.au","oz.au","act.au","nsw.au","nt.au","qld.au","sa.au","tas.au","vic.au","wa.au","act.edu.au","catholic.edu.au","nsw.edu.au","nt.edu.au","qld.edu.au","sa.edu.au","tas.edu.au","vic.edu.au","wa.edu.au","qld.gov.au","sa.gov.au","tas.gov.au","vic.gov.au","wa.gov.au","schools.nsw.edu.au","aw","com.aw","ax","az","biz.az","com.az","edu.az","gov.az","info.az","int.az","mil.az","name.az","net.az","org.az","pp.az","pro.az","ba","com.ba","edu.ba","gov.ba","mil.ba","net.ba","org.ba","bb","biz.bb","co.bb","com.bb","edu.bb","gov.bb","info.bb","net.bb","org.bb","store.bb","tv.bb","*.bd","be","ac.be","bf","gov.bf","bg","0.bg","1.bg","2.bg","3.bg","4.bg","5.bg","6.bg","7.bg","8.bg","9.bg","a.bg","b.bg","c.bg","d.bg","e.bg","f.bg","g.bg","h.bg","i.bg","j.bg","k.bg","l.bg","m.bg","n.bg","o.bg","p.bg","q.bg","r.bg","s.bg","t.bg","u.bg","v.bg","w.bg","x.bg","y.bg","z.bg","bh","com.bh","edu.bh","gov.bh","net.bh","org.bh","bi","co.bi","com.bi","edu.bi","or.bi","org.bi","biz","bj","africa.bj","agro.bj","architectes.bj","assur.bj","avocats.bj","co.bj","com.bj","eco.bj","econo.bj","edu.bj","info.bj","loisirs.bj","money.bj","net.bj","org.bj","ote.bj","restaurant.bj","resto.bj","tourism.bj","univ.bj","bm","com.bm","edu.bm","gov.bm","net.bm","org.bm","bn","com.bn","edu.bn","gov.bn","net.bn","org.bn","bo","com.bo","edu.bo","gob.bo","int.bo","mil.bo","net.bo","org.bo","tv.bo","web.bo","academia.bo","agro.bo","arte.bo","blog.bo","bolivia.bo","ciencia.bo","cooperativa.bo","democracia.bo","deporte.bo","ecologia.bo","economia.bo","empresa.bo","indigena.bo","industria.bo","info.bo","medicina.bo","movimiento.bo","musica.bo","natural.bo","nombre.bo","noticias.bo","patria.bo","plurinacional.bo","politica.bo","profesional.bo","pueblo.bo","revista.bo","salud.bo","tecnologia.bo","tksat.bo","transporte.bo","wiki.bo","br","9guacu.br","abc.br","adm.br","adv.br","agr.br","aju.br","am.br","anani.br","aparecida.br","app.br","arq.br","art.br","ato.br","b.br","barueri.br","belem.br","bet.br","bhz.br","bib.br","bio.br","blog.br","bmd.br","boavista.br","bsb.br","campinagrande.br","campinas.br","caxias.br","cim.br","cng.br","cnt.br","com.br","contagem.br","coop.br","coz.br","cri.br","cuiaba.br","curitiba.br","def.br","des.br","det.br","dev.br","ecn.br","eco.br","edu.br","emp.br","enf.br","eng.br","esp.br","etc.br","eti.br","far.br","feira.br","flog.br","floripa.br","fm.br","fnd.br","fortal.br","fot.br","foz.br","fst.br","g12.br","geo.br","ggf.br","goiania.br","gov.br","ac.gov.br","al.gov.br","am.gov.br","ap.gov.br","ba.gov.br","ce.gov.br","df.gov.br","es.gov.br","go.gov.br","ma.gov.br","mg.gov.br","ms.gov.br","mt.gov.br","pa.gov.br","pb.gov.br","pe.gov.br","pi.gov.br","pr.gov.br","rj.gov.br","rn.gov.br","ro.gov.br","rr.gov.br","rs.gov.br","sc.gov.br","se.gov.br","sp.gov.br","to.gov.br","gru.br","imb.br","ind.br","inf.br","jab.br","jampa.br","jdf.br","joinville.br","jor.br","jus.br","leg.br","leilao.br","lel.br","log.br","londrina.br","macapa.br","maceio.br","manaus.br","maringa.br","mat.br","med.br","mil.br","morena.br","mp.br","mus.br","natal.br","net.br","niteroi.br","*.nom.br","not.br","ntr.br","odo.br","ong.br","org.br","osasco.br","palmas.br","poa.br","ppg.br","pro.br","psc.br","psi.br","pvh.br","qsl.br","radio.br","rec.br","recife.br","rep.br","ribeirao.br","rio.br","riobranco.br","riopreto.br","salvador.br","sampa.br","santamaria.br","santoandre.br","saobernardo.br","saogonca.br","seg.br","sjc.br","slg.br","slz.br","sorocaba.br","srv.br","taxi.br","tc.br","tec.br","teo.br","the.br","tmp.br","trd.br","tur.br","tv.br","udi.br","vet.br","vix.br","vlog.br","wiki.br","zlg.br","bs","com.bs","edu.bs","gov.bs","net.bs","org.bs","bt","com.bt","edu.bt","gov.bt","net.bt","org.bt","bv","bw","co.bw","org.bw","by","gov.by","mil.by","com.by","of.by","bz","co.bz","com.bz","edu.bz","gov.bz","net.bz","org.bz","ca","ab.ca","bc.ca","mb.ca","nb.ca","nf.ca","nl.ca","ns.ca","nt.ca","nu.ca","on.ca","pe.ca","qc.ca","sk.ca","yk.ca","gc.ca","cat","cc","cd","gov.cd","cf","cg","ch","ci","ac.ci","aéroport.ci","asso.ci","co.ci","com.ci","ed.ci","edu.ci","go.ci","gouv.ci","int.ci","net.ci","or.ci","org.ci","*.ck","!www.ck","cl","co.cl","gob.cl","gov.cl","mil.cl","cm","co.cm","com.cm","gov.cm","net.cm","cn","ac.cn","com.cn","edu.cn","gov.cn","mil.cn","net.cn","org.cn","公司.cn","網絡.cn","网络.cn","ah.cn","bj.cn","cq.cn","fj.cn","gd.cn","gs.cn","gx.cn","gz.cn","ha.cn","hb.cn","he.cn","hi.cn","hk.cn","hl.cn","hn.cn","jl.cn","js.cn","jx.cn","ln.cn","mo.cn","nm.cn","nx.cn","qh.cn","sc.cn","sd.cn","sh.cn","sn.cn","sx.cn","tj.cn","tw.cn","xj.cn","xz.cn","yn.cn","zj.cn","co","com.co","edu.co","gov.co","mil.co","net.co","nom.co","org.co","com","coop","cr","ac.cr","co.cr","ed.cr","fi.cr","go.cr","or.cr","sa.cr","cu","com.cu","edu.cu","gob.cu","inf.cu","nat.cu","net.cu","org.cu","cv","com.cv","edu.cv","id.cv","int.cv","net.cv","nome.cv","org.cv","publ.cv","cw","com.cw","edu.cw","net.cw","org.cw","cx","gov.cx","cy","ac.cy","biz.cy","com.cy","ekloges.cy","gov.cy","ltd.cy","mil.cy","net.cy","org.cy","press.cy","pro.cy","tm.cy","cz","de","dj","dk","dm","co.dm","com.dm","edu.dm","gov.dm","net.dm","org.dm","do","art.do","com.do","edu.do","gob.do","gov.do","mil.do","net.do","org.do","sld.do","web.do","dz","art.dz","asso.dz","com.dz","edu.dz","gov.dz","net.dz","org.dz","pol.dz","soc.dz","tm.dz","ec","com.ec","edu.ec","fin.ec","gob.ec","gov.ec","info.ec","k12.ec","med.ec","mil.ec","net.ec","org.ec","pro.ec","edu","ee","aip.ee","com.ee","edu.ee","fie.ee","gov.ee","lib.ee","med.ee","org.ee","pri.ee","riik.ee","eg","ac.eg","com.eg","edu.eg","eun.eg","gov.eg","info.eg","me.eg","mil.eg","name.eg","net.eg","org.eg","sci.eg","sport.eg","tv.eg","*.er","es","com.es","edu.es","gob.es","nom.es","org.es","et","biz.et","com.et","edu.et","gov.et","info.et","name.et","net.et","org.et","eu","fi","aland.fi","fj","ac.fj","biz.fj","com.fj","gov.fj","info.fj","mil.fj","name.fj","net.fj","org.fj","pro.fj","*.fk","fm","com.fm","edu.fm","net.fm","org.fm","fo","fr","asso.fr","com.fr","gouv.fr","nom.fr","prd.fr","tm.fr","avoues.fr","cci.fr","greta.fr","huissier-justice.fr","ga","gb","gd","edu.gd","gov.gd","ge","com.ge","edu.ge","gov.ge","net.ge","org.ge","pvt.ge","school.ge","gf","gg","co.gg","net.gg","org.gg","gh","com.gh","edu.gh","gov.gh","mil.gh","org.gh","gi","com.gi","edu.gi","gov.gi","ltd.gi","mod.gi","org.gi","gl","co.gl","com.gl","edu.gl","net.gl","org.gl","gm","gn","ac.gn","com.gn","edu.gn","gov.gn","net.gn","org.gn","gov","gp","asso.gp","com.gp","edu.gp","mobi.gp","net.gp","org.gp","gq","gr","com.gr","edu.gr","gov.gr","net.gr","org.gr","gs","gt","com.gt","edu.gt","gob.gt","ind.gt","mil.gt","net.gt","org.gt","gu","com.gu","edu.gu","gov.gu","guam.gu","info.gu","net.gu","org.gu","web.gu","gw","gy","co.gy","com.gy","edu.gy","gov.gy","net.gy","org.gy","hk","com.hk","edu.hk","gov.hk","idv.hk","net.hk","org.hk","个人.hk","個人.hk","公司.hk","政府.hk","敎育.hk","教育.hk","箇人.hk","組織.hk","組织.hk","網絡.hk","網络.hk","组織.hk","组织.hk","网絡.hk","网络.hk","hm","hn","com.hn","edu.hn","gob.hn","mil.hn","net.hn","org.hn","hr","com.hr","from.hr","iz.hr","name.hr","ht","adult.ht","art.ht","asso.ht","com.ht","coop.ht","edu.ht","firm.ht","gouv.ht","info.ht","med.ht","net.ht","org.ht","perso.ht","pol.ht","pro.ht","rel.ht","shop.ht","hu","2000.hu","agrar.hu","bolt.hu","casino.hu","city.hu","co.hu","erotica.hu","erotika.hu","film.hu","forum.hu","games.hu","hotel.hu","info.hu","ingatlan.hu","jogasz.hu","konyvelo.hu","lakas.hu","media.hu","news.hu","org.hu","priv.hu","reklam.hu","sex.hu","shop.hu","sport.hu","suli.hu","szex.hu","tm.hu","tozsde.hu","utazas.hu","video.hu","id","ac.id","biz.id","co.id","desa.id","go.id","mil.id","my.id","net.id","or.id","ponpes.id","sch.id","web.id","ie","gov.ie","il","ac.il","co.il","gov.il","idf.il","k12.il","muni.il","net.il","org.il","ישראל","אקדמיה.ישראל","ישוב.ישראל","צהל.ישראל","ממשל.ישראל","im","ac.im","co.im","ltd.co.im","plc.co.im","com.im","net.im","org.im","tt.im","tv.im","in","5g.in","6g.in","ac.in","ai.in","am.in","bihar.in","biz.in","business.in","ca.in","cn.in","co.in","com.in","coop.in","cs.in","delhi.in","dr.in","edu.in","er.in","firm.in","gen.in","gov.in","gujarat.in","ind.in","info.in","int.in","internet.in","io.in","me.in","mil.in","net.in","nic.in","org.in","pg.in","post.in","pro.in","res.in","travel.in","tv.in","uk.in","up.in","us.in","info","int","eu.int","io","co.io","com.io","edu.io","gov.io","mil.io","net.io","nom.io","org.io","iq","com.iq","edu.iq","gov.iq","mil.iq","net.iq","org.iq","ir","ac.ir","co.ir","gov.ir","id.ir","net.ir","org.ir","sch.ir","ایران.ir","ايران.ir","is","it","edu.it","gov.it","abr.it","abruzzo.it","aosta-valley.it","aostavalley.it","bas.it","basilicata.it","cal.it","calabria.it","cam.it","campania.it","emilia-romagna.it","emiliaromagna.it","emr.it","friuli-v-giulia.it","friuli-ve-giulia.it","friuli-vegiulia.it","friuli-venezia-giulia.it","friuli-veneziagiulia.it","friuli-vgiulia.it","friuliv-giulia.it","friulive-giulia.it","friulivegiulia.it","friulivenezia-giulia.it","friuliveneziagiulia.it","friulivgiulia.it","fvg.it","laz.it","lazio.it","lig.it","liguria.it","lom.it","lombardia.it","lombardy.it","lucania.it","mar.it","marche.it","mol.it","molise.it","piedmont.it","piemonte.it","pmn.it","pug.it","puglia.it","sar.it","sardegna.it","sardinia.it","sic.it","sicilia.it","sicily.it","taa.it","tos.it","toscana.it","trentin-sud-tirol.it","trentin-süd-tirol.it","trentin-sudtirol.it","trentin-südtirol.it","trentin-sued-tirol.it","trentin-suedtirol.it","trentino.it","trentino-a-adige.it","trentino-aadige.it","trentino-alto-adige.it","trentino-altoadige.it","trentino-s-tirol.it","trentino-stirol.it","trentino-sud-tirol.it","trentino-süd-tirol.it","trentino-sudtirol.it","trentino-südtirol.it","trentino-sued-tirol.it","trentino-suedtirol.it","trentinoa-adige.it","trentinoaadige.it","trentinoalto-adige.it","trentinoaltoadige.it","trentinos-tirol.it","trentinostirol.it","trentinosud-tirol.it","trentinosüd-tirol.it","trentinosudtirol.it","trentinosüdtirol.it","trentinosued-tirol.it","trentinosuedtirol.it","trentinsud-tirol.it","trentinsüd-tirol.it","trentinsudtirol.it","trentinsüdtirol.it","trentinsued-tirol.it","trentinsuedtirol.it","tuscany.it","umb.it","umbria.it","val-d-aosta.it","val-daosta.it","vald-aosta.it","valdaosta.it","valle-aosta.it","valle-d-aosta.it","valle-daosta.it","valleaosta.it","valled-aosta.it","valledaosta.it","vallee-aoste.it","vallée-aoste.it","vallee-d-aoste.it","vallée-d-aoste.it","valleeaoste.it","valléeaoste.it","valleedaoste.it","valléedaoste.it","vao.it","vda.it","ven.it","veneto.it","ag.it","agrigento.it","al.it","alessandria.it","alto-adige.it","altoadige.it","an.it","ancona.it","andria-barletta-trani.it","andria-trani-barletta.it","andriabarlettatrani.it","andriatranibarletta.it","ao.it","aosta.it","aoste.it","ap.it","aq.it","aquila.it","ar.it","arezzo.it","ascoli-piceno.it","ascolipiceno.it","asti.it","at.it","av.it","avellino.it","ba.it","balsan.it","balsan-sudtirol.it","balsan-südtirol.it","balsan-suedtirol.it","bari.it","barletta-trani-andria.it","barlettatraniandria.it","belluno.it","benevento.it","bergamo.it","bg.it","bi.it","biella.it","bl.it","bn.it","bo.it","bologna.it","bolzano.it","bolzano-altoadige.it","bozen.it","bozen-sudtirol.it","bozen-südtirol.it","bozen-suedtirol.it","br.it","brescia.it","brindisi.it","bs.it","bt.it","bulsan.it","bulsan-sudtirol.it","bulsan-südtirol.it","bulsan-suedtirol.it","bz.it","ca.it","cagliari.it","caltanissetta.it","campidano-medio.it","campidanomedio.it","campobasso.it","carbonia-iglesias.it","carboniaiglesias.it","carrara-massa.it","carraramassa.it","caserta.it","catania.it","catanzaro.it","cb.it","ce.it","cesena-forli.it","cesena-forlì.it","cesenaforli.it","cesenaforlì.it","ch.it","chieti.it","ci.it","cl.it","cn.it","co.it","como.it","cosenza.it","cr.it","cremona.it","crotone.it","cs.it","ct.it","cuneo.it","cz.it","dell-ogliastra.it","dellogliastra.it","en.it","enna.it","fc.it","fe.it","fermo.it","ferrara.it","fg.it","fi.it","firenze.it","florence.it","fm.it","foggia.it","forli-cesena.it","forlì-cesena.it","forlicesena.it","forlìcesena.it","fr.it","frosinone.it","ge.it","genoa.it","genova.it","go.it","gorizia.it","gr.it","grosseto.it","iglesias-carbonia.it","iglesiascarbonia.it","im.it","imperia.it","is.it","isernia.it","kr.it","la-spezia.it","laquila.it","laspezia.it","latina.it","lc.it","le.it","lecce.it","lecco.it","li.it","livorno.it","lo.it","lodi.it","lt.it","lu.it","lucca.it","macerata.it","mantova.it","massa-carrara.it","massacarrara.it","matera.it","mb.it","mc.it","me.it","medio-campidano.it","mediocampidano.it","messina.it","mi.it","milan.it","milano.it","mn.it","mo.it","modena.it","monza.it","monza-brianza.it","monza-e-della-brianza.it","monzabrianza.it","monzaebrianza.it","monzaedellabrianza.it","ms.it","mt.it","na.it","naples.it","napoli.it","no.it","novara.it","nu.it","nuoro.it","og.it","ogliastra.it","olbia-tempio.it","olbiatempio.it","or.it","oristano.it","ot.it","pa.it","padova.it","padua.it","palermo.it","parma.it","pavia.it","pc.it","pd.it","pe.it","perugia.it","pesaro-urbino.it","pesarourbino.it","pescara.it","pg.it","pi.it","piacenza.it","pisa.it","pistoia.it","pn.it","po.it","pordenone.it","potenza.it","pr.it","prato.it","pt.it","pu.it","pv.it","pz.it","ra.it","ragusa.it","ravenna.it","rc.it","re.it","reggio-calabria.it","reggio-emilia.it","reggiocalabria.it","reggioemilia.it","rg.it","ri.it","rieti.it","rimini.it","rm.it","rn.it","ro.it","roma.it","rome.it","rovigo.it","sa.it","salerno.it","sassari.it","savona.it","si.it","siena.it","siracusa.it","so.it","sondrio.it","sp.it","sr.it","ss.it","südtirol.it","suedtirol.it","sv.it","ta.it","taranto.it","te.it","tempio-olbia.it","tempioolbia.it","teramo.it","terni.it","tn.it","to.it","torino.it","tp.it","tr.it","trani-andria-barletta.it","trani-barletta-andria.it","traniandriabarletta.it","tranibarlettaandria.it","trapani.it","trento.it","treviso.it","trieste.it","ts.it","turin.it","tv.it","ud.it","udine.it","urbino-pesaro.it","urbinopesaro.it","va.it","varese.it","vb.it","vc.it","ve.it","venezia.it","venice.it","verbania.it","vercelli.it","verona.it","vi.it","vibo-valentia.it","vibovalentia.it","vicenza.it","viterbo.it","vr.it","vs.it","vt.it","vv.it","je","co.je","net.je","org.je","*.jm","jo","agri.jo","ai.jo","com.jo","edu.jo","eng.jo","fm.jo","gov.jo","mil.jo","net.jo","org.jo","per.jo","phd.jo","sch.jo","tv.jo","jobs","jp","ac.jp","ad.jp","co.jp","ed.jp","go.jp","gr.jp","lg.jp","ne.jp","or.jp","aichi.jp","akita.jp","aomori.jp","chiba.jp","ehime.jp","fukui.jp","fukuoka.jp","fukushima.jp","gifu.jp","gunma.jp","hiroshima.jp","hokkaido.jp","hyogo.jp","ibaraki.jp","ishikawa.jp","iwate.jp","kagawa.jp","kagoshima.jp","kanagawa.jp","kochi.jp","kumamoto.jp","kyoto.jp","mie.jp","miyagi.jp","miyazaki.jp","nagano.jp","nagasaki.jp","nara.jp","niigata.jp","oita.jp","okayama.jp","okinawa.jp","osaka.jp","saga.jp","saitama.jp","shiga.jp","shimane.jp","shizuoka.jp","tochigi.jp","tokushima.jp","tokyo.jp","tottori.jp","toyama.jp","wakayama.jp","yamagata.jp","yamaguchi.jp","yamanashi.jp","三重.jp","京都.jp","佐賀.jp","兵庫.jp","北海道.jp","千葉.jp","和歌山.jp","埼玉.jp","大分.jp","大阪.jp","奈良.jp","宮城.jp","宮崎.jp","富山.jp","山口.jp","山形.jp","山梨.jp","岐阜.jp","岡山.jp","岩手.jp","島根.jp","広島.jp","徳島.jp","愛媛.jp","愛知.jp","新潟.jp","東京.jp","栃木.jp","沖縄.jp","滋賀.jp","熊本.jp","石川.jp","神奈川.jp","福井.jp","福岡.jp","福島.jp","秋田.jp","群馬.jp","茨城.jp","長崎.jp","長野.jp","青森.jp","静岡.jp","香川.jp","高知.jp","鳥取.jp","鹿児島.jp","*.kawasaki.jp","!city.kawasaki.jp","*.kitakyushu.jp","!city.kitakyushu.jp","*.kobe.jp","!city.kobe.jp","*.nagoya.jp","!city.nagoya.jp","*.sapporo.jp","!city.sapporo.jp","*.sendai.jp","!city.sendai.jp","*.yokohama.jp","!city.yokohama.jp","aisai.aichi.jp","ama.aichi.jp","anjo.aichi.jp","asuke.aichi.jp","chiryu.aichi.jp","chita.aichi.jp","fuso.aichi.jp","gamagori.aichi.jp","handa.aichi.jp","hazu.aichi.jp","hekinan.aichi.jp","higashiura.aichi.jp","ichinomiya.aichi.jp","inazawa.aichi.jp","inuyama.aichi.jp","isshiki.aichi.jp","iwakura.aichi.jp","kanie.aichi.jp","kariya.aichi.jp","kasugai.aichi.jp","kira.aichi.jp","kiyosu.aichi.jp","komaki.aichi.jp","konan.aichi.jp","kota.aichi.jp","mihama.aichi.jp","miyoshi.aichi.jp","nishio.aichi.jp","nisshin.aichi.jp","obu.aichi.jp","oguchi.aichi.jp","oharu.aichi.jp","okazaki.aichi.jp","owariasahi.aichi.jp","seto.aichi.jp","shikatsu.aichi.jp","shinshiro.aichi.jp","shitara.aichi.jp","tahara.aichi.jp","takahama.aichi.jp","tobishima.aichi.jp","toei.aichi.jp","togo.aichi.jp","tokai.aichi.jp","tokoname.aichi.jp","toyoake.aichi.jp","toyohashi.aichi.jp","toyokawa.aichi.jp","toyone.aichi.jp","toyota.aichi.jp","tsushima.aichi.jp","yatomi.aichi.jp","akita.akita.jp","daisen.akita.jp","fujisato.akita.jp","gojome.akita.jp","hachirogata.akita.jp","happou.akita.jp","higashinaruse.akita.jp","honjo.akita.jp","honjyo.akita.jp","ikawa.akita.jp","kamikoani.akita.jp","kamioka.akita.jp","katagami.akita.jp","kazuno.akita.jp","kitaakita.akita.jp","kosaka.akita.jp","kyowa.akita.jp","misato.akita.jp","mitane.akita.jp","moriyoshi.akita.jp","nikaho.akita.jp","noshiro.akita.jp","odate.akita.jp","oga.akita.jp","ogata.akita.jp","semboku.akita.jp","yokote.akita.jp","yurihonjo.akita.jp","aomori.aomori.jp","gonohe.aomori.jp","hachinohe.aomori.jp","hashikami.aomori.jp","hiranai.aomori.jp","hirosaki.aomori.jp","itayanagi.aomori.jp","kuroishi.aomori.jp","misawa.aomori.jp","mutsu.aomori.jp","nakadomari.aomori.jp","noheji.aomori.jp","oirase.aomori.jp","owani.aomori.jp","rokunohe.aomori.jp","sannohe.aomori.jp","shichinohe.aomori.jp","shingo.aomori.jp","takko.aomori.jp","towada.aomori.jp","tsugaru.aomori.jp","tsuruta.aomori.jp","abiko.chiba.jp","asahi.chiba.jp","chonan.chiba.jp","chosei.chiba.jp","choshi.chiba.jp","chuo.chiba.jp","funabashi.chiba.jp","futtsu.chiba.jp","hanamigawa.chiba.jp","ichihara.chiba.jp","ichikawa.chiba.jp","ichinomiya.chiba.jp","inzai.chiba.jp","isumi.chiba.jp","kamagaya.chiba.jp","kamogawa.chiba.jp","kashiwa.chiba.jp","katori.chiba.jp","katsuura.chiba.jp","kimitsu.chiba.jp","kisarazu.chiba.jp","kozaki.chiba.jp","kujukuri.chiba.jp","kyonan.chiba.jp","matsudo.chiba.jp","midori.chiba.jp","mihama.chiba.jp","minamiboso.chiba.jp","mobara.chiba.jp","mutsuzawa.chiba.jp","nagara.chiba.jp","nagareyama.chiba.jp","narashino.chiba.jp","narita.chiba.jp","noda.chiba.jp","oamishirasato.chiba.jp","omigawa.chiba.jp","onjuku.chiba.jp","otaki.chiba.jp","sakae.chiba.jp","sakura.chiba.jp","shimofusa.chiba.jp","shirako.chiba.jp","shiroi.chiba.jp","shisui.chiba.jp","sodegaura.chiba.jp","sosa.chiba.jp","tako.chiba.jp","tateyama.chiba.jp","togane.chiba.jp","tohnosho.chiba.jp","tomisato.chiba.jp","urayasu.chiba.jp","yachimata.chiba.jp","yachiyo.chiba.jp","yokaichiba.chiba.jp","yokoshibahikari.chiba.jp","yotsukaido.chiba.jp","ainan.ehime.jp","honai.ehime.jp","ikata.ehime.jp","imabari.ehime.jp","iyo.ehime.jp","kamijima.ehime.jp","kihoku.ehime.jp","kumakogen.ehime.jp","masaki.ehime.jp","matsuno.ehime.jp","matsuyama.ehime.jp","namikata.ehime.jp","niihama.ehime.jp","ozu.ehime.jp","saijo.ehime.jp","seiyo.ehime.jp","shikokuchuo.ehime.jp","tobe.ehime.jp","toon.ehime.jp","uchiko.ehime.jp","uwajima.ehime.jp","yawatahama.ehime.jp","echizen.fukui.jp","eiheiji.fukui.jp","fukui.fukui.jp","ikeda.fukui.jp","katsuyama.fukui.jp","mihama.fukui.jp","minamiechizen.fukui.jp","obama.fukui.jp","ohi.fukui.jp","ono.fukui.jp","sabae.fukui.jp","sakai.fukui.jp","takahama.fukui.jp","tsuruga.fukui.jp","wakasa.fukui.jp","ashiya.fukuoka.jp","buzen.fukuoka.jp","chikugo.fukuoka.jp","chikuho.fukuoka.jp","chikujo.fukuoka.jp","chikushino.fukuoka.jp","chikuzen.fukuoka.jp","chuo.fukuoka.jp","dazaifu.fukuoka.jp","fukuchi.fukuoka.jp","hakata.fukuoka.jp","higashi.fukuoka.jp","hirokawa.fukuoka.jp","hisayama.fukuoka.jp","iizuka.fukuoka.jp","inatsuki.fukuoka.jp","kaho.fukuoka.jp","kasuga.fukuoka.jp","kasuya.fukuoka.jp","kawara.fukuoka.jp","keisen.fukuoka.jp","koga.fukuoka.jp","kurate.fukuoka.jp","kurogi.fukuoka.jp","kurume.fukuoka.jp","minami.fukuoka.jp","miyako.fukuoka.jp","miyama.fukuoka.jp","miyawaka.fukuoka.jp","mizumaki.fukuoka.jp","munakata.fukuoka.jp","nakagawa.fukuoka.jp","nakama.fukuoka.jp","nishi.fukuoka.jp","nogata.fukuoka.jp","ogori.fukuoka.jp","okagaki.fukuoka.jp","okawa.fukuoka.jp","oki.fukuoka.jp","omuta.fukuoka.jp","onga.fukuoka.jp","onojo.fukuoka.jp","oto.fukuoka.jp","saigawa.fukuoka.jp","sasaguri.fukuoka.jp","shingu.fukuoka.jp","shinyoshitomi.fukuoka.jp","shonai.fukuoka.jp","soeda.fukuoka.jp","sue.fukuoka.jp","tachiarai.fukuoka.jp","tagawa.fukuoka.jp","takata.fukuoka.jp","toho.fukuoka.jp","toyotsu.fukuoka.jp","tsuiki.fukuoka.jp","ukiha.fukuoka.jp","umi.fukuoka.jp","usui.fukuoka.jp","yamada.fukuoka.jp","yame.fukuoka.jp","yanagawa.fukuoka.jp","yukuhashi.fukuoka.jp","aizubange.fukushima.jp","aizumisato.fukushima.jp","aizuwakamatsu.fukushima.jp","asakawa.fukushima.jp","bandai.fukushima.jp","date.fukushima.jp","fukushima.fukushima.jp","furudono.fukushima.jp","futaba.fukushima.jp","hanawa.fukushima.jp","higashi.fukushima.jp","hirata.fukushima.jp","hirono.fukushima.jp","iitate.fukushima.jp","inawashiro.fukushima.jp","ishikawa.fukushima.jp","iwaki.fukushima.jp","izumizaki.fukushima.jp","kagamiishi.fukushima.jp","kaneyama.fukushima.jp","kawamata.fukushima.jp","kitakata.fukushima.jp","kitashiobara.fukushima.jp","koori.fukushima.jp","koriyama.fukushima.jp","kunimi.fukushima.jp","miharu.fukushima.jp","mishima.fukushima.jp","namie.fukushima.jp","nango.fukushima.jp","nishiaizu.fukushima.jp","nishigo.fukushima.jp","okuma.fukushima.jp","omotego.fukushima.jp","ono.fukushima.jp","otama.fukushima.jp","samegawa.fukushima.jp","shimogo.fukushima.jp","shirakawa.fukushima.jp","showa.fukushima.jp","soma.fukushima.jp","sukagawa.fukushima.jp","taishin.fukushima.jp","tamakawa.fukushima.jp","tanagura.fukushima.jp","tenei.fukushima.jp","yabuki.fukushima.jp","yamato.fukushima.jp","yamatsuri.fukushima.jp","yanaizu.fukushima.jp","yugawa.fukushima.jp","anpachi.gifu.jp","ena.gifu.jp","gifu.gifu.jp","ginan.gifu.jp","godo.gifu.jp","gujo.gifu.jp","hashima.gifu.jp","hichiso.gifu.jp","hida.gifu.jp","higashishirakawa.gifu.jp","ibigawa.gifu.jp","ikeda.gifu.jp","kakamigahara.gifu.jp","kani.gifu.jp","kasahara.gifu.jp","kasamatsu.gifu.jp","kawaue.gifu.jp","kitagata.gifu.jp","mino.gifu.jp","minokamo.gifu.jp","mitake.gifu.jp","mizunami.gifu.jp","motosu.gifu.jp","nakatsugawa.gifu.jp","ogaki.gifu.jp","sakahogi.gifu.jp","seki.gifu.jp","sekigahara.gifu.jp","shirakawa.gifu.jp","tajimi.gifu.jp","takayama.gifu.jp","tarui.gifu.jp","toki.gifu.jp","tomika.gifu.jp","wanouchi.gifu.jp","yamagata.gifu.jp","yaotsu.gifu.jp","yoro.gifu.jp","annaka.gunma.jp","chiyoda.gunma.jp","fujioka.gunma.jp","higashiagatsuma.gunma.jp","isesaki.gunma.jp","itakura.gunma.jp","kanna.gunma.jp","kanra.gunma.jp","katashina.gunma.jp","kawaba.gunma.jp","kiryu.gunma.jp","kusatsu.gunma.jp","maebashi.gunma.jp","meiwa.gunma.jp","midori.gunma.jp","minakami.gunma.jp","naganohara.gunma.jp","nakanojo.gunma.jp","nanmoku.gunma.jp","numata.gunma.jp","oizumi.gunma.jp","ora.gunma.jp","ota.gunma.jp","shibukawa.gunma.jp","shimonita.gunma.jp","shinto.gunma.jp","showa.gunma.jp","takasaki.gunma.jp","takayama.gunma.jp","tamamura.gunma.jp","tatebayashi.gunma.jp","tomioka.gunma.jp","tsukiyono.gunma.jp","tsumagoi.gunma.jp","ueno.gunma.jp","yoshioka.gunma.jp","asaminami.hiroshima.jp","daiwa.hiroshima.jp","etajima.hiroshima.jp","fuchu.hiroshima.jp","fukuyama.hiroshima.jp","hatsukaichi.hiroshima.jp","higashihiroshima.hiroshima.jp","hongo.hiroshima.jp","jinsekikogen.hiroshima.jp","kaita.hiroshima.jp","kui.hiroshima.jp","kumano.hiroshima.jp","kure.hiroshima.jp","mihara.hiroshima.jp","miyoshi.hiroshima.jp","naka.hiroshima.jp","onomichi.hiroshima.jp","osakikamijima.hiroshima.jp","otake.hiroshima.jp","saka.hiroshima.jp","sera.hiroshima.jp","seranishi.hiroshima.jp","shinichi.hiroshima.jp","shobara.hiroshima.jp","takehara.hiroshima.jp","abashiri.hokkaido.jp","abira.hokkaido.jp","aibetsu.hokkaido.jp","akabira.hokkaido.jp","akkeshi.hokkaido.jp","asahikawa.hokkaido.jp","ashibetsu.hokkaido.jp","ashoro.hokkaido.jp","assabu.hokkaido.jp","atsuma.hokkaido.jp","bibai.hokkaido.jp","biei.hokkaido.jp","bifuka.hokkaido.jp","bihoro.hokkaido.jp","biratori.hokkaido.jp","chippubetsu.hokkaido.jp","chitose.hokkaido.jp","date.hokkaido.jp","ebetsu.hokkaido.jp","embetsu.hokkaido.jp","eniwa.hokkaido.jp","erimo.hokkaido.jp","esan.hokkaido.jp","esashi.hokkaido.jp","fukagawa.hokkaido.jp","fukushima.hokkaido.jp","furano.hokkaido.jp","furubira.hokkaido.jp","haboro.hokkaido.jp","hakodate.hokkaido.jp","hamatonbetsu.hokkaido.jp","hidaka.hokkaido.jp","higashikagura.hokkaido.jp","higashikawa.hokkaido.jp","hiroo.hokkaido.jp","hokuryu.hokkaido.jp","hokuto.hokkaido.jp","honbetsu.hokkaido.jp","horokanai.hokkaido.jp","horonobe.hokkaido.jp","ikeda.hokkaido.jp","imakane.hokkaido.jp","ishikari.hokkaido.jp","iwamizawa.hokkaido.jp","iwanai.hokkaido.jp","kamifurano.hokkaido.jp","kamikawa.hokkaido.jp","kamishihoro.hokkaido.jp","kamisunagawa.hokkaido.jp","kamoenai.hokkaido.jp","kayabe.hokkaido.jp","kembuchi.hokkaido.jp","kikonai.hokkaido.jp","kimobetsu.hokkaido.jp","kitahiroshima.hokkaido.jp","kitami.hokkaido.jp","kiyosato.hokkaido.jp","koshimizu.hokkaido.jp","kunneppu.hokkaido.jp","kuriyama.hokkaido.jp","kuromatsunai.hokkaido.jp","kushiro.hokkaido.jp","kutchan.hokkaido.jp","kyowa.hokkaido.jp","mashike.hokkaido.jp","matsumae.hokkaido.jp","mikasa.hokkaido.jp","minamifurano.hokkaido.jp","mombetsu.hokkaido.jp","moseushi.hokkaido.jp","mukawa.hokkaido.jp","muroran.hokkaido.jp","naie.hokkaido.jp","nakagawa.hokkaido.jp","nakasatsunai.hokkaido.jp","nakatombetsu.hokkaido.jp","nanae.hokkaido.jp","nanporo.hokkaido.jp","nayoro.hokkaido.jp","nemuro.hokkaido.jp","niikappu.hokkaido.jp","niki.hokkaido.jp","nishiokoppe.hokkaido.jp","noboribetsu.hokkaido.jp","numata.hokkaido.jp","obihiro.hokkaido.jp","obira.hokkaido.jp","oketo.hokkaido.jp","okoppe.hokkaido.jp","otaru.hokkaido.jp","otobe.hokkaido.jp","otofuke.hokkaido.jp","otoineppu.hokkaido.jp","oumu.hokkaido.jp","ozora.hokkaido.jp","pippu.hokkaido.jp","rankoshi.hokkaido.jp","rebun.hokkaido.jp","rikubetsu.hokkaido.jp","rishiri.hokkaido.jp","rishirifuji.hokkaido.jp","saroma.hokkaido.jp","sarufutsu.hokkaido.jp","shakotan.hokkaido.jp","shari.hokkaido.jp","shibecha.hokkaido.jp","shibetsu.hokkaido.jp","shikabe.hokkaido.jp","shikaoi.hokkaido.jp","shimamaki.hokkaido.jp","shimizu.hokkaido.jp","shimokawa.hokkaido.jp","shinshinotsu.hokkaido.jp","shintoku.hokkaido.jp","shiranuka.hokkaido.jp","shiraoi.hokkaido.jp","shiriuchi.hokkaido.jp","sobetsu.hokkaido.jp","sunagawa.hokkaido.jp","taiki.hokkaido.jp","takasu.hokkaido.jp","takikawa.hokkaido.jp","takinoue.hokkaido.jp","teshikaga.hokkaido.jp","tobetsu.hokkaido.jp","tohma.hokkaido.jp","tomakomai.hokkaido.jp","tomari.hokkaido.jp","toya.hokkaido.jp","toyako.hokkaido.jp","toyotomi.hokkaido.jp","toyoura.hokkaido.jp","tsubetsu.hokkaido.jp","tsukigata.hokkaido.jp","urakawa.hokkaido.jp","urausu.hokkaido.jp","uryu.hokkaido.jp","utashinai.hokkaido.jp","wakkanai.hokkaido.jp","wassamu.hokkaido.jp","yakumo.hokkaido.jp","yoichi.hokkaido.jp","aioi.hyogo.jp","akashi.hyogo.jp","ako.hyogo.jp","amagasaki.hyogo.jp","aogaki.hyogo.jp","asago.hyogo.jp","ashiya.hyogo.jp","awaji.hyogo.jp","fukusaki.hyogo.jp","goshiki.hyogo.jp","harima.hyogo.jp","himeji.hyogo.jp","ichikawa.hyogo.jp","inagawa.hyogo.jp","itami.hyogo.jp","kakogawa.hyogo.jp","kamigori.hyogo.jp","kamikawa.hyogo.jp","kasai.hyogo.jp","kasuga.hyogo.jp","kawanishi.hyogo.jp","miki.hyogo.jp","minamiawaji.hyogo.jp","nishinomiya.hyogo.jp","nishiwaki.hyogo.jp","ono.hyogo.jp","sanda.hyogo.jp","sannan.hyogo.jp","sasayama.hyogo.jp","sayo.hyogo.jp","shingu.hyogo.jp","shinonsen.hyogo.jp","shiso.hyogo.jp","sumoto.hyogo.jp","taishi.hyogo.jp","taka.hyogo.jp","takarazuka.hyogo.jp","takasago.hyogo.jp","takino.hyogo.jp","tamba.hyogo.jp","tatsuno.hyogo.jp","toyooka.hyogo.jp","yabu.hyogo.jp","yashiro.hyogo.jp","yoka.hyogo.jp","yokawa.hyogo.jp","ami.ibaraki.jp","asahi.ibaraki.jp","bando.ibaraki.jp","chikusei.ibaraki.jp","daigo.ibaraki.jp","fujishiro.ibaraki.jp","hitachi.ibaraki.jp","hitachinaka.ibaraki.jp","hitachiomiya.ibaraki.jp","hitachiota.ibaraki.jp","ibaraki.ibaraki.jp","ina.ibaraki.jp","inashiki.ibaraki.jp","itako.ibaraki.jp","iwama.ibaraki.jp","joso.ibaraki.jp","kamisu.ibaraki.jp","kasama.ibaraki.jp","kashima.ibaraki.jp","kasumigaura.ibaraki.jp","koga.ibaraki.jp","miho.ibaraki.jp","mito.ibaraki.jp","moriya.ibaraki.jp","naka.ibaraki.jp","namegata.ibaraki.jp","oarai.ibaraki.jp","ogawa.ibaraki.jp","omitama.ibaraki.jp","ryugasaki.ibaraki.jp","sakai.ibaraki.jp","sakuragawa.ibaraki.jp","shimodate.ibaraki.jp","shimotsuma.ibaraki.jp","shirosato.ibaraki.jp","sowa.ibaraki.jp","suifu.ibaraki.jp","takahagi.ibaraki.jp","tamatsukuri.ibaraki.jp","tokai.ibaraki.jp","tomobe.ibaraki.jp","tone.ibaraki.jp","toride.ibaraki.jp","tsuchiura.ibaraki.jp","tsukuba.ibaraki.jp","uchihara.ibaraki.jp","ushiku.ibaraki.jp","yachiyo.ibaraki.jp","yamagata.ibaraki.jp","yawara.ibaraki.jp","yuki.ibaraki.jp","anamizu.ishikawa.jp","hakui.ishikawa.jp","hakusan.ishikawa.jp","kaga.ishikawa.jp","kahoku.ishikawa.jp","kanazawa.ishikawa.jp","kawakita.ishikawa.jp","komatsu.ishikawa.jp","nakanoto.ishikawa.jp","nanao.ishikawa.jp","nomi.ishikawa.jp","nonoichi.ishikawa.jp","noto.ishikawa.jp","shika.ishikawa.jp","suzu.ishikawa.jp","tsubata.ishikawa.jp","tsurugi.ishikawa.jp","uchinada.ishikawa.jp","wajima.ishikawa.jp","fudai.iwate.jp","fujisawa.iwate.jp","hanamaki.iwate.jp","hiraizumi.iwate.jp","hirono.iwate.jp","ichinohe.iwate.jp","ichinoseki.iwate.jp","iwaizumi.iwate.jp","iwate.iwate.jp","joboji.iwate.jp","kamaishi.iwate.jp","kanegasaki.iwate.jp","karumai.iwate.jp","kawai.iwate.jp","kitakami.iwate.jp","kuji.iwate.jp","kunohe.iwate.jp","kuzumaki.iwate.jp","miyako.iwate.jp","mizusawa.iwate.jp","morioka.iwate.jp","ninohe.iwate.jp","noda.iwate.jp","ofunato.iwate.jp","oshu.iwate.jp","otsuchi.iwate.jp","rikuzentakata.iwate.jp","shiwa.iwate.jp","shizukuishi.iwate.jp","sumita.iwate.jp","tanohata.iwate.jp","tono.iwate.jp","yahaba.iwate.jp","yamada.iwate.jp","ayagawa.kagawa.jp","higashikagawa.kagawa.jp","kanonji.kagawa.jp","kotohira.kagawa.jp","manno.kagawa.jp","marugame.kagawa.jp","mitoyo.kagawa.jp","naoshima.kagawa.jp","sanuki.kagawa.jp","tadotsu.kagawa.jp","takamatsu.kagawa.jp","tonosho.kagawa.jp","uchinomi.kagawa.jp","utazu.kagawa.jp","zentsuji.kagawa.jp","akune.kagoshima.jp","amami.kagoshima.jp","hioki.kagoshima.jp","isa.kagoshima.jp","isen.kagoshima.jp","izumi.kagoshima.jp","kagoshima.kagoshima.jp","kanoya.kagoshima.jp","kawanabe.kagoshima.jp","kinko.kagoshima.jp","kouyama.kagoshima.jp","makurazaki.kagoshima.jp","matsumoto.kagoshima.jp","minamitane.kagoshima.jp","nakatane.kagoshima.jp","nishinoomote.kagoshima.jp","satsumasendai.kagoshima.jp","soo.kagoshima.jp","tarumizu.kagoshima.jp","yusui.kagoshima.jp","aikawa.kanagawa.jp","atsugi.kanagawa.jp","ayase.kanagawa.jp","chigasaki.kanagawa.jp","ebina.kanagawa.jp","fujisawa.kanagawa.jp","hadano.kanagawa.jp","hakone.kanagawa.jp","hiratsuka.kanagawa.jp","isehara.kanagawa.jp","kaisei.kanagawa.jp","kamakura.kanagawa.jp","kiyokawa.kanagawa.jp","matsuda.kanagawa.jp","minamiashigara.kanagawa.jp","miura.kanagawa.jp","nakai.kanagawa.jp","ninomiya.kanagawa.jp","odawara.kanagawa.jp","oi.kanagawa.jp","oiso.kanagawa.jp","sagamihara.kanagawa.jp","samukawa.kanagawa.jp","tsukui.kanagawa.jp","yamakita.kanagawa.jp","yamato.kanagawa.jp","yokosuka.kanagawa.jp","yugawara.kanagawa.jp","zama.kanagawa.jp","zushi.kanagawa.jp","aki.kochi.jp","geisei.kochi.jp","hidaka.kochi.jp","higashitsuno.kochi.jp","ino.kochi.jp","kagami.kochi.jp","kami.kochi.jp","kitagawa.kochi.jp","kochi.kochi.jp","mihara.kochi.jp","motoyama.kochi.jp","muroto.kochi.jp","nahari.kochi.jp","nakamura.kochi.jp","nankoku.kochi.jp","nishitosa.kochi.jp","niyodogawa.kochi.jp","ochi.kochi.jp","okawa.kochi.jp","otoyo.kochi.jp","otsuki.kochi.jp","sakawa.kochi.jp","sukumo.kochi.jp","susaki.kochi.jp","tosa.kochi.jp","tosashimizu.kochi.jp","toyo.kochi.jp","tsuno.kochi.jp","umaji.kochi.jp","yasuda.kochi.jp","yusuhara.kochi.jp","amakusa.kumamoto.jp","arao.kumamoto.jp","aso.kumamoto.jp","choyo.kumamoto.jp","gyokuto.kumamoto.jp","kamiamakusa.kumamoto.jp","kikuchi.kumamoto.jp","kumamoto.kumamoto.jp","mashiki.kumamoto.jp","mifune.kumamoto.jp","minamata.kumamoto.jp","minamioguni.kumamoto.jp","nagasu.kumamoto.jp","nishihara.kumamoto.jp","oguni.kumamoto.jp","ozu.kumamoto.jp","sumoto.kumamoto.jp","takamori.kumamoto.jp","uki.kumamoto.jp","uto.kumamoto.jp","yamaga.kumamoto.jp","yamato.kumamoto.jp","yatsushiro.kumamoto.jp","ayabe.kyoto.jp","fukuchiyama.kyoto.jp","higashiyama.kyoto.jp","ide.kyoto.jp","ine.kyoto.jp","joyo.kyoto.jp","kameoka.kyoto.jp","kamo.kyoto.jp","kita.kyoto.jp","kizu.kyoto.jp","kumiyama.kyoto.jp","kyotamba.kyoto.jp","kyotanabe.kyoto.jp","kyotango.kyoto.jp","maizuru.kyoto.jp","minami.kyoto.jp","minamiyamashiro.kyoto.jp","miyazu.kyoto.jp","muko.kyoto.jp","nagaokakyo.kyoto.jp","nakagyo.kyoto.jp","nantan.kyoto.jp","oyamazaki.kyoto.jp","sakyo.kyoto.jp","seika.kyoto.jp","tanabe.kyoto.jp","uji.kyoto.jp","ujitawara.kyoto.jp","wazuka.kyoto.jp","yamashina.kyoto.jp","yawata.kyoto.jp","asahi.mie.jp","inabe.mie.jp","ise.mie.jp","kameyama.mie.jp","kawagoe.mie.jp","kiho.mie.jp","kisosaki.mie.jp","kiwa.mie.jp","komono.mie.jp","kumano.mie.jp","kuwana.mie.jp","matsusaka.mie.jp","meiwa.mie.jp","mihama.mie.jp","minamiise.mie.jp","misugi.mie.jp","miyama.mie.jp","nabari.mie.jp","shima.mie.jp","suzuka.mie.jp","tado.mie.jp","taiki.mie.jp","taki.mie.jp","tamaki.mie.jp","toba.mie.jp","tsu.mie.jp","udono.mie.jp","ureshino.mie.jp","watarai.mie.jp","yokkaichi.mie.jp","furukawa.miyagi.jp","higashimatsushima.miyagi.jp","ishinomaki.miyagi.jp","iwanuma.miyagi.jp","kakuda.miyagi.jp","kami.miyagi.jp","kawasaki.miyagi.jp","marumori.miyagi.jp","matsushima.miyagi.jp","minamisanriku.miyagi.jp","misato.miyagi.jp","murata.miyagi.jp","natori.miyagi.jp","ogawara.miyagi.jp","ohira.miyagi.jp","onagawa.miyagi.jp","osaki.miyagi.jp","rifu.miyagi.jp","semine.miyagi.jp","shibata.miyagi.jp","shichikashuku.miyagi.jp","shikama.miyagi.jp","shiogama.miyagi.jp","shiroishi.miyagi.jp","tagajo.miyagi.jp","taiwa.miyagi.jp","tome.miyagi.jp","tomiya.miyagi.jp","wakuya.miyagi.jp","watari.miyagi.jp","yamamoto.miyagi.jp","zao.miyagi.jp","aya.miyazaki.jp","ebino.miyazaki.jp","gokase.miyazaki.jp","hyuga.miyazaki.jp","kadogawa.miyazaki.jp","kawaminami.miyazaki.jp","kijo.miyazaki.jp","kitagawa.miyazaki.jp","kitakata.miyazaki.jp","kitaura.miyazaki.jp","kobayashi.miyazaki.jp","kunitomi.miyazaki.jp","kushima.miyazaki.jp","mimata.miyazaki.jp","miyakonojo.miyazaki.jp","miyazaki.miyazaki.jp","morotsuka.miyazaki.jp","nichinan.miyazaki.jp","nishimera.miyazaki.jp","nobeoka.miyazaki.jp","saito.miyazaki.jp","shiiba.miyazaki.jp","shintomi.miyazaki.jp","takaharu.miyazaki.jp","takanabe.miyazaki.jp","takazaki.miyazaki.jp","tsuno.miyazaki.jp","achi.nagano.jp","agematsu.nagano.jp","anan.nagano.jp","aoki.nagano.jp","asahi.nagano.jp","azumino.nagano.jp","chikuhoku.nagano.jp","chikuma.nagano.jp","chino.nagano.jp","fujimi.nagano.jp","hakuba.nagano.jp","hara.nagano.jp","hiraya.nagano.jp","iida.nagano.jp","iijima.nagano.jp","iiyama.nagano.jp","iizuna.nagano.jp","ikeda.nagano.jp","ikusaka.nagano.jp","ina.nagano.jp","karuizawa.nagano.jp","kawakami.nagano.jp","kiso.nagano.jp","kisofukushima.nagano.jp","kitaaiki.nagano.jp","komagane.nagano.jp","komoro.nagano.jp","matsukawa.nagano.jp","matsumoto.nagano.jp","miasa.nagano.jp","minamiaiki.nagano.jp","minamimaki.nagano.jp","minamiminowa.nagano.jp","minowa.nagano.jp","miyada.nagano.jp","miyota.nagano.jp","mochizuki.nagano.jp","nagano.nagano.jp","nagawa.nagano.jp","nagiso.nagano.jp","nakagawa.nagano.jp","nakano.nagano.jp","nozawaonsen.nagano.jp","obuse.nagano.jp","ogawa.nagano.jp","okaya.nagano.jp","omachi.nagano.jp","omi.nagano.jp","ookuwa.nagano.jp","ooshika.nagano.jp","otaki.nagano.jp","otari.nagano.jp","sakae.nagano.jp","sakaki.nagano.jp","saku.nagano.jp","sakuho.nagano.jp","shimosuwa.nagano.jp","shinanomachi.nagano.jp","shiojiri.nagano.jp","suwa.nagano.jp","suzaka.nagano.jp","takagi.nagano.jp","takamori.nagano.jp","takayama.nagano.jp","tateshina.nagano.jp","tatsuno.nagano.jp","togakushi.nagano.jp","togura.nagano.jp","tomi.nagano.jp","ueda.nagano.jp","wada.nagano.jp","yamagata.nagano.jp","yamanouchi.nagano.jp","yasaka.nagano.jp","yasuoka.nagano.jp","chijiwa.nagasaki.jp","futsu.nagasaki.jp","goto.nagasaki.jp","hasami.nagasaki.jp","hirado.nagasaki.jp","iki.nagasaki.jp","isahaya.nagasaki.jp","kawatana.nagasaki.jp","kuchinotsu.nagasaki.jp","matsuura.nagasaki.jp","nagasaki.nagasaki.jp","obama.nagasaki.jp","omura.nagasaki.jp","oseto.nagasaki.jp","saikai.nagasaki.jp","sasebo.nagasaki.jp","seihi.nagasaki.jp","shimabara.nagasaki.jp","shinkamigoto.nagasaki.jp","togitsu.nagasaki.jp","tsushima.nagasaki.jp","unzen.nagasaki.jp","ando.nara.jp","gose.nara.jp","heguri.nara.jp","higashiyoshino.nara.jp","ikaruga.nara.jp","ikoma.nara.jp","kamikitayama.nara.jp","kanmaki.nara.jp","kashiba.nara.jp","kashihara.nara.jp","katsuragi.nara.jp","kawai.nara.jp","kawakami.nara.jp","kawanishi.nara.jp","koryo.nara.jp","kurotaki.nara.jp","mitsue.nara.jp","miyake.nara.jp","nara.nara.jp","nosegawa.nara.jp","oji.nara.jp","ouda.nara.jp","oyodo.nara.jp","sakurai.nara.jp","sango.nara.jp","shimoichi.nara.jp","shimokitayama.nara.jp","shinjo.nara.jp","soni.nara.jp","takatori.nara.jp","tawaramoto.nara.jp","tenkawa.nara.jp","tenri.nara.jp","uda.nara.jp","yamatokoriyama.nara.jp","yamatotakada.nara.jp","yamazoe.nara.jp","yoshino.nara.jp","aga.niigata.jp","agano.niigata.jp","gosen.niigata.jp","itoigawa.niigata.jp","izumozaki.niigata.jp","joetsu.niigata.jp","kamo.niigata.jp","kariwa.niigata.jp","kashiwazaki.niigata.jp","minamiuonuma.niigata.jp","mitsuke.niigata.jp","muika.niigata.jp","murakami.niigata.jp","myoko.niigata.jp","nagaoka.niigata.jp","niigata.niigata.jp","ojiya.niigata.jp","omi.niigata.jp","sado.niigata.jp","sanjo.niigata.jp","seiro.niigata.jp","seirou.niigata.jp","sekikawa.niigata.jp","shibata.niigata.jp","tagami.niigata.jp","tainai.niigata.jp","tochio.niigata.jp","tokamachi.niigata.jp","tsubame.niigata.jp","tsunan.niigata.jp","uonuma.niigata.jp","yahiko.niigata.jp","yoita.niigata.jp","yuzawa.niigata.jp","beppu.oita.jp","bungoono.oita.jp","bungotakada.oita.jp","hasama.oita.jp","hiji.oita.jp","himeshima.oita.jp","hita.oita.jp","kamitsue.oita.jp","kokonoe.oita.jp","kuju.oita.jp","kunisaki.oita.jp","kusu.oita.jp","oita.oita.jp","saiki.oita.jp","taketa.oita.jp","tsukumi.oita.jp","usa.oita.jp","usuki.oita.jp","yufu.oita.jp","akaiwa.okayama.jp","asakuchi.okayama.jp","bizen.okayama.jp","hayashima.okayama.jp","ibara.okayama.jp","kagamino.okayama.jp","kasaoka.okayama.jp","kibichuo.okayama.jp","kumenan.okayama.jp","kurashiki.okayama.jp","maniwa.okayama.jp","misaki.okayama.jp","nagi.okayama.jp","niimi.okayama.jp","nishiawakura.okayama.jp","okayama.okayama.jp","satosho.okayama.jp","setouchi.okayama.jp","shinjo.okayama.jp","shoo.okayama.jp","soja.okayama.jp","takahashi.okayama.jp","tamano.okayama.jp","tsuyama.okayama.jp","wake.okayama.jp","yakage.okayama.jp","aguni.okinawa.jp","ginowan.okinawa.jp","ginoza.okinawa.jp","gushikami.okinawa.jp","haebaru.okinawa.jp","higashi.okinawa.jp","hirara.okinawa.jp","iheya.okinawa.jp","ishigaki.okinawa.jp","ishikawa.okinawa.jp","itoman.okinawa.jp","izena.okinawa.jp","kadena.okinawa.jp","kin.okinawa.jp","kitadaito.okinawa.jp","kitanakagusuku.okinawa.jp","kumejima.okinawa.jp","kunigami.okinawa.jp","minamidaito.okinawa.jp","motobu.okinawa.jp","nago.okinawa.jp","naha.okinawa.jp","nakagusuku.okinawa.jp","nakijin.okinawa.jp","nanjo.okinawa.jp","nishihara.okinawa.jp","ogimi.okinawa.jp","okinawa.okinawa.jp","onna.okinawa.jp","shimoji.okinawa.jp","taketomi.okinawa.jp","tarama.okinawa.jp","tokashiki.okinawa.jp","tomigusuku.okinawa.jp","tonaki.okinawa.jp","urasoe.okinawa.jp","uruma.okinawa.jp","yaese.okinawa.jp","yomitan.okinawa.jp","yonabaru.okinawa.jp","yonaguni.okinawa.jp","zamami.okinawa.jp","abeno.osaka.jp","chihayaakasaka.osaka.jp","chuo.osaka.jp","daito.osaka.jp","fujiidera.osaka.jp","habikino.osaka.jp","hannan.osaka.jp","higashiosaka.osaka.jp","higashisumiyoshi.osaka.jp","higashiyodogawa.osaka.jp","hirakata.osaka.jp","ibaraki.osaka.jp","ikeda.osaka.jp","izumi.osaka.jp","izumiotsu.osaka.jp","izumisano.osaka.jp","kadoma.osaka.jp","kaizuka.osaka.jp","kanan.osaka.jp","kashiwara.osaka.jp","katano.osaka.jp","kawachinagano.osaka.jp","kishiwada.osaka.jp","kita.osaka.jp","kumatori.osaka.jp","matsubara.osaka.jp","minato.osaka.jp","minoh.osaka.jp","misaki.osaka.jp","moriguchi.osaka.jp","neyagawa.osaka.jp","nishi.osaka.jp","nose.osaka.jp","osakasayama.osaka.jp","sakai.osaka.jp","sayama.osaka.jp","sennan.osaka.jp","settsu.osaka.jp","shijonawate.osaka.jp","shimamoto.osaka.jp","suita.osaka.jp","tadaoka.osaka.jp","taishi.osaka.jp","tajiri.osaka.jp","takaishi.osaka.jp","takatsuki.osaka.jp","tondabayashi.osaka.jp","toyonaka.osaka.jp","toyono.osaka.jp","yao.osaka.jp","ariake.saga.jp","arita.saga.jp","fukudomi.saga.jp","genkai.saga.jp","hamatama.saga.jp","hizen.saga.jp","imari.saga.jp","kamimine.saga.jp","kanzaki.saga.jp","karatsu.saga.jp","kashima.saga.jp","kitagata.saga.jp","kitahata.saga.jp","kiyama.saga.jp","kouhoku.saga.jp","kyuragi.saga.jp","nishiarita.saga.jp","ogi.saga.jp","omachi.saga.jp","ouchi.saga.jp","saga.saga.jp","shiroishi.saga.jp","taku.saga.jp","tara.saga.jp","tosu.saga.jp","yoshinogari.saga.jp","arakawa.saitama.jp","asaka.saitama.jp","chichibu.saitama.jp","fujimi.saitama.jp","fujimino.saitama.jp","fukaya.saitama.jp","hanno.saitama.jp","hanyu.saitama.jp","hasuda.saitama.jp","hatogaya.saitama.jp","hatoyama.saitama.jp","hidaka.saitama.jp","higashichichibu.saitama.jp","higashimatsuyama.saitama.jp","honjo.saitama.jp","ina.saitama.jp","iruma.saitama.jp","iwatsuki.saitama.jp","kamiizumi.saitama.jp","kamikawa.saitama.jp","kamisato.saitama.jp","kasukabe.saitama.jp","kawagoe.saitama.jp","kawaguchi.saitama.jp","kawajima.saitama.jp","kazo.saitama.jp","kitamoto.saitama.jp","koshigaya.saitama.jp","kounosu.saitama.jp","kuki.saitama.jp","kumagaya.saitama.jp","matsubushi.saitama.jp","minano.saitama.jp","misato.saitama.jp","miyashiro.saitama.jp","miyoshi.saitama.jp","moroyama.saitama.jp","nagatoro.saitama.jp","namegawa.saitama.jp","niiza.saitama.jp","ogano.saitama.jp","ogawa.saitama.jp","ogose.saitama.jp","okegawa.saitama.jp","omiya.saitama.jp","otaki.saitama.jp","ranzan.saitama.jp","ryokami.saitama.jp","saitama.saitama.jp","sakado.saitama.jp","satte.saitama.jp","sayama.saitama.jp","shiki.saitama.jp","shiraoka.saitama.jp","soka.saitama.jp","sugito.saitama.jp","toda.saitama.jp","tokigawa.saitama.jp","tokorozawa.saitama.jp","tsurugashima.saitama.jp","urawa.saitama.jp","warabi.saitama.jp","yashio.saitama.jp","yokoze.saitama.jp","yono.saitama.jp","yorii.saitama.jp","yoshida.saitama.jp","yoshikawa.saitama.jp","yoshimi.saitama.jp","aisho.shiga.jp","gamo.shiga.jp","higashiomi.shiga.jp","hikone.shiga.jp","koka.shiga.jp","konan.shiga.jp","kosei.shiga.jp","koto.shiga.jp","kusatsu.shiga.jp","maibara.shiga.jp","moriyama.shiga.jp","nagahama.shiga.jp","nishiazai.shiga.jp","notogawa.shiga.jp","omihachiman.shiga.jp","otsu.shiga.jp","ritto.shiga.jp","ryuoh.shiga.jp","takashima.shiga.jp","takatsuki.shiga.jp","torahime.shiga.jp","toyosato.shiga.jp","yasu.shiga.jp","akagi.shimane.jp","ama.shimane.jp","gotsu.shimane.jp","hamada.shimane.jp","higashiizumo.shimane.jp","hikawa.shimane.jp","hikimi.shimane.jp","izumo.shimane.jp","kakinoki.shimane.jp","masuda.shimane.jp","matsue.shimane.jp","misato.shimane.jp","nishinoshima.shimane.jp","ohda.shimane.jp","okinoshima.shimane.jp","okuizumo.shimane.jp","shimane.shimane.jp","tamayu.shimane.jp","tsuwano.shimane.jp","unnan.shimane.jp","yakumo.shimane.jp","yasugi.shimane.jp","yatsuka.shimane.jp","arai.shizuoka.jp","atami.shizuoka.jp","fuji.shizuoka.jp","fujieda.shizuoka.jp","fujikawa.shizuoka.jp","fujinomiya.shizuoka.jp","fukuroi.shizuoka.jp","gotemba.shizuoka.jp","haibara.shizuoka.jp","hamamatsu.shizuoka.jp","higashiizu.shizuoka.jp","ito.shizuoka.jp","iwata.shizuoka.jp","izu.shizuoka.jp","izunokuni.shizuoka.jp","kakegawa.shizuoka.jp","kannami.shizuoka.jp","kawanehon.shizuoka.jp","kawazu.shizuoka.jp","kikugawa.shizuoka.jp","kosai.shizuoka.jp","makinohara.shizuoka.jp","matsuzaki.shizuoka.jp","minamiizu.shizuoka.jp","mishima.shizuoka.jp","morimachi.shizuoka.jp","nishiizu.shizuoka.jp","numazu.shizuoka.jp","omaezaki.shizuoka.jp","shimada.shizuoka.jp","shimizu.shizuoka.jp","shimoda.shizuoka.jp","shizuoka.shizuoka.jp","susono.shizuoka.jp","yaizu.shizuoka.jp","yoshida.shizuoka.jp","ashikaga.tochigi.jp","bato.tochigi.jp","haga.tochigi.jp","ichikai.tochigi.jp","iwafune.tochigi.jp","kaminokawa.tochigi.jp","kanuma.tochigi.jp","karasuyama.tochigi.jp","kuroiso.tochigi.jp","mashiko.tochigi.jp","mibu.tochigi.jp","moka.tochigi.jp","motegi.tochigi.jp","nasu.tochigi.jp","nasushiobara.tochigi.jp","nikko.tochigi.jp","nishikata.tochigi.jp","nogi.tochigi.jp","ohira.tochigi.jp","ohtawara.tochigi.jp","oyama.tochigi.jp","sakura.tochigi.jp","sano.tochigi.jp","shimotsuke.tochigi.jp","shioya.tochigi.jp","takanezawa.tochigi.jp","tochigi.tochigi.jp","tsuga.tochigi.jp","ujiie.tochigi.jp","utsunomiya.tochigi.jp","yaita.tochigi.jp","aizumi.tokushima.jp","anan.tokushima.jp","ichiba.tokushima.jp","itano.tokushima.jp","kainan.tokushima.jp","komatsushima.tokushima.jp","matsushige.tokushima.jp","mima.tokushima.jp","minami.tokushima.jp","miyoshi.tokushima.jp","mugi.tokushima.jp","nakagawa.tokushima.jp","naruto.tokushima.jp","sanagochi.tokushima.jp","shishikui.tokushima.jp","tokushima.tokushima.jp","wajiki.tokushima.jp","adachi.tokyo.jp","akiruno.tokyo.jp","akishima.tokyo.jp","aogashima.tokyo.jp","arakawa.tokyo.jp","bunkyo.tokyo.jp","chiyoda.tokyo.jp","chofu.tokyo.jp","chuo.tokyo.jp","edogawa.tokyo.jp","fuchu.tokyo.jp","fussa.tokyo.jp","hachijo.tokyo.jp","hachioji.tokyo.jp","hamura.tokyo.jp","higashikurume.tokyo.jp","higashimurayama.tokyo.jp","higashiyamato.tokyo.jp","hino.tokyo.jp","hinode.tokyo.jp","hinohara.tokyo.jp","inagi.tokyo.jp","itabashi.tokyo.jp","katsushika.tokyo.jp","kita.tokyo.jp","kiyose.tokyo.jp","kodaira.tokyo.jp","koganei.tokyo.jp","kokubunji.tokyo.jp","komae.tokyo.jp","koto.tokyo.jp","kouzushima.tokyo.jp","kunitachi.tokyo.jp","machida.tokyo.jp","meguro.tokyo.jp","minato.tokyo.jp","mitaka.tokyo.jp","mizuho.tokyo.jp","musashimurayama.tokyo.jp","musashino.tokyo.jp","nakano.tokyo.jp","nerima.tokyo.jp","ogasawara.tokyo.jp","okutama.tokyo.jp","ome.tokyo.jp","oshima.tokyo.jp","ota.tokyo.jp","setagaya.tokyo.jp","shibuya.tokyo.jp","shinagawa.tokyo.jp","shinjuku.tokyo.jp","suginami.tokyo.jp","sumida.tokyo.jp","tachikawa.tokyo.jp","taito.tokyo.jp","tama.tokyo.jp","toshima.tokyo.jp","chizu.tottori.jp","hino.tottori.jp","kawahara.tottori.jp","koge.tottori.jp","kotoura.tottori.jp","misasa.tottori.jp","nanbu.tottori.jp","nichinan.tottori.jp","sakaiminato.tottori.jp","tottori.tottori.jp","wakasa.tottori.jp","yazu.tottori.jp","yonago.tottori.jp","asahi.toyama.jp","fuchu.toyama.jp","fukumitsu.toyama.jp","funahashi.toyama.jp","himi.toyama.jp","imizu.toyama.jp","inami.toyama.jp","johana.toyama.jp","kamiichi.toyama.jp","kurobe.toyama.jp","nakaniikawa.toyama.jp","namerikawa.toyama.jp","nanto.toyama.jp","nyuzen.toyama.jp","oyabe.toyama.jp","taira.toyama.jp","takaoka.toyama.jp","tateyama.toyama.jp","toga.toyama.jp","tonami.toyama.jp","toyama.toyama.jp","unazuki.toyama.jp","uozu.toyama.jp","yamada.toyama.jp","arida.wakayama.jp","aridagawa.wakayama.jp","gobo.wakayama.jp","hashimoto.wakayama.jp","hidaka.wakayama.jp","hirogawa.wakayama.jp","inami.wakayama.jp","iwade.wakayama.jp","kainan.wakayama.jp","kamitonda.wakayama.jp","katsuragi.wakayama.jp","kimino.wakayama.jp","kinokawa.wakayama.jp","kitayama.wakayama.jp","koya.wakayama.jp","koza.wakayama.jp","kozagawa.wakayama.jp","kudoyama.wakayama.jp","kushimoto.wakayama.jp","mihama.wakayama.jp","misato.wakayama.jp","nachikatsuura.wakayama.jp","shingu.wakayama.jp","shirahama.wakayama.jp","taiji.wakayama.jp","tanabe.wakayama.jp","wakayama.wakayama.jp","yuasa.wakayama.jp","yura.wakayama.jp","asahi.yamagata.jp","funagata.yamagata.jp","higashine.yamagata.jp","iide.yamagata.jp","kahoku.yamagata.jp","kaminoyama.yamagata.jp","kaneyama.yamagata.jp","kawanishi.yamagata.jp","mamurogawa.yamagata.jp","mikawa.yamagata.jp","murayama.yamagata.jp","nagai.yamagata.jp","nakayama.yamagata.jp","nanyo.yamagata.jp","nishikawa.yamagata.jp","obanazawa.yamagata.jp","oe.yamagata.jp","oguni.yamagata.jp","ohkura.yamagata.jp","oishida.yamagata.jp","sagae.yamagata.jp","sakata.yamagata.jp","sakegawa.yamagata.jp","shinjo.yamagata.jp","shirataka.yamagata.jp","shonai.yamagata.jp","takahata.yamagata.jp","tendo.yamagata.jp","tozawa.yamagata.jp","tsuruoka.yamagata.jp","yamagata.yamagata.jp","yamanobe.yamagata.jp","yonezawa.yamagata.jp","yuza.yamagata.jp","abu.yamaguchi.jp","hagi.yamaguchi.jp","hikari.yamaguchi.jp","hofu.yamaguchi.jp","iwakuni.yamaguchi.jp","kudamatsu.yamaguchi.jp","mitou.yamaguchi.jp","nagato.yamaguchi.jp","oshima.yamaguchi.jp","shimonoseki.yamaguchi.jp","shunan.yamaguchi.jp","tabuse.yamaguchi.jp","tokuyama.yamaguchi.jp","toyota.yamaguchi.jp","ube.yamaguchi.jp","yuu.yamaguchi.jp","chuo.yamanashi.jp","doshi.yamanashi.jp","fuefuki.yamanashi.jp","fujikawa.yamanashi.jp","fujikawaguchiko.yamanashi.jp","fujiyoshida.yamanashi.jp","hayakawa.yamanashi.jp","hokuto.yamanashi.jp","ichikawamisato.yamanashi.jp","kai.yamanashi.jp","kofu.yamanashi.jp","koshu.yamanashi.jp","kosuge.yamanashi.jp","minami-alps.yamanashi.jp","minobu.yamanashi.jp","nakamichi.yamanashi.jp","nanbu.yamanashi.jp","narusawa.yamanashi.jp","nirasaki.yamanashi.jp","nishikatsura.yamanashi.jp","oshino.yamanashi.jp","otsuki.yamanashi.jp","showa.yamanashi.jp","tabayama.yamanashi.jp","tsuru.yamanashi.jp","uenohara.yamanashi.jp","yamanakako.yamanashi.jp","yamanashi.yamanashi.jp","ke","ac.ke","co.ke","go.ke","info.ke","me.ke","mobi.ke","ne.ke","or.ke","sc.ke","kg","com.kg","edu.kg","gov.kg","mil.kg","net.kg","org.kg","*.kh","ki","biz.ki","com.ki","edu.ki","gov.ki","info.ki","net.ki","org.ki","km","ass.km","com.km","edu.km","gov.km","mil.km","nom.km","org.km","prd.km","tm.km","asso.km","coop.km","gouv.km","medecin.km","notaires.km","pharmaciens.km","presse.km","veterinaire.km","kn","edu.kn","gov.kn","net.kn","org.kn","kp","com.kp","edu.kp","gov.kp","org.kp","rep.kp","tra.kp","kr","ac.kr","co.kr","es.kr","go.kr","hs.kr","kg.kr","mil.kr","ms.kr","ne.kr","or.kr","pe.kr","re.kr","sc.kr","busan.kr","chungbuk.kr","chungnam.kr","daegu.kr","daejeon.kr","gangwon.kr","gwangju.kr","gyeongbuk.kr","gyeonggi.kr","gyeongnam.kr","incheon.kr","jeju.kr","jeonbuk.kr","jeonnam.kr","seoul.kr","ulsan.kr","kw","com.kw","edu.kw","emb.kw","gov.kw","ind.kw","net.kw","org.kw","ky","com.ky","edu.ky","net.ky","org.ky","kz","com.kz","edu.kz","gov.kz","mil.kz","net.kz","org.kz","la","com.la","edu.la","gov.la","info.la","int.la","net.la","org.la","per.la","lb","com.lb","edu.lb","gov.lb","net.lb","org.lb","lc","co.lc","com.lc","edu.lc","gov.lc","net.lc","org.lc","li","lk","ac.lk","assn.lk","com.lk","edu.lk","gov.lk","grp.lk","hotel.lk","int.lk","ltd.lk","net.lk","ngo.lk","org.lk","sch.lk","soc.lk","web.lk","lr","com.lr","edu.lr","gov.lr","net.lr","org.lr","ls","ac.ls","biz.ls","co.ls","edu.ls","gov.ls","info.ls","net.ls","org.ls","sc.ls","lt","gov.lt","lu","lv","asn.lv","com.lv","conf.lv","edu.lv","gov.lv","id.lv","mil.lv","net.lv","org.lv","ly","com.ly","edu.ly","gov.ly","id.ly","med.ly","net.ly","org.ly","plc.ly","sch.ly","ma","ac.ma","co.ma","gov.ma","net.ma","org.ma","press.ma","mc","asso.mc","tm.mc","md","me","ac.me","co.me","edu.me","gov.me","its.me","net.me","org.me","priv.me","mg","co.mg","com.mg","edu.mg","gov.mg","mil.mg","nom.mg","org.mg","prd.mg","mh","mil","mk","com.mk","edu.mk","gov.mk","inf.mk","name.mk","net.mk","org.mk","ml","com.ml","edu.ml","gouv.ml","gov.ml","net.ml","org.ml","presse.ml","*.mm","mn","edu.mn","gov.mn","org.mn","mo","com.mo","edu.mo","gov.mo","net.mo","org.mo","mobi","mp","mq","mr","gov.mr","ms","com.ms","edu.ms","gov.ms","net.ms","org.ms","mt","com.mt","edu.mt","net.mt","org.mt","mu","ac.mu","co.mu","com.mu","gov.mu","net.mu","or.mu","org.mu","museum","mv","aero.mv","biz.mv","com.mv","coop.mv","edu.mv","gov.mv","info.mv","int.mv","mil.mv","museum.mv","name.mv","net.mv","org.mv","pro.mv","mw","ac.mw","biz.mw","co.mw","com.mw","coop.mw","edu.mw","gov.mw","int.mw","net.mw","org.mw","mx","com.mx","edu.mx","gob.mx","net.mx","org.mx","my","biz.my","com.my","edu.my","gov.my","mil.my","name.my","net.my","org.my","mz","ac.mz","adv.mz","co.mz","edu.mz","gov.mz","mil.mz","net.mz","org.mz","na","alt.na","co.na","com.na","gov.na","net.na","org.na","name","nc","asso.nc","nom.nc","ne","net","nf","arts.nf","com.nf","firm.nf","info.nf","net.nf","other.nf","per.nf","rec.nf","store.nf","web.nf","ng","com.ng","edu.ng","gov.ng","i.ng","mil.ng","mobi.ng","name.ng","net.ng","org.ng","sch.ng","ni","ac.ni","biz.ni","co.ni","com.ni","edu.ni","gob.ni","in.ni","info.ni","int.ni","mil.ni","net.ni","nom.ni","org.ni","web.ni","nl","no","fhs.no","folkebibl.no","fylkesbibl.no","idrett.no","museum.no","priv.no","vgs.no","dep.no","herad.no","kommune.no","mil.no","stat.no","aa.no","ah.no","bu.no","fm.no","hl.no","hm.no","jan-mayen.no","mr.no","nl.no","nt.no","of.no","ol.no","oslo.no","rl.no","sf.no","st.no","svalbard.no","tm.no","tr.no","va.no","vf.no","gs.aa.no","gs.ah.no","gs.bu.no","gs.fm.no","gs.hl.no","gs.hm.no","gs.jan-mayen.no","gs.mr.no","gs.nl.no","gs.nt.no","gs.of.no","gs.ol.no","gs.oslo.no","gs.rl.no","gs.sf.no","gs.st.no","gs.svalbard.no","gs.tm.no","gs.tr.no","gs.va.no","gs.vf.no","akrehamn.no","åkrehamn.no","algard.no","ålgård.no","arna.no","bronnoysund.no","brønnøysund.no","brumunddal.no","bryne.no","drobak.no","drøbak.no","egersund.no","fetsund.no","floro.no","florø.no","fredrikstad.no","hokksund.no","honefoss.no","hønefoss.no","jessheim.no","jorpeland.no","jørpeland.no","kirkenes.no","kopervik.no","krokstadelva.no","langevag.no","langevåg.no","leirvik.no","mjondalen.no","mjøndalen.no","mo-i-rana.no","mosjoen.no","mosjøen.no","nesoddtangen.no","orkanger.no","osoyro.no","osøyro.no","raholt.no","råholt.no","sandnessjoen.no","sandnessjøen.no","skedsmokorset.no","slattum.no","spjelkavik.no","stathelle.no","stavern.no","stjordalshalsen.no","stjørdalshalsen.no","tananger.no","tranby.no","vossevangen.no","aarborte.no","aejrie.no","afjord.no","åfjord.no","agdenes.no","nes.akershus.no","aknoluokta.no","ákŋoluokta.no","al.no","ål.no","alaheadju.no","álaheadju.no","alesund.no","ålesund.no","alstahaug.no","alta.no","áltá.no","alvdal.no","amli.no","åmli.no","amot.no","åmot.no","andasuolo.no","andebu.no","andoy.no","andøy.no","ardal.no","årdal.no","aremark.no","arendal.no","ås.no","aseral.no","åseral.no","asker.no","askim.no","askoy.no","askøy.no","askvoll.no","asnes.no","åsnes.no","audnedaln.no","aukra.no","aure.no","aurland.no","aurskog-holand.no","aurskog-høland.no","austevoll.no","austrheim.no","averoy.no","averøy.no","badaddja.no","bådåddjå.no","bærum.no","bahcavuotna.no","báhcavuotna.no","bahccavuotna.no","báhccavuotna.no","baidar.no","báidár.no","bajddar.no","bájddar.no","balat.no","bálát.no","balestrand.no","ballangen.no","balsfjord.no","bamble.no","bardu.no","barum.no","batsfjord.no","båtsfjord.no","bearalvahki.no","bearalváhki.no","beardu.no","beiarn.no","berg.no","bergen.no","berlevag.no","berlevåg.no","bievat.no","bievát.no","bindal.no","birkenes.no","bjarkoy.no","bjarkøy.no","bjerkreim.no","bjugn.no","bodo.no","bodø.no","bokn.no","bomlo.no","bømlo.no","bremanger.no","bronnoy.no","brønnøy.no","budejju.no","nes.buskerud.no","bygland.no","bykle.no","cahcesuolo.no","čáhcesuolo.no","davvenjarga.no","davvenjárga.no","davvesiida.no","deatnu.no","dielddanuorri.no","divtasvuodna.no","divttasvuotna.no","donna.no","dønna.no","dovre.no","drammen.no","drangedal.no","dyroy.no","dyrøy.no","eid.no","eidfjord.no","eidsberg.no","eidskog.no","eidsvoll.no","eigersund.no","elverum.no","enebakk.no","engerdal.no","etne.no","etnedal.no","evenassi.no","evenášši.no","evenes.no","evje-og-hornnes.no","farsund.no","fauske.no","fedje.no","fet.no","finnoy.no","finnøy.no","fitjar.no","fjaler.no","fjell.no","fla.no","flå.no","flakstad.no","flatanger.no","flekkefjord.no","flesberg.no","flora.no","folldal.no","forde.no","førde.no","forsand.no","fosnes.no","fræna.no","frana.no","frei.no","frogn.no","froland.no","frosta.no","froya.no","frøya.no","fuoisku.no","fuossko.no","fusa.no","fyresdal.no","gaivuotna.no","gáivuotna.no","galsa.no","gálsá.no","gamvik.no","gangaviika.no","gáŋgaviika.no","gaular.no","gausdal.no","giehtavuoatna.no","gildeskal.no","gildeskål.no","giske.no","gjemnes.no","gjerdrum.no","gjerstad.no","gjesdal.no","gjovik.no","gjøvik.no","gloppen.no","gol.no","gran.no","grane.no","granvin.no","gratangen.no","grimstad.no","grong.no","grue.no","gulen.no","guovdageaidnu.no","ha.no","hå.no","habmer.no","hábmer.no","hadsel.no","hægebostad.no","hagebostad.no","halden.no","halsa.no","hamar.no","hamaroy.no","hammarfeasta.no","hámmárfeasta.no","hammerfest.no","hapmir.no","hápmir.no","haram.no","hareid.no","harstad.no","hasvik.no","hattfjelldal.no","haugesund.no","os.hedmark.no","valer.hedmark.no","våler.hedmark.no","hemne.no","hemnes.no","hemsedal.no","hitra.no","hjartdal.no","hjelmeland.no","hobol.no","hobøl.no","hof.no","hol.no","hole.no","holmestrand.no","holtalen.no","holtålen.no","os.hordaland.no","hornindal.no","horten.no","hoyanger.no","høyanger.no","hoylandet.no","høylandet.no","hurdal.no","hurum.no","hvaler.no","hyllestad.no","ibestad.no","inderoy.no","inderøy.no","iveland.no","ivgu.no","jevnaker.no","jolster.no","jølster.no","jondal.no","kafjord.no","kåfjord.no","karasjohka.no","kárášjohka.no","karasjok.no","karlsoy.no","karmoy.no","karmøy.no","kautokeino.no","klabu.no","klæbu.no","klepp.no","kongsberg.no","kongsvinger.no","kraanghke.no","kråanghke.no","kragero.no","kragerø.no","kristiansand.no","kristiansund.no","krodsherad.no","krødsherad.no","kvæfjord.no","kvænangen.no","kvafjord.no","kvalsund.no","kvam.no","kvanangen.no","kvinesdal.no","kvinnherad.no","kviteseid.no","kvitsoy.no","kvitsøy.no","laakesvuemie.no","lærdal.no","lahppi.no","láhppi.no","lardal.no","larvik.no","lavagis.no","lavangen.no","leangaviika.no","leaŋgaviika.no","lebesby.no","leikanger.no","leirfjord.no","leka.no","leksvik.no","lenvik.no","lerdal.no","lesja.no","levanger.no","lier.no","lierne.no","lillehammer.no","lillesand.no","lindas.no","lindås.no","lindesnes.no","loabat.no","loabát.no","lodingen.no","lødingen.no","lom.no","loppa.no","lorenskog.no","lørenskog.no","loten.no","løten.no","lund.no","lunner.no","luroy.no","lurøy.no","luster.no","lyngdal.no","lyngen.no","malatvuopmi.no","málatvuopmi.no","malselv.no","målselv.no","malvik.no","mandal.no","marker.no","marnardal.no","masfjorden.no","masoy.no","måsøy.no","matta-varjjat.no","mátta-várjjat.no","meland.no","meldal.no","melhus.no","meloy.no","meløy.no","meraker.no","meråker.no","midsund.no","midtre-gauldal.no","moareke.no","moåreke.no","modalen.no","modum.no","molde.no","heroy.more-og-romsdal.no","sande.more-og-romsdal.no","herøy.møre-og-romsdal.no","sande.møre-og-romsdal.no","moskenes.no","moss.no","mosvik.no","muosat.no","muosát.no","naamesjevuemie.no","nååmesjevuemie.no","nærøy.no","namdalseid.no","namsos.no","namsskogan.no","nannestad.no","naroy.no","narviika.no","narvik.no","naustdal.no","navuotna.no","návuotna.no","nedre-eiker.no","nesna.no","nesodden.no","nesseby.no","nesset.no","nissedal.no","nittedal.no","nord-aurdal.no","nord-fron.no","nord-odal.no","norddal.no","nordkapp.no","bo.nordland.no","bø.nordland.no","heroy.nordland.no","herøy.nordland.no","nordre-land.no","nordreisa.no","nore-og-uvdal.no","notodden.no","notteroy.no","nøtterøy.no","odda.no","oksnes.no","øksnes.no","omasvuotna.no","oppdal.no","oppegard.no","oppegård.no","orkdal.no","orland.no","ørland.no","orskog.no","ørskog.no","orsta.no","ørsta.no","osen.no","osteroy.no","osterøy.no","valer.ostfold.no","våler.østfold.no","ostre-toten.no","østre-toten.no","overhalla.no","ovre-eiker.no","øvre-eiker.no","oyer.no","øyer.no","oygarden.no","øygarden.no","oystre-slidre.no","øystre-slidre.no","porsanger.no","porsangu.no","porsáŋgu.no","porsgrunn.no","rade.no","råde.no","radoy.no","radøy.no","rælingen.no","rahkkeravju.no","ráhkkerávju.no","raisa.no","ráisa.no","rakkestad.no","ralingen.no","rana.no","randaberg.no","rauma.no","rendalen.no","rennebu.no","rennesoy.no","rennesøy.no","rindal.no","ringebu.no","ringerike.no","ringsaker.no","risor.no","risør.no","rissa.no","roan.no","rodoy.no","rødøy.no","rollag.no","romsa.no","romskog.no","rømskog.no","roros.no","røros.no","rost.no","røst.no","royken.no","røyken.no","royrvik.no","røyrvik.no","ruovat.no","rygge.no","salangen.no","salat.no","sálat.no","sálát.no","saltdal.no","samnanger.no","sandefjord.no","sandnes.no","sandoy.no","sandøy.no","sarpsborg.no","sauda.no","sauherad.no","sel.no","selbu.no","selje.no","seljord.no","siellak.no","sigdal.no","siljan.no","sirdal.no","skanit.no","skánit.no","skanland.no","skånland.no","skaun.no","skedsmo.no","ski.no","skien.no","skierva.no","skiervá.no","skiptvet.no","skjak.no","skjåk.no","skjervoy.no","skjervøy.no","skodje.no","smola.no","smøla.no","snaase.no","snåase.no","snasa.no","snåsa.no","snillfjord.no","snoasa.no","sogndal.no","sogne.no","søgne.no","sokndal.no","sola.no","solund.no","somna.no","sømna.no","sondre-land.no","søndre-land.no","songdalen.no","sor-aurdal.no","sør-aurdal.no","sor-fron.no","sør-fron.no","sor-odal.no","sør-odal.no","sor-varanger.no","sør-varanger.no","sorfold.no","sørfold.no","sorreisa.no","sørreisa.no","sortland.no","sorum.no","sørum.no","spydeberg.no","stange.no","stavanger.no","steigen.no","steinkjer.no","stjordal.no","stjørdal.no","stokke.no","stor-elvdal.no","stord.no","stordal.no","storfjord.no","strand.no","stranda.no","stryn.no","sula.no","suldal.no","sund.no","sunndal.no","surnadal.no","sveio.no","svelvik.no","sykkylven.no","tana.no","bo.telemark.no","bø.telemark.no","time.no","tingvoll.no","tinn.no","tjeldsund.no","tjome.no","tjøme.no","tokke.no","tolga.no","tonsberg.no","tønsberg.no","torsken.no","træna.no","trana.no","tranoy.no","tranøy.no","troandin.no","trogstad.no","trøgstad.no","tromsa.no","tromso.no","tromsø.no","trondheim.no","trysil.no","tvedestrand.no","tydal.no","tynset.no","tysfjord.no","tysnes.no","tysvær.no","tysvar.no","ullensaker.no","ullensvang.no","ulvik.no","unjarga.no","unjárga.no","utsira.no","vaapste.no","vadso.no","vadsø.no","værøy.no","vaga.no","vågå.no","vagan.no","vågan.no","vagsoy.no","vågsøy.no","vaksdal.no","valle.no","vang.no","vanylven.no","vardo.no","vardø.no","varggat.no","várggát.no","varoy.no","vefsn.no","vega.no","vegarshei.no","vegårshei.no","vennesla.no","verdal.no","verran.no","vestby.no","sande.vestfold.no","vestnes.no","vestre-slidre.no","vestre-toten.no","vestvagoy.no","vestvågøy.no","vevelstad.no","vik.no","vikna.no","vindafjord.no","voagat.no","volda.no","voss.no","*.np","nr","biz.nr","com.nr","edu.nr","gov.nr","info.nr","net.nr","org.nr","nu","nz","ac.nz","co.nz","cri.nz","geek.nz","gen.nz","govt.nz","health.nz","iwi.nz","kiwi.nz","maori.nz","māori.nz","mil.nz","net.nz","org.nz","parliament.nz","school.nz","om","co.om","com.om","edu.om","gov.om","med.om","museum.om","net.om","org.om","pro.om","onion","org","pa","abo.pa","ac.pa","com.pa","edu.pa","gob.pa","ing.pa","med.pa","net.pa","nom.pa","org.pa","sld.pa","pe","com.pe","edu.pe","gob.pe","mil.pe","net.pe","nom.pe","org.pe","pf","com.pf","edu.pf","org.pf","*.pg","ph","com.ph","edu.ph","gov.ph","i.ph","mil.ph","net.ph","ngo.ph","org.ph","pk","ac.pk","biz.pk","com.pk","edu.pk","fam.pk","gkp.pk","gob.pk","gog.pk","gok.pk","gon.pk","gop.pk","gos.pk","gov.pk","net.pk","org.pk","web.pk","pl","com.pl","net.pl","org.pl","agro.pl","aid.pl","atm.pl","auto.pl","biz.pl","edu.pl","gmina.pl","gsm.pl","info.pl","mail.pl","media.pl","miasta.pl","mil.pl","nieruchomosci.pl","nom.pl","pc.pl","powiat.pl","priv.pl","realestate.pl","rel.pl","sex.pl","shop.pl","sklep.pl","sos.pl","szkola.pl","targi.pl","tm.pl","tourism.pl","travel.pl","turystyka.pl","gov.pl","ap.gov.pl","griw.gov.pl","ic.gov.pl","is.gov.pl","kmpsp.gov.pl","konsulat.gov.pl","kppsp.gov.pl","kwp.gov.pl","kwpsp.gov.pl","mup.gov.pl","mw.gov.pl","oia.gov.pl","oirm.gov.pl","oke.gov.pl","oow.gov.pl","oschr.gov.pl","oum.gov.pl","pa.gov.pl","pinb.gov.pl","piw.gov.pl","po.gov.pl","pr.gov.pl","psp.gov.pl","psse.gov.pl","pup.gov.pl","rzgw.gov.pl","sa.gov.pl","sdn.gov.pl","sko.gov.pl","so.gov.pl","sr.gov.pl","starostwo.gov.pl","ug.gov.pl","ugim.gov.pl","um.gov.pl","umig.gov.pl","upow.gov.pl","uppo.gov.pl","us.gov.pl","uw.gov.pl","uzs.gov.pl","wif.gov.pl","wiih.gov.pl","winb.gov.pl","wios.gov.pl","witd.gov.pl","wiw.gov.pl","wkz.gov.pl","wsa.gov.pl","wskr.gov.pl","wsse.gov.pl","wuoz.gov.pl","wzmiuw.gov.pl","zp.gov.pl","zpisdn.gov.pl","augustow.pl","babia-gora.pl","bedzin.pl","beskidy.pl","bialowieza.pl","bialystok.pl","bielawa.pl","bieszczady.pl","boleslawiec.pl","bydgoszcz.pl","bytom.pl","cieszyn.pl","czeladz.pl","czest.pl","dlugoleka.pl","elblag.pl","elk.pl","glogow.pl","gniezno.pl","gorlice.pl","grajewo.pl","ilawa.pl","jaworzno.pl","jelenia-gora.pl","jgora.pl","kalisz.pl","karpacz.pl","kartuzy.pl","kaszuby.pl","katowice.pl","kazimierz-dolny.pl","kepno.pl","ketrzyn.pl","klodzko.pl","kobierzyce.pl","kolobrzeg.pl","konin.pl","konskowola.pl","kutno.pl","lapy.pl","lebork.pl","legnica.pl","lezajsk.pl","limanowa.pl","lomza.pl","lowicz.pl","lubin.pl","lukow.pl","malbork.pl","malopolska.pl","mazowsze.pl","mazury.pl","mielec.pl","mielno.pl","mragowo.pl","naklo.pl","nowaruda.pl","nysa.pl","olawa.pl","olecko.pl","olkusz.pl","olsztyn.pl","opoczno.pl","opole.pl","ostroda.pl","ostroleka.pl","ostrowiec.pl","ostrowwlkp.pl","pila.pl","pisz.pl","podhale.pl","podlasie.pl","polkowice.pl","pomorskie.pl","pomorze.pl","prochowice.pl","pruszkow.pl","przeworsk.pl","pulawy.pl","radom.pl","rawa-maz.pl","rybnik.pl","rzeszow.pl","sanok.pl","sejny.pl","skoczow.pl","slask.pl","slupsk.pl","sosnowiec.pl","stalowa-wola.pl","starachowice.pl","stargard.pl","suwalki.pl","swidnica.pl","swiebodzin.pl","swinoujscie.pl","szczecin.pl","szczytno.pl","tarnobrzeg.pl","tgory.pl","turek.pl","tychy.pl","ustka.pl","walbrzych.pl","warmia.pl","warszawa.pl","waw.pl","wegrow.pl","wielun.pl","wlocl.pl","wloclawek.pl","wodzislaw.pl","wolomin.pl","wroclaw.pl","zachpomor.pl","zagan.pl","zarow.pl","zgora.pl","zgorzelec.pl","pm","pn","co.pn","edu.pn","gov.pn","net.pn","org.pn","post","pr","biz.pr","com.pr","edu.pr","gov.pr","info.pr","isla.pr","name.pr","net.pr","org.pr","pro.pr","ac.pr","est.pr","prof.pr","pro","aaa.pro","aca.pro","acct.pro","avocat.pro","bar.pro","cpa.pro","eng.pro","jur.pro","law.pro","med.pro","recht.pro","ps","com.ps","edu.ps","gov.ps","net.ps","org.ps","plo.ps","sec.ps","pt","com.pt","edu.pt","gov.pt","int.pt","net.pt","nome.pt","org.pt","publ.pt","pw","belau.pw","co.pw","ed.pw","go.pw","or.pw","py","com.py","coop.py","edu.py","gov.py","mil.py","net.py","org.py","qa","com.qa","edu.qa","gov.qa","mil.qa","name.qa","net.qa","org.qa","sch.qa","re","asso.re","com.re","ro","arts.ro","com.ro","firm.ro","info.ro","nom.ro","nt.ro","org.ro","rec.ro","store.ro","tm.ro","www.ro","rs","ac.rs","co.rs","edu.rs","gov.rs","in.rs","org.rs","ru","rw","ac.rw","co.rw","coop.rw","gov.rw","mil.rw","net.rw","org.rw","sa","com.sa","edu.sa","gov.sa","med.sa","net.sa","org.sa","pub.sa","sch.sa","sb","com.sb","edu.sb","gov.sb","net.sb","org.sb","sc","com.sc","edu.sc","gov.sc","net.sc","org.sc","sd","com.sd","edu.sd","gov.sd","info.sd","med.sd","net.sd","org.sd","tv.sd","se","a.se","ac.se","b.se","bd.se","brand.se","c.se","d.se","e.se","f.se","fh.se","fhsk.se","fhv.se","g.se","h.se","i.se","k.se","komforb.se","kommunalforbund.se","komvux.se","l.se","lanbib.se","m.se","n.se","naturbruksgymn.se","o.se","org.se","p.se","parti.se","pp.se","press.se","r.se","s.se","t.se","tm.se","u.se","w.se","x.se","y.se","z.se","sg","com.sg","edu.sg","gov.sg","net.sg","org.sg","sh","com.sh","gov.sh","mil.sh","net.sh","org.sh","si","sj","sk","sl","com.sl","edu.sl","gov.sl","net.sl","org.sl","sm","sn","art.sn","com.sn","edu.sn","gouv.sn","org.sn","perso.sn","univ.sn","so","com.so","edu.so","gov.so","me.so","net.so","org.so","sr","ss","biz.ss","co.ss","com.ss","edu.ss","gov.ss","me.ss","net.ss","org.ss","sch.ss","st","co.st","com.st","consulado.st","edu.st","embaixada.st","mil.st","net.st","org.st","principe.st","saotome.st","store.st","su","sv","com.sv","edu.sv","gob.sv","org.sv","red.sv","sx","gov.sx","sy","com.sy","edu.sy","gov.sy","mil.sy","net.sy","org.sy","sz","ac.sz","co.sz","org.sz","tc","td","tel","tf","tg","th","ac.th","co.th","go.th","in.th","mi.th","net.th","or.th","tj","ac.tj","biz.tj","co.tj","com.tj","edu.tj","go.tj","gov.tj","int.tj","mil.tj","name.tj","net.tj","nic.tj","org.tj","test.tj","web.tj","tk","tl","gov.tl","tm","co.tm","com.tm","edu.tm","gov.tm","mil.tm","net.tm","nom.tm","org.tm","tn","com.tn","ens.tn","fin.tn","gov.tn","ind.tn","info.tn","intl.tn","mincom.tn","nat.tn","net.tn","org.tn","perso.tn","tourism.tn","to","com.to","edu.to","gov.to","mil.to","net.to","org.to","tr","av.tr","bbs.tr","bel.tr","biz.tr","com.tr","dr.tr","edu.tr","gen.tr","gov.tr","info.tr","k12.tr","kep.tr","mil.tr","name.tr","net.tr","org.tr","pol.tr","tel.tr","tsk.tr","tv.tr","web.tr","nc.tr","gov.nc.tr","tt","biz.tt","co.tt","com.tt","edu.tt","gov.tt","info.tt","mil.tt","name.tt","net.tt","org.tt","pro.tt","tv","tw","club.tw","com.tw","ebiz.tw","edu.tw","game.tw","gov.tw","idv.tw","mil.tw","net.tw","org.tw","tz","ac.tz","co.tz","go.tz","hotel.tz","info.tz","me.tz","mil.tz","mobi.tz","ne.tz","or.tz","sc.tz","tv.tz","ua","com.ua","edu.ua","gov.ua","in.ua","net.ua","org.ua","cherkassy.ua","cherkasy.ua","chernigov.ua","chernihiv.ua","chernivtsi.ua","chernovtsy.ua","ck.ua","cn.ua","cr.ua","crimea.ua","cv.ua","dn.ua","dnepropetrovsk.ua","dnipropetrovsk.ua","donetsk.ua","dp.ua","if.ua","ivano-frankivsk.ua","kh.ua","kharkiv.ua","kharkov.ua","kherson.ua","khmelnitskiy.ua","khmelnytskyi.ua","kiev.ua","kirovograd.ua","km.ua","kr.ua","kropyvnytskyi.ua","krym.ua","ks.ua","kv.ua","kyiv.ua","lg.ua","lt.ua","lugansk.ua","luhansk.ua","lutsk.ua","lv.ua","lviv.ua","mk.ua","mykolaiv.ua","nikolaev.ua","od.ua","odesa.ua","odessa.ua","pl.ua","poltava.ua","rivne.ua","rovno.ua","rv.ua","sb.ua","sebastopol.ua","sevastopol.ua","sm.ua","sumy.ua","te.ua","ternopil.ua","uz.ua","uzhgorod.ua","uzhhorod.ua","vinnica.ua","vinnytsia.ua","vn.ua","volyn.ua","yalta.ua","zakarpattia.ua","zaporizhzhe.ua","zaporizhzhia.ua","zhitomir.ua","zhytomyr.ua","zp.ua","zt.ua","ug","ac.ug","co.ug","com.ug","go.ug","ne.ug","or.ug","org.ug","sc.ug","uk","ac.uk","co.uk","gov.uk","ltd.uk","me.uk","net.uk","nhs.uk","org.uk","plc.uk","police.uk","*.sch.uk","us","dni.us","fed.us","isa.us","kids.us","nsn.us","ak.us","al.us","ar.us","as.us","az.us","ca.us","co.us","ct.us","dc.us","de.us","fl.us","ga.us","gu.us","hi.us","ia.us","id.us","il.us","in.us","ks.us","ky.us","la.us","ma.us","md.us","me.us","mi.us","mn.us","mo.us","ms.us","mt.us","nc.us","nd.us","ne.us","nh.us","nj.us","nm.us","nv.us","ny.us","oh.us","ok.us","or.us","pa.us","pr.us","ri.us","sc.us","sd.us","tn.us","tx.us","ut.us","va.us","vi.us","vt.us","wa.us","wi.us","wv.us","wy.us","k12.ak.us","k12.al.us","k12.ar.us","k12.as.us","k12.az.us","k12.ca.us","k12.co.us","k12.ct.us","k12.dc.us","k12.fl.us","k12.ga.us","k12.gu.us","k12.ia.us","k12.id.us","k12.il.us","k12.in.us","k12.ks.us","k12.ky.us","k12.la.us","k12.ma.us","k12.md.us","k12.me.us","k12.mi.us","k12.mn.us","k12.mo.us","k12.ms.us","k12.mt.us","k12.nc.us","k12.ne.us","k12.nh.us","k12.nj.us","k12.nm.us","k12.nv.us","k12.ny.us","k12.oh.us","k12.ok.us","k12.or.us","k12.pa.us","k12.pr.us","k12.sc.us","k12.tn.us","k12.tx.us","k12.ut.us","k12.va.us","k12.vi.us","k12.vt.us","k12.wa.us","k12.wi.us","cc.ak.us","lib.ak.us","cc.al.us","lib.al.us","cc.ar.us","lib.ar.us","cc.as.us","lib.as.us","cc.az.us","lib.az.us","cc.ca.us","lib.ca.us","cc.co.us","lib.co.us","cc.ct.us","lib.ct.us","cc.dc.us","lib.dc.us","cc.de.us","cc.fl.us","cc.ga.us","cc.gu.us","cc.hi.us","cc.ia.us","cc.id.us","cc.il.us","cc.in.us","cc.ks.us","cc.ky.us","cc.la.us","cc.ma.us","cc.md.us","cc.me.us","cc.mi.us","cc.mn.us","cc.mo.us","cc.ms.us","cc.mt.us","cc.nc.us","cc.nd.us","cc.ne.us","cc.nh.us","cc.nj.us","cc.nm.us","cc.nv.us","cc.ny.us","cc.oh.us","cc.ok.us","cc.or.us","cc.pa.us","cc.pr.us","cc.ri.us","cc.sc.us","cc.sd.us","cc.tn.us","cc.tx.us","cc.ut.us","cc.va.us","cc.vi.us","cc.vt.us","cc.wa.us","cc.wi.us","cc.wv.us","cc.wy.us","k12.wy.us","lib.fl.us","lib.ga.us","lib.gu.us","lib.hi.us","lib.ia.us","lib.id.us","lib.il.us","lib.in.us","lib.ks.us","lib.ky.us","lib.la.us","lib.ma.us","lib.md.us","lib.me.us","lib.mi.us","lib.mn.us","lib.mo.us","lib.ms.us","lib.mt.us","lib.nc.us","lib.nd.us","lib.ne.us","lib.nh.us","lib.nj.us","lib.nm.us","lib.nv.us","lib.ny.us","lib.oh.us","lib.ok.us","lib.or.us","lib.pa.us","lib.pr.us","lib.ri.us","lib.sc.us","lib.sd.us","lib.tn.us","lib.tx.us","lib.ut.us","lib.va.us","lib.vi.us","lib.vt.us","lib.wa.us","lib.wi.us","lib.wy.us","chtr.k12.ma.us","paroch.k12.ma.us","pvt.k12.ma.us","ann-arbor.mi.us","cog.mi.us","dst.mi.us","eaton.mi.us","gen.mi.us","mus.mi.us","tec.mi.us","washtenaw.mi.us","uy","com.uy","edu.uy","gub.uy","mil.uy","net.uy","org.uy","uz","co.uz","com.uz","net.uz","org.uz","va","vc","com.vc","edu.vc","gov.vc","mil.vc","net.vc","org.vc","ve","arts.ve","bib.ve","co.ve","com.ve","e12.ve","edu.ve","firm.ve","gob.ve","gov.ve","info.ve","int.ve","mil.ve","net.ve","nom.ve","org.ve","rar.ve","rec.ve","store.ve","tec.ve","web.ve","vg","vi","co.vi","com.vi","k12.vi","net.vi","org.vi","vn","ac.vn","ai.vn","biz.vn","com.vn","edu.vn","gov.vn","health.vn","id.vn","info.vn","int.vn","io.vn","name.vn","net.vn","org.vn","pro.vn","angiang.vn","bacgiang.vn","backan.vn","baclieu.vn","bacninh.vn","baria-vungtau.vn","bentre.vn","binhdinh.vn","binhduong.vn","binhphuoc.vn","binhthuan.vn","camau.vn","cantho.vn","caobang.vn","daklak.vn","daknong.vn","danang.vn","dienbien.vn","dongnai.vn","dongthap.vn","gialai.vn","hagiang.vn","haiduong.vn","haiphong.vn","hanam.vn","hanoi.vn","hatinh.vn","haugiang.vn","hoabinh.vn","hungyen.vn","khanhhoa.vn","kiengiang.vn","kontum.vn","laichau.vn","lamdong.vn","langson.vn","laocai.vn","longan.vn","namdinh.vn","nghean.vn","ninhbinh.vn","ninhthuan.vn","phutho.vn","phuyen.vn","quangbinh.vn","quangnam.vn","quangngai.vn","quangninh.vn","quangtri.vn","soctrang.vn","sonla.vn","tayninh.vn","thaibinh.vn","thainguyen.vn","thanhhoa.vn","thanhphohochiminh.vn","thuathienhue.vn","tiengiang.vn","travinh.vn","tuyenquang.vn","vinhlong.vn","vinhphuc.vn","yenbai.vn","vu","com.vu","edu.vu","net.vu","org.vu","wf","ws","com.ws","edu.ws","gov.ws","net.ws","org.ws","yt","امارات","հայ","বাংলা","бг","البحرين","бел","中国","中國","الجزائر","مصر","ею","ευ","موريتانيا","გე","ελ","香港","個人.香港","公司.香港","政府.香港","教育.香港","組織.香港","網絡.香港","ಭಾರತ","ଭାରତ","ভাৰত","भारतम्","भारोत","ڀارت","ഭാരതം","भारत","بارت","بھارت","భారత్","ભારત","ਭਾਰਤ","ভারত","இந்தியா","ایران","ايران","عراق","الاردن","한국","қаз","ລາວ","ලංකා","இலங்கை","المغرب","мкд","мон","澳門","澳门","مليسيا","عمان","پاکستان","پاكستان","فلسطين","срб","ак.срб","обр.срб","од.срб","орг.срб","пр.срб","упр.срб","рф","قطر","السعودية","السعودیة","السعودیۃ","السعوديه","سودان","新加坡","சிங்கப்பூர்","سورية","سوريا","ไทย","ทหาร.ไทย","ธุรกิจ.ไทย","เน็ต.ไทย","รัฐบาล.ไทย","ศึกษา.ไทย","องค์กร.ไทย","تونس","台灣","台湾","臺灣","укр","اليمن","xxx","ye","com.ye","edu.ye","gov.ye","mil.ye","net.ye","org.ye","ac.za","agric.za","alt.za","co.za","edu.za","gov.za","grondar.za","law.za","mil.za","net.za","ngo.za","nic.za","nis.za","nom.za","org.za","school.za","tm.za","web.za","zm","ac.zm","biz.zm","co.zm","com.zm","edu.zm","gov.zm","info.zm","mil.zm","net.zm","org.zm","sch.zm","zw","ac.zw","co.zw","gov.zw","mil.zw","org.zw","aaa","aarp","abb","abbott","abbvie","abc","able","abogado","abudhabi","academy","accenture","accountant","accountants","aco","actor","ads","adult","aeg","aetna","afl","africa","agakhan","agency","aig","airbus","airforce","airtel","akdn","alibaba","alipay","allfinanz","allstate","ally","alsace","alstom","amazon","americanexpress","americanfamily","amex","amfam","amica","amsterdam","analytics","android","anquan","anz","aol","apartments","app","apple","aquarelle","arab","aramco","archi","army","art","arte","asda","associates","athleta","attorney","auction","audi","audible","audio","auspost","author","auto","autos","aws","axa","azure","baby","baidu","banamex","band","bank","bar","barcelona","barclaycard","barclays","barefoot","bargains","baseball","basketball","bauhaus","bayern","bbc","bbt","bbva","bcg","bcn","beats","beauty","beer","bentley","berlin","best","bestbuy","bet","bharti","bible","bid","bike","bing","bingo","bio","black","blackfriday","blockbuster","blog","bloomberg","blue","bms","bmw","bnpparibas","boats","boehringer","bofa","bom","bond","boo","book","booking","bosch","bostik","boston","bot","boutique","box","bradesco","bridgestone","broadway","broker","brother","brussels","build","builders","business","buy","buzz","bzh","cab","cafe","cal","call","calvinklein","cam","camera","camp","canon","capetown","capital","capitalone","car","caravan","cards","care","career","careers","cars","casa","case","cash","casino","catering","catholic","cba","cbn","cbre","center","ceo","cern","cfa","cfd","chanel","channel","charity","chase","chat","cheap","chintai","christmas","chrome","church","cipriani","circle","cisco","citadel","citi","citic","city","claims","cleaning","click","clinic","clinique","clothing","cloud","club","clubmed","coach","codes","coffee","college","cologne","commbank","community","company","compare","computer","comsec","condos","construction","consulting","contact","contractors","cooking","cool","corsica","country","coupon","coupons","courses","cpa","credit","creditcard","creditunion","cricket","crown","crs","cruise","cruises","cuisinella","cymru","cyou","dad","dance","data","date","dating","datsun","day","dclk","dds","deal","dealer","deals","degree","delivery","dell","deloitte","delta","democrat","dental","dentist","desi","design","dev","dhl","diamonds","diet","digital","direct","directory","discount","discover","dish","diy","dnp","docs","doctor","dog","domains","dot","download","drive","dtv","dubai","dunlop","dupont","durban","dvag","dvr","earth","eat","eco","edeka","education","email","emerck","energy","engineer","engineering","enterprises","epson","equipment","ericsson","erni","esq","estate","eurovision","eus","events","exchange","expert","exposed","express","extraspace","fage","fail","fairwinds","faith","family","fan","fans","farm","farmers","fashion","fast","fedex","feedback","ferrari","ferrero","fidelity","fido","film","final","finance","financial","fire","firestone","firmdale","fish","fishing","fit","fitness","flickr","flights","flir","florist","flowers","fly","foo","food","football","ford","forex","forsale","forum","foundation","fox","free","fresenius","frl","frogans","frontier","ftr","fujitsu","fun","fund","furniture","futbol","fyi","gal","gallery","gallo","gallup","game","games","gap","garden","gay","gbiz","gdn","gea","gent","genting","george","ggee","gift","gifts","gives","giving","glass","gle","global","globo","gmail","gmbh","gmo","gmx","godaddy","gold","goldpoint","golf","goo","goodyear","goog","google","gop","got","grainger","graphics","gratis","green","gripe","grocery","group","gucci","guge","guide","guitars","guru","hair","hamburg","hangout","haus","hbo","hdfc","hdfcbank","health","healthcare","help","helsinki","here","hermes","hiphop","hisamitsu","hitachi","hiv","hkt","hockey","holdings","holiday","homedepot","homegoods","homes","homesense","honda","horse","hospital","host","hosting","hot","hotels","hotmail","house","how","hsbc","hughes","hyatt","hyundai","ibm","icbc","ice","icu","ieee","ifm","ikano","imamat","imdb","immo","immobilien","inc","industries","infiniti","ing","ink","institute","insurance","insure","international","intuit","investments","ipiranga","irish","ismaili","ist","istanbul","itau","itv","jaguar","java","jcb","jeep","jetzt","jewelry","jio","jll","jmp","jnj","joburg","jot","joy","jpmorgan","jprs","juegos","juniper","kaufen","kddi","kerryhotels","kerrylogistics","kerryproperties","kfh","kia","kids","kim","kindle","kitchen","kiwi","koeln","komatsu","kosher","kpmg","kpn","krd","kred","kuokgroup","kyoto","lacaixa","lamborghini","lamer","lancaster","land","landrover","lanxess","lasalle","lat","latino","latrobe","law","lawyer","lds","lease","leclerc","lefrak","legal","lego","lexus","lgbt","lidl","life","lifeinsurance","lifestyle","lighting","like","lilly","limited","limo","lincoln","link","lipsy","live","living","llc","llp","loan","loans","locker","locus","lol","london","lotte","lotto","love","lpl","lplfinancial","ltd","ltda","lundbeck","luxe","luxury","madrid","maif","maison","makeup","man","management","mango","map","market","marketing","markets","marriott","marshalls","mattel","mba","mckinsey","med","media","meet","melbourne","meme","memorial","men","menu","merck","merckmsd","miami","microsoft","mini","mint","mit","mitsubishi","mlb","mls","mma","mobile","moda","moe","moi","mom","monash","money","monster","mormon","mortgage","moscow","moto","motorcycles","mov","movie","msd","mtn","mtr","music","nab","nagoya","navy","nba","nec","netbank","netflix","network","neustar","new","news","next","nextdirect","nexus","nfl","ngo","nhk","nico","nike","nikon","ninja","nissan","nissay","nokia","norton","now","nowruz","nowtv","nra","nrw","ntt","nyc","obi","observer","office","okinawa","olayan","olayangroup","ollo","omega","one","ong","onl","online","ooo","open","oracle","orange","organic","origins","osaka","otsuka","ott","ovh","page","panasonic","paris","pars","partners","parts","party","pay","pccw","pet","pfizer","pharmacy","phd","philips","phone","photo","photography","photos","physio","pics","pictet","pictures","pid","pin","ping","pink","pioneer","pizza","place","play","playstation","plumbing","plus","pnc","pohl","poker","politie","porn","pramerica","praxi","press","prime","prod","productions","prof","progressive","promo","properties","property","protection","pru","prudential","pub","pwc","qpon","quebec","quest","racing","radio","read","realestate","realtor","realty","recipes","red","redstone","redumbrella","rehab","reise","reisen","reit","reliance","ren","rent","rentals","repair","report","republican","rest","restaurant","review","reviews","rexroth","rich","richardli","ricoh","ril","rio","rip","rocks","rodeo","rogers","room","rsvp","rugby","ruhr","run","rwe","ryukyu","saarland","safe","safety","sakura","sale","salon","samsclub","samsung","sandvik","sandvikcoromant","sanofi","sap","sarl","sas","save","saxo","sbi","sbs","scb","schaeffler","schmidt","scholarships","school","schule","schwarz","science","scot","search","seat","secure","security","seek","select","sener","services","seven","sew","sex","sexy","sfr","shangrila","sharp","shell","shia","shiksha","shoes","shop","shopping","shouji","show","silk","sina","singles","site","ski","skin","sky","skype","sling","smart","smile","sncf","soccer","social","softbank","software","sohu","solar","solutions","song","sony","soy","spa","space","sport","spot","srl","stada","staples","star","statebank","statefarm","stc","stcgroup","stockholm","storage","store","stream","studio","study","style","sucks","supplies","supply","support","surf","surgery","suzuki","swatch","swiss","sydney","systems","tab","taipei","talk","taobao","target","tatamotors","tatar","tattoo","tax","taxi","tci","tdk","team","tech","technology","temasek","tennis","teva","thd","theater","theatre","tiaa","tickets","tienda","tips","tires","tirol","tjmaxx","tjx","tkmaxx","tmall","today","tokyo","tools","top","toray","toshiba","total","tours","town","toyota","toys","trade","trading","training","travel","travelers","travelersinsurance","trust","trv","tube","tui","tunes","tushu","tvs","ubank","ubs","unicom","university","uno","uol","ups","vacations","vana","vanguard","vegas","ventures","verisign","versicherung","vet","viajes","video","vig","viking","villas","vin","vip","virgin","visa","vision","viva","vivo","vlaanderen","vodka","volvo","vote","voting","voto","voyage","wales","walmart","walter","wang","wanggou","watch","watches","weather","weatherchannel","webcam","weber","website","wed","wedding","weibo","weir","whoswho","wien","wiki","williamhill","win","windows","wine","winners","wme","wolterskluwer","woodside","work","works","world","wow","wtc","wtf","xbox","xerox","xihuan","xin","कॉम","セール","佛山","慈善","集团","在线","点看","คอม","八卦","موقع","公益","公司","香格里拉","网站","移动","我爱你","москва","католик","онлайн","сайт","联通","קום","时尚","微博","淡马锡","ファッション","орг","नेट","ストア","アマゾン","삼성","商标","商店","商城","дети","ポイント","新闻","家電","كوم","中文网","中信","娱乐","谷歌","電訊盈科","购物","クラウド","通販","网店","संगठन","餐厅","网络","ком","亚马逊","食品","飞利浦","手机","ارامكو","العليان","بازار","ابوظبي","كاثوليك","همراه","닷컴","政府","شبكة","بيتك","عرب","机构","组织机构","健康","招聘","рус","大拿","みんな","グーグル","世界","書籍","网址","닷넷","コム","天主教","游戏","vermögensberater","vermögensberatung","企业","信息","嘉里大酒店","嘉里","广东","政务","xyz","yachts","yahoo","yamaxun","yandex","yodobashi","yoga","yokohama","you","youtube","yun","zappos","zara","zero","zip","zone","zuerich","co.krd","edu.krd","art.pl","gliwice.pl","krakow.pl","poznan.pl","wroc.pl","zakopane.pl","lib.de.us","12chars.dev","12chars.it","12chars.pro","cc.ua","inf.ua","ltd.ua","611.to","a2hosted.com","cpserver.com","aaa.vodka","*.on-acorn.io","activetrail.biz","adaptable.app","adobeaemcloud.com","*.dev.adobeaemcloud.com","aem.live","hlx.live","adobeaemcloud.net","aem.page","hlx.page","hlx3.page","adobeio-static.net","adobeioruntime.net","africa.com","beep.pl","airkitapps.com","airkitapps-au.com","airkitapps.eu","aivencloud.com","akadns.net","akamai.net","akamai-staging.net","akamaiedge.net","akamaiedge-staging.net","akamaihd.net","akamaihd-staging.net","akamaiorigin.net","akamaiorigin-staging.net","akamaized.net","akamaized-staging.net","edgekey.net","edgekey-staging.net","edgesuite.net","edgesuite-staging.net","barsy.ca","*.compute.estate","*.alces.network","kasserver.com","altervista.org","alwaysdata.net","myamaze.net","execute-api.cn-north-1.amazonaws.com.cn","execute-api.cn-northwest-1.amazonaws.com.cn","execute-api.af-south-1.amazonaws.com","execute-api.ap-east-1.amazonaws.com","execute-api.ap-northeast-1.amazonaws.com","execute-api.ap-northeast-2.amazonaws.com","execute-api.ap-northeast-3.amazonaws.com","execute-api.ap-south-1.amazonaws.com","execute-api.ap-south-2.amazonaws.com","execute-api.ap-southeast-1.amazonaws.com","execute-api.ap-southeast-2.amazonaws.com","execute-api.ap-southeast-3.amazonaws.com","execute-api.ap-southeast-4.amazonaws.com","execute-api.ap-southeast-5.amazonaws.com","execute-api.ca-central-1.amazonaws.com","execute-api.ca-west-1.amazonaws.com","execute-api.eu-central-1.amazonaws.com","execute-api.eu-central-2.amazonaws.com","execute-api.eu-north-1.amazonaws.com","execute-api.eu-south-1.amazonaws.com","execute-api.eu-south-2.amazonaws.com","execute-api.eu-west-1.amazonaws.com","execute-api.eu-west-2.amazonaws.com","execute-api.eu-west-3.amazonaws.com","execute-api.il-central-1.amazonaws.com","execute-api.me-central-1.amazonaws.com","execute-api.me-south-1.amazonaws.com","execute-api.sa-east-1.amazonaws.com","execute-api.us-east-1.amazonaws.com","execute-api.us-east-2.amazonaws.com","execute-api.us-gov-east-1.amazonaws.com","execute-api.us-gov-west-1.amazonaws.com","execute-api.us-west-1.amazonaws.com","execute-api.us-west-2.amazonaws.com","cloudfront.net","auth.af-south-1.amazoncognito.com","auth.ap-east-1.amazoncognito.com","auth.ap-northeast-1.amazoncognito.com","auth.ap-northeast-2.amazoncognito.com","auth.ap-northeast-3.amazoncognito.com","auth.ap-south-1.amazoncognito.com","auth.ap-south-2.amazoncognito.com","auth.ap-southeast-1.amazoncognito.com","auth.ap-southeast-2.amazoncognito.com","auth.ap-southeast-3.amazoncognito.com","auth.ap-southeast-4.amazoncognito.com","auth.ca-central-1.amazoncognito.com","auth.ca-west-1.amazoncognito.com","auth.eu-central-1.amazoncognito.com","auth.eu-central-2.amazoncognito.com","auth.eu-north-1.amazoncognito.com","auth.eu-south-1.amazoncognito.com","auth.eu-south-2.amazoncognito.com","auth.eu-west-1.amazoncognito.com","auth.eu-west-2.amazoncognito.com","auth.eu-west-3.amazoncognito.com","auth.il-central-1.amazoncognito.com","auth.me-central-1.amazoncognito.com","auth.me-south-1.amazoncognito.com","auth.sa-east-1.amazoncognito.com","auth.us-east-1.amazoncognito.com","auth-fips.us-east-1.amazoncognito.com","auth.us-east-2.amazoncognito.com","auth-fips.us-east-2.amazoncognito.com","auth-fips.us-gov-west-1.amazoncognito.com","auth.us-west-1.amazoncognito.com","auth-fips.us-west-1.amazoncognito.com","auth.us-west-2.amazoncognito.com","auth-fips.us-west-2.amazoncognito.com","*.compute.amazonaws.com.cn","*.compute.amazonaws.com","*.compute-1.amazonaws.com","us-east-1.amazonaws.com","emrappui-prod.cn-north-1.amazonaws.com.cn","emrnotebooks-prod.cn-north-1.amazonaws.com.cn","emrstudio-prod.cn-north-1.amazonaws.com.cn","emrappui-prod.cn-northwest-1.amazonaws.com.cn","emrnotebooks-prod.cn-northwest-1.amazonaws.com.cn","emrstudio-prod.cn-northwest-1.amazonaws.com.cn","emrappui-prod.af-south-1.amazonaws.com","emrnotebooks-prod.af-south-1.amazonaws.com","emrstudio-prod.af-south-1.amazonaws.com","emrappui-prod.ap-east-1.amazonaws.com","emrnotebooks-prod.ap-east-1.amazonaws.com","emrstudio-prod.ap-east-1.amazonaws.com","emrappui-prod.ap-northeast-1.amazonaws.com","emrnotebooks-prod.ap-northeast-1.amazonaws.com","emrstudio-prod.ap-northeast-1.amazonaws.com","emrappui-prod.ap-northeast-2.amazonaws.com","emrnotebooks-prod.ap-northeast-2.amazonaws.com","emrstudio-prod.ap-northeast-2.amazonaws.com","emrappui-prod.ap-northeast-3.amazonaws.com","emrnotebooks-prod.ap-northeast-3.amazonaws.com","emrstudio-prod.ap-northeast-3.amazonaws.com","emrappui-prod.ap-south-1.amazonaws.com","emrnotebooks-prod.ap-south-1.amazonaws.com","emrstudio-prod.ap-south-1.amazonaws.com","emrappui-prod.ap-south-2.amazonaws.com","emrnotebooks-prod.ap-south-2.amazonaws.com","emrstudio-prod.ap-south-2.amazonaws.com","emrappui-prod.ap-southeast-1.amazonaws.com","emrnotebooks-prod.ap-southeast-1.amazonaws.com","emrstudio-prod.ap-southeast-1.amazonaws.com","emrappui-prod.ap-southeast-2.amazonaws.com","emrnotebooks-prod.ap-southeast-2.amazonaws.com","emrstudio-prod.ap-southeast-2.amazonaws.com","emrappui-prod.ap-southeast-3.amazonaws.com","emrnotebooks-prod.ap-southeast-3.amazonaws.com","emrstudio-prod.ap-southeast-3.amazonaws.com","emrappui-prod.ap-southeast-4.amazonaws.com","emrnotebooks-prod.ap-southeast-4.amazonaws.com","emrstudio-prod.ap-southeast-4.amazonaws.com","emrappui-prod.ca-central-1.amazonaws.com","emrnotebooks-prod.ca-central-1.amazonaws.com","emrstudio-prod.ca-central-1.amazonaws.com","emrappui-prod.ca-west-1.amazonaws.com","emrnotebooks-prod.ca-west-1.amazonaws.com","emrstudio-prod.ca-west-1.amazonaws.com","emrappui-prod.eu-central-1.amazonaws.com","emrnotebooks-prod.eu-central-1.amazonaws.com","emrstudio-prod.eu-central-1.amazonaws.com","emrappui-prod.eu-central-2.amazonaws.com","emrnotebooks-prod.eu-central-2.amazonaws.com","emrstudio-prod.eu-central-2.amazonaws.com","emrappui-prod.eu-north-1.amazonaws.com","emrnotebooks-prod.eu-north-1.amazonaws.com","emrstudio-prod.eu-north-1.amazonaws.com","emrappui-prod.eu-south-1.amazonaws.com","emrnotebooks-prod.eu-south-1.amazonaws.com","emrstudio-prod.eu-south-1.amazonaws.com","emrappui-prod.eu-south-2.amazonaws.com","emrnotebooks-prod.eu-south-2.amazonaws.com","emrstudio-prod.eu-south-2.amazonaws.com","emrappui-prod.eu-west-1.amazonaws.com","emrnotebooks-prod.eu-west-1.amazonaws.com","emrstudio-prod.eu-west-1.amazonaws.com","emrappui-prod.eu-west-2.amazonaws.com","emrnotebooks-prod.eu-west-2.amazonaws.com","emrstudio-prod.eu-west-2.amazonaws.com","emrappui-prod.eu-west-3.amazonaws.com","emrnotebooks-prod.eu-west-3.amazonaws.com","emrstudio-prod.eu-west-3.amazonaws.com","emrappui-prod.il-central-1.amazonaws.com","emrnotebooks-prod.il-central-1.amazonaws.com","emrstudio-prod.il-central-1.amazonaws.com","emrappui-prod.me-central-1.amazonaws.com","emrnotebooks-prod.me-central-1.amazonaws.com","emrstudio-prod.me-central-1.amazonaws.com","emrappui-prod.me-south-1.amazonaws.com","emrnotebooks-prod.me-south-1.amazonaws.com","emrstudio-prod.me-south-1.amazonaws.com","emrappui-prod.sa-east-1.amazonaws.com","emrnotebooks-prod.sa-east-1.amazonaws.com","emrstudio-prod.sa-east-1.amazonaws.com","emrappui-prod.us-east-1.amazonaws.com","emrnotebooks-prod.us-east-1.amazonaws.com","emrstudio-prod.us-east-1.amazonaws.com","emrappui-prod.us-east-2.amazonaws.com","emrnotebooks-prod.us-east-2.amazonaws.com","emrstudio-prod.us-east-2.amazonaws.com","emrappui-prod.us-gov-east-1.amazonaws.com","emrnotebooks-prod.us-gov-east-1.amazonaws.com","emrstudio-prod.us-gov-east-1.amazonaws.com","emrappui-prod.us-gov-west-1.amazonaws.com","emrnotebooks-prod.us-gov-west-1.amazonaws.com","emrstudio-prod.us-gov-west-1.amazonaws.com","emrappui-prod.us-west-1.amazonaws.com","emrnotebooks-prod.us-west-1.amazonaws.com","emrstudio-prod.us-west-1.amazonaws.com","emrappui-prod.us-west-2.amazonaws.com","emrnotebooks-prod.us-west-2.amazonaws.com","emrstudio-prod.us-west-2.amazonaws.com","*.cn-north-1.airflow.amazonaws.com.cn","*.cn-northwest-1.airflow.amazonaws.com.cn","*.af-south-1.airflow.amazonaws.com","*.ap-east-1.airflow.amazonaws.com","*.ap-northeast-1.airflow.amazonaws.com","*.ap-northeast-2.airflow.amazonaws.com","*.ap-northeast-3.airflow.amazonaws.com","*.ap-south-1.airflow.amazonaws.com","*.ap-south-2.airflow.amazonaws.com","*.ap-southeast-1.airflow.amazonaws.com","*.ap-southeast-2.airflow.amazonaws.com","*.ap-southeast-3.airflow.amazonaws.com","*.ap-southeast-4.airflow.amazonaws.com","*.ca-central-1.airflow.amazonaws.com","*.ca-west-1.airflow.amazonaws.com","*.eu-central-1.airflow.amazonaws.com","*.eu-central-2.airflow.amazonaws.com","*.eu-north-1.airflow.amazonaws.com","*.eu-south-1.airflow.amazonaws.com","*.eu-south-2.airflow.amazonaws.com","*.eu-west-1.airflow.amazonaws.com","*.eu-west-2.airflow.amazonaws.com","*.eu-west-3.airflow.amazonaws.com","*.il-central-1.airflow.amazonaws.com","*.me-central-1.airflow.amazonaws.com","*.me-south-1.airflow.amazonaws.com","*.sa-east-1.airflow.amazonaws.com","*.us-east-1.airflow.amazonaws.com","*.us-east-2.airflow.amazonaws.com","*.us-west-1.airflow.amazonaws.com","*.us-west-2.airflow.amazonaws.com","s3.dualstack.cn-north-1.amazonaws.com.cn","s3-accesspoint.dualstack.cn-north-1.amazonaws.com.cn","s3-website.dualstack.cn-north-1.amazonaws.com.cn","s3.cn-north-1.amazonaws.com.cn","s3-accesspoint.cn-north-1.amazonaws.com.cn","s3-deprecated.cn-north-1.amazonaws.com.cn","s3-object-lambda.cn-north-1.amazonaws.com.cn","s3-website.cn-north-1.amazonaws.com.cn","s3.dualstack.cn-northwest-1.amazonaws.com.cn","s3-accesspoint.dualstack.cn-northwest-1.amazonaws.com.cn","s3.cn-northwest-1.amazonaws.com.cn","s3-accesspoint.cn-northwest-1.amazonaws.com.cn","s3-object-lambda.cn-northwest-1.amazonaws.com.cn","s3-website.cn-northwest-1.amazonaws.com.cn","s3.dualstack.af-south-1.amazonaws.com","s3-accesspoint.dualstack.af-south-1.amazonaws.com","s3-website.dualstack.af-south-1.amazonaws.com","s3.af-south-1.amazonaws.com","s3-accesspoint.af-south-1.amazonaws.com","s3-object-lambda.af-south-1.amazonaws.com","s3-website.af-south-1.amazonaws.com","s3.dualstack.ap-east-1.amazonaws.com","s3-accesspoint.dualstack.ap-east-1.amazonaws.com","s3.ap-east-1.amazonaws.com","s3-accesspoint.ap-east-1.amazonaws.com","s3-object-lambda.ap-east-1.amazonaws.com","s3-website.ap-east-1.amazonaws.com","s3.dualstack.ap-northeast-1.amazonaws.com","s3-accesspoint.dualstack.ap-northeast-1.amazonaws.com","s3-website.dualstack.ap-northeast-1.amazonaws.com","s3.ap-northeast-1.amazonaws.com","s3-accesspoint.ap-northeast-1.amazonaws.com","s3-object-lambda.ap-northeast-1.amazonaws.com","s3-website.ap-northeast-1.amazonaws.com","s3.dualstack.ap-northeast-2.amazonaws.com","s3-accesspoint.dualstack.ap-northeast-2.amazonaws.com","s3-website.dualstack.ap-northeast-2.amazonaws.com","s3.ap-northeast-2.amazonaws.com","s3-accesspoint.ap-northeast-2.amazonaws.com","s3-object-lambda.ap-northeast-2.amazonaws.com","s3-website.ap-northeast-2.amazonaws.com","s3.dualstack.ap-northeast-3.amazonaws.com","s3-accesspoint.dualstack.ap-northeast-3.amazonaws.com","s3-website.dualstack.ap-northeast-3.amazonaws.com","s3.ap-northeast-3.amazonaws.com","s3-accesspoint.ap-northeast-3.amazonaws.com","s3-object-lambda.ap-northeast-3.amazonaws.com","s3-website.ap-northeast-3.amazonaws.com","s3.dualstack.ap-south-1.amazonaws.com","s3-accesspoint.dualstack.ap-south-1.amazonaws.com","s3-website.dualstack.ap-south-1.amazonaws.com","s3.ap-south-1.amazonaws.com","s3-accesspoint.ap-south-1.amazonaws.com","s3-object-lambda.ap-south-1.amazonaws.com","s3-website.ap-south-1.amazonaws.com","s3.dualstack.ap-south-2.amazonaws.com","s3-accesspoint.dualstack.ap-south-2.amazonaws.com","s3-website.dualstack.ap-south-2.amazonaws.com","s3.ap-south-2.amazonaws.com","s3-accesspoint.ap-south-2.amazonaws.com","s3-object-lambda.ap-south-2.amazonaws.com","s3-website.ap-south-2.amazonaws.com","s3.dualstack.ap-southeast-1.amazonaws.com","s3-accesspoint.dualstack.ap-southeast-1.amazonaws.com","s3-website.dualstack.ap-southeast-1.amazonaws.com","s3.ap-southeast-1.amazonaws.com","s3-accesspoint.ap-southeast-1.amazonaws.com","s3-object-lambda.ap-southeast-1.amazonaws.com","s3-website.ap-southeast-1.amazonaws.com","s3.dualstack.ap-southeast-2.amazonaws.com","s3-accesspoint.dualstack.ap-southeast-2.amazonaws.com","s3-website.dualstack.ap-southeast-2.amazonaws.com","s3.ap-southeast-2.amazonaws.com","s3-accesspoint.ap-southeast-2.amazonaws.com","s3-object-lambda.ap-southeast-2.amazonaws.com","s3-website.ap-southeast-2.amazonaws.com","s3.dualstack.ap-southeast-3.amazonaws.com","s3-accesspoint.dualstack.ap-southeast-3.amazonaws.com","s3-website.dualstack.ap-southeast-3.amazonaws.com","s3.ap-southeast-3.amazonaws.com","s3-accesspoint.ap-southeast-3.amazonaws.com","s3-object-lambda.ap-southeast-3.amazonaws.com","s3-website.ap-southeast-3.amazonaws.com","s3.dualstack.ap-southeast-4.amazonaws.com","s3-accesspoint.dualstack.ap-southeast-4.amazonaws.com","s3-website.dualstack.ap-southeast-4.amazonaws.com","s3.ap-southeast-4.amazonaws.com","s3-accesspoint.ap-southeast-4.amazonaws.com","s3-object-lambda.ap-southeast-4.amazonaws.com","s3-website.ap-southeast-4.amazonaws.com","s3.dualstack.ap-southeast-5.amazonaws.com","s3-accesspoint.dualstack.ap-southeast-5.amazonaws.com","s3-website.dualstack.ap-southeast-5.amazonaws.com","s3.ap-southeast-5.amazonaws.com","s3-accesspoint.ap-southeast-5.amazonaws.com","s3-deprecated.ap-southeast-5.amazonaws.com","s3-object-lambda.ap-southeast-5.amazonaws.com","s3-website.ap-southeast-5.amazonaws.com","s3.dualstack.ca-central-1.amazonaws.com","s3-accesspoint.dualstack.ca-central-1.amazonaws.com","s3-accesspoint-fips.dualstack.ca-central-1.amazonaws.com","s3-fips.dualstack.ca-central-1.amazonaws.com","s3-website.dualstack.ca-central-1.amazonaws.com","s3.ca-central-1.amazonaws.com","s3-accesspoint.ca-central-1.amazonaws.com","s3-accesspoint-fips.ca-central-1.amazonaws.com","s3-fips.ca-central-1.amazonaws.com","s3-object-lambda.ca-central-1.amazonaws.com","s3-website.ca-central-1.amazonaws.com","s3.dualstack.ca-west-1.amazonaws.com","s3-accesspoint.dualstack.ca-west-1.amazonaws.com","s3-accesspoint-fips.dualstack.ca-west-1.amazonaws.com","s3-fips.dualstack.ca-west-1.amazonaws.com","s3-website.dualstack.ca-west-1.amazonaws.com","s3.ca-west-1.amazonaws.com","s3-accesspoint.ca-west-1.amazonaws.com","s3-accesspoint-fips.ca-west-1.amazonaws.com","s3-fips.ca-west-1.amazonaws.com","s3-object-lambda.ca-west-1.amazonaws.com","s3-website.ca-west-1.amazonaws.com","s3.dualstack.eu-central-1.amazonaws.com","s3-accesspoint.dualstack.eu-central-1.amazonaws.com","s3-website.dualstack.eu-central-1.amazonaws.com","s3.eu-central-1.amazonaws.com","s3-accesspoint.eu-central-1.amazonaws.com","s3-object-lambda.eu-central-1.amazonaws.com","s3-website.eu-central-1.amazonaws.com","s3.dualstack.eu-central-2.amazonaws.com","s3-accesspoint.dualstack.eu-central-2.amazonaws.com","s3-website.dualstack.eu-central-2.amazonaws.com","s3.eu-central-2.amazonaws.com","s3-accesspoint.eu-central-2.amazonaws.com","s3-object-lambda.eu-central-2.amazonaws.com","s3-website.eu-central-2.amazonaws.com","s3.dualstack.eu-north-1.amazonaws.com","s3-accesspoint.dualstack.eu-north-1.amazonaws.com","s3.eu-north-1.amazonaws.com","s3-accesspoint.eu-north-1.amazonaws.com","s3-object-lambda.eu-north-1.amazonaws.com","s3-website.eu-north-1.amazonaws.com","s3.dualstack.eu-south-1.amazonaws.com","s3-accesspoint.dualstack.eu-south-1.amazonaws.com","s3-website.dualstack.eu-south-1.amazonaws.com","s3.eu-south-1.amazonaws.com","s3-accesspoint.eu-south-1.amazonaws.com","s3-object-lambda.eu-south-1.amazonaws.com","s3-website.eu-south-1.amazonaws.com","s3.dualstack.eu-south-2.amazonaws.com","s3-accesspoint.dualstack.eu-south-2.amazonaws.com","s3-website.dualstack.eu-south-2.amazonaws.com","s3.eu-south-2.amazonaws.com","s3-accesspoint.eu-south-2.amazonaws.com","s3-object-lambda.eu-south-2.amazonaws.com","s3-website.eu-south-2.amazonaws.com","s3.dualstack.eu-west-1.amazonaws.com","s3-accesspoint.dualstack.eu-west-1.amazonaws.com","s3-website.dualstack.eu-west-1.amazonaws.com","s3.eu-west-1.amazonaws.com","s3-accesspoint.eu-west-1.amazonaws.com","s3-deprecated.eu-west-1.amazonaws.com","s3-object-lambda.eu-west-1.amazonaws.com","s3-website.eu-west-1.amazonaws.com","s3.dualstack.eu-west-2.amazonaws.com","s3-accesspoint.dualstack.eu-west-2.amazonaws.com","s3.eu-west-2.amazonaws.com","s3-accesspoint.eu-west-2.amazonaws.com","s3-object-lambda.eu-west-2.amazonaws.com","s3-website.eu-west-2.amazonaws.com","s3.dualstack.eu-west-3.amazonaws.com","s3-accesspoint.dualstack.eu-west-3.amazonaws.com","s3-website.dualstack.eu-west-3.amazonaws.com","s3.eu-west-3.amazonaws.com","s3-accesspoint.eu-west-3.amazonaws.com","s3-object-lambda.eu-west-3.amazonaws.com","s3-website.eu-west-3.amazonaws.com","s3.dualstack.il-central-1.amazonaws.com","s3-accesspoint.dualstack.il-central-1.amazonaws.com","s3-website.dualstack.il-central-1.amazonaws.com","s3.il-central-1.amazonaws.com","s3-accesspoint.il-central-1.amazonaws.com","s3-object-lambda.il-central-1.amazonaws.com","s3-website.il-central-1.amazonaws.com","s3.dualstack.me-central-1.amazonaws.com","s3-accesspoint.dualstack.me-central-1.amazonaws.com","s3-website.dualstack.me-central-1.amazonaws.com","s3.me-central-1.amazonaws.com","s3-accesspoint.me-central-1.amazonaws.com","s3-object-lambda.me-central-1.amazonaws.com","s3-website.me-central-1.amazonaws.com","s3.dualstack.me-south-1.amazonaws.com","s3-accesspoint.dualstack.me-south-1.amazonaws.com","s3.me-south-1.amazonaws.com","s3-accesspoint.me-south-1.amazonaws.com","s3-object-lambda.me-south-1.amazonaws.com","s3-website.me-south-1.amazonaws.com","s3.amazonaws.com","s3-1.amazonaws.com","s3-ap-east-1.amazonaws.com","s3-ap-northeast-1.amazonaws.com","s3-ap-northeast-2.amazonaws.com","s3-ap-northeast-3.amazonaws.com","s3-ap-south-1.amazonaws.com","s3-ap-southeast-1.amazonaws.com","s3-ap-southeast-2.amazonaws.com","s3-ca-central-1.amazonaws.com","s3-eu-central-1.amazonaws.com","s3-eu-north-1.amazonaws.com","s3-eu-west-1.amazonaws.com","s3-eu-west-2.amazonaws.com","s3-eu-west-3.amazonaws.com","s3-external-1.amazonaws.com","s3-fips-us-gov-east-1.amazonaws.com","s3-fips-us-gov-west-1.amazonaws.com","mrap.accesspoint.s3-global.amazonaws.com","s3-me-south-1.amazonaws.com","s3-sa-east-1.amazonaws.com","s3-us-east-2.amazonaws.com","s3-us-gov-east-1.amazonaws.com","s3-us-gov-west-1.amazonaws.com","s3-us-west-1.amazonaws.com","s3-us-west-2.amazonaws.com","s3-website-ap-northeast-1.amazonaws.com","s3-website-ap-southeast-1.amazonaws.com","s3-website-ap-southeast-2.amazonaws.com","s3-website-eu-west-1.amazonaws.com","s3-website-sa-east-1.amazonaws.com","s3-website-us-east-1.amazonaws.com","s3-website-us-gov-west-1.amazonaws.com","s3-website-us-west-1.amazonaws.com","s3-website-us-west-2.amazonaws.com","s3.dualstack.sa-east-1.amazonaws.com","s3-accesspoint.dualstack.sa-east-1.amazonaws.com","s3-website.dualstack.sa-east-1.amazonaws.com","s3.sa-east-1.amazonaws.com","s3-accesspoint.sa-east-1.amazonaws.com","s3-object-lambda.sa-east-1.amazonaws.com","s3-website.sa-east-1.amazonaws.com","s3.dualstack.us-east-1.amazonaws.com","s3-accesspoint.dualstack.us-east-1.amazonaws.com","s3-accesspoint-fips.dualstack.us-east-1.amazonaws.com","s3-fips.dualstack.us-east-1.amazonaws.com","s3-website.dualstack.us-east-1.amazonaws.com","s3.us-east-1.amazonaws.com","s3-accesspoint.us-east-1.amazonaws.com","s3-accesspoint-fips.us-east-1.amazonaws.com","s3-deprecated.us-east-1.amazonaws.com","s3-fips.us-east-1.amazonaws.com","s3-object-lambda.us-east-1.amazonaws.com","s3-website.us-east-1.amazonaws.com","s3.dualstack.us-east-2.amazonaws.com","s3-accesspoint.dualstack.us-east-2.amazonaws.com","s3-accesspoint-fips.dualstack.us-east-2.amazonaws.com","s3-fips.dualstack.us-east-2.amazonaws.com","s3-website.dualstack.us-east-2.amazonaws.com","s3.us-east-2.amazonaws.com","s3-accesspoint.us-east-2.amazonaws.com","s3-accesspoint-fips.us-east-2.amazonaws.com","s3-deprecated.us-east-2.amazonaws.com","s3-fips.us-east-2.amazonaws.com","s3-object-lambda.us-east-2.amazonaws.com","s3-website.us-east-2.amazonaws.com","s3.dualstack.us-gov-east-1.amazonaws.com","s3-accesspoint.dualstack.us-gov-east-1.amazonaws.com","s3-accesspoint-fips.dualstack.us-gov-east-1.amazonaws.com","s3-fips.dualstack.us-gov-east-1.amazonaws.com","s3.us-gov-east-1.amazonaws.com","s3-accesspoint.us-gov-east-1.amazonaws.com","s3-accesspoint-fips.us-gov-east-1.amazonaws.com","s3-fips.us-gov-east-1.amazonaws.com","s3-object-lambda.us-gov-east-1.amazonaws.com","s3-website.us-gov-east-1.amazonaws.com","s3.dualstack.us-gov-west-1.amazonaws.com","s3-accesspoint.dualstack.us-gov-west-1.amazonaws.com","s3-accesspoint-fips.dualstack.us-gov-west-1.amazonaws.com","s3-fips.dualstack.us-gov-west-1.amazonaws.com","s3.us-gov-west-1.amazonaws.com","s3-accesspoint.us-gov-west-1.amazonaws.com","s3-accesspoint-fips.us-gov-west-1.amazonaws.com","s3-fips.us-gov-west-1.amazonaws.com","s3-object-lambda.us-gov-west-1.amazonaws.com","s3-website.us-gov-west-1.amazonaws.com","s3.dualstack.us-west-1.amazonaws.com","s3-accesspoint.dualstack.us-west-1.amazonaws.com","s3-accesspoint-fips.dualstack.us-west-1.amazonaws.com","s3-fips.dualstack.us-west-1.amazonaws.com","s3-website.dualstack.us-west-1.amazonaws.com","s3.us-west-1.amazonaws.com","s3-accesspoint.us-west-1.amazonaws.com","s3-accesspoint-fips.us-west-1.amazonaws.com","s3-fips.us-west-1.amazonaws.com","s3-object-lambda.us-west-1.amazonaws.com","s3-website.us-west-1.amazonaws.com","s3.dualstack.us-west-2.amazonaws.com","s3-accesspoint.dualstack.us-west-2.amazonaws.com","s3-accesspoint-fips.dualstack.us-west-2.amazonaws.com","s3-fips.dualstack.us-west-2.amazonaws.com","s3-website.dualstack.us-west-2.amazonaws.com","s3.us-west-2.amazonaws.com","s3-accesspoint.us-west-2.amazonaws.com","s3-accesspoint-fips.us-west-2.amazonaws.com","s3-deprecated.us-west-2.amazonaws.com","s3-fips.us-west-2.amazonaws.com","s3-object-lambda.us-west-2.amazonaws.com","s3-website.us-west-2.amazonaws.com","labeling.ap-northeast-1.sagemaker.aws","labeling.ap-northeast-2.sagemaker.aws","labeling.ap-south-1.sagemaker.aws","labeling.ap-southeast-1.sagemaker.aws","labeling.ap-southeast-2.sagemaker.aws","labeling.ca-central-1.sagemaker.aws","labeling.eu-central-1.sagemaker.aws","labeling.eu-west-1.sagemaker.aws","labeling.eu-west-2.sagemaker.aws","labeling.us-east-1.sagemaker.aws","labeling.us-east-2.sagemaker.aws","labeling.us-west-2.sagemaker.aws","notebook.af-south-1.sagemaker.aws","notebook.ap-east-1.sagemaker.aws","notebook.ap-northeast-1.sagemaker.aws","notebook.ap-northeast-2.sagemaker.aws","notebook.ap-northeast-3.sagemaker.aws","notebook.ap-south-1.sagemaker.aws","notebook.ap-south-2.sagemaker.aws","notebook.ap-southeast-1.sagemaker.aws","notebook.ap-southeast-2.sagemaker.aws","notebook.ap-southeast-3.sagemaker.aws","notebook.ap-southeast-4.sagemaker.aws","notebook.ca-central-1.sagemaker.aws","notebook-fips.ca-central-1.sagemaker.aws","notebook.ca-west-1.sagemaker.aws","notebook-fips.ca-west-1.sagemaker.aws","notebook.eu-central-1.sagemaker.aws","notebook.eu-central-2.sagemaker.aws","notebook.eu-north-1.sagemaker.aws","notebook.eu-south-1.sagemaker.aws","notebook.eu-south-2.sagemaker.aws","notebook.eu-west-1.sagemaker.aws","notebook.eu-west-2.sagemaker.aws","notebook.eu-west-3.sagemaker.aws","notebook.il-central-1.sagemaker.aws","notebook.me-central-1.sagemaker.aws","notebook.me-south-1.sagemaker.aws","notebook.sa-east-1.sagemaker.aws","notebook.us-east-1.sagemaker.aws","notebook-fips.us-east-1.sagemaker.aws","notebook.us-east-2.sagemaker.aws","notebook-fips.us-east-2.sagemaker.aws","notebook.us-gov-east-1.sagemaker.aws","notebook-fips.us-gov-east-1.sagemaker.aws","notebook.us-gov-west-1.sagemaker.aws","notebook-fips.us-gov-west-1.sagemaker.aws","notebook.us-west-1.sagemaker.aws","notebook-fips.us-west-1.sagemaker.aws","notebook.us-west-2.sagemaker.aws","notebook-fips.us-west-2.sagemaker.aws","notebook.cn-north-1.sagemaker.com.cn","notebook.cn-northwest-1.sagemaker.com.cn","studio.af-south-1.sagemaker.aws","studio.ap-east-1.sagemaker.aws","studio.ap-northeast-1.sagemaker.aws","studio.ap-northeast-2.sagemaker.aws","studio.ap-northeast-3.sagemaker.aws","studio.ap-south-1.sagemaker.aws","studio.ap-southeast-1.sagemaker.aws","studio.ap-southeast-2.sagemaker.aws","studio.ap-southeast-3.sagemaker.aws","studio.ca-central-1.sagemaker.aws","studio.eu-central-1.sagemaker.aws","studio.eu-north-1.sagemaker.aws","studio.eu-south-1.sagemaker.aws","studio.eu-south-2.sagemaker.aws","studio.eu-west-1.sagemaker.aws","studio.eu-west-2.sagemaker.aws","studio.eu-west-3.sagemaker.aws","studio.il-central-1.sagemaker.aws","studio.me-central-1.sagemaker.aws","studio.me-south-1.sagemaker.aws","studio.sa-east-1.sagemaker.aws","studio.us-east-1.sagemaker.aws","studio.us-east-2.sagemaker.aws","studio.us-gov-east-1.sagemaker.aws","studio-fips.us-gov-east-1.sagemaker.aws","studio.us-gov-west-1.sagemaker.aws","studio-fips.us-gov-west-1.sagemaker.aws","studio.us-west-1.sagemaker.aws","studio.us-west-2.sagemaker.aws","studio.cn-north-1.sagemaker.com.cn","studio.cn-northwest-1.sagemaker.com.cn","*.experiments.sagemaker.aws","analytics-gateway.ap-northeast-1.amazonaws.com","analytics-gateway.ap-northeast-2.amazonaws.com","analytics-gateway.ap-south-1.amazonaws.com","analytics-gateway.ap-southeast-1.amazonaws.com","analytics-gateway.ap-southeast-2.amazonaws.com","analytics-gateway.eu-central-1.amazonaws.com","analytics-gateway.eu-west-1.amazonaws.com","analytics-gateway.us-east-1.amazonaws.com","analytics-gateway.us-east-2.amazonaws.com","analytics-gateway.us-west-2.amazonaws.com","amplifyapp.com","*.awsapprunner.com","webview-assets.aws-cloud9.af-south-1.amazonaws.com","vfs.cloud9.af-south-1.amazonaws.com","webview-assets.cloud9.af-south-1.amazonaws.com","webview-assets.aws-cloud9.ap-east-1.amazonaws.com","vfs.cloud9.ap-east-1.amazonaws.com","webview-assets.cloud9.ap-east-1.amazonaws.com","webview-assets.aws-cloud9.ap-northeast-1.amazonaws.com","vfs.cloud9.ap-northeast-1.amazonaws.com","webview-assets.cloud9.ap-northeast-1.amazonaws.com","webview-assets.aws-cloud9.ap-northeast-2.amazonaws.com","vfs.cloud9.ap-northeast-2.amazonaws.com","webview-assets.cloud9.ap-northeast-2.amazonaws.com","webview-assets.aws-cloud9.ap-northeast-3.amazonaws.com","vfs.cloud9.ap-northeast-3.amazonaws.com","webview-assets.cloud9.ap-northeast-3.amazonaws.com","webview-assets.aws-cloud9.ap-south-1.amazonaws.com","vfs.cloud9.ap-south-1.amazonaws.com","webview-assets.cloud9.ap-south-1.amazonaws.com","webview-assets.aws-cloud9.ap-southeast-1.amazonaws.com","vfs.cloud9.ap-southeast-1.amazonaws.com","webview-assets.cloud9.ap-southeast-1.amazonaws.com","webview-assets.aws-cloud9.ap-southeast-2.amazonaws.com","vfs.cloud9.ap-southeast-2.amazonaws.com","webview-assets.cloud9.ap-southeast-2.amazonaws.com","webview-assets.aws-cloud9.ca-central-1.amazonaws.com","vfs.cloud9.ca-central-1.amazonaws.com","webview-assets.cloud9.ca-central-1.amazonaws.com","webview-assets.aws-cloud9.eu-central-1.amazonaws.com","vfs.cloud9.eu-central-1.amazonaws.com","webview-assets.cloud9.eu-central-1.amazonaws.com","webview-assets.aws-cloud9.eu-north-1.amazonaws.com","vfs.cloud9.eu-north-1.amazonaws.com","webview-assets.cloud9.eu-north-1.amazonaws.com","webview-assets.aws-cloud9.eu-south-1.amazonaws.com","vfs.cloud9.eu-south-1.amazonaws.com","webview-assets.cloud9.eu-south-1.amazonaws.com","webview-assets.aws-cloud9.eu-west-1.amazonaws.com","vfs.cloud9.eu-west-1.amazonaws.com","webview-assets.cloud9.eu-west-1.amazonaws.com","webview-assets.aws-cloud9.eu-west-2.amazonaws.com","vfs.cloud9.eu-west-2.amazonaws.com","webview-assets.cloud9.eu-west-2.amazonaws.com","webview-assets.aws-cloud9.eu-west-3.amazonaws.com","vfs.cloud9.eu-west-3.amazonaws.com","webview-assets.cloud9.eu-west-3.amazonaws.com","webview-assets.aws-cloud9.il-central-1.amazonaws.com","vfs.cloud9.il-central-1.amazonaws.com","webview-assets.aws-cloud9.me-south-1.amazonaws.com","vfs.cloud9.me-south-1.amazonaws.com","webview-assets.cloud9.me-south-1.amazonaws.com","webview-assets.aws-cloud9.sa-east-1.amazonaws.com","vfs.cloud9.sa-east-1.amazonaws.com","webview-assets.cloud9.sa-east-1.amazonaws.com","webview-assets.aws-cloud9.us-east-1.amazonaws.com","vfs.cloud9.us-east-1.amazonaws.com","webview-assets.cloud9.us-east-1.amazonaws.com","webview-assets.aws-cloud9.us-east-2.amazonaws.com","vfs.cloud9.us-east-2.amazonaws.com","webview-assets.cloud9.us-east-2.amazonaws.com","webview-assets.aws-cloud9.us-west-1.amazonaws.com","vfs.cloud9.us-west-1.amazonaws.com","webview-assets.cloud9.us-west-1.amazonaws.com","webview-assets.aws-cloud9.us-west-2.amazonaws.com","vfs.cloud9.us-west-2.amazonaws.com","webview-assets.cloud9.us-west-2.amazonaws.com","awsapps.com","cn-north-1.eb.amazonaws.com.cn","cn-northwest-1.eb.amazonaws.com.cn","elasticbeanstalk.com","af-south-1.elasticbeanstalk.com","ap-east-1.elasticbeanstalk.com","ap-northeast-1.elasticbeanstalk.com","ap-northeast-2.elasticbeanstalk.com","ap-northeast-3.elasticbeanstalk.com","ap-south-1.elasticbeanstalk.com","ap-southeast-1.elasticbeanstalk.com","ap-southeast-2.elasticbeanstalk.com","ap-southeast-3.elasticbeanstalk.com","ca-central-1.elasticbeanstalk.com","eu-central-1.elasticbeanstalk.com","eu-north-1.elasticbeanstalk.com","eu-south-1.elasticbeanstalk.com","eu-west-1.elasticbeanstalk.com","eu-west-2.elasticbeanstalk.com","eu-west-3.elasticbeanstalk.com","il-central-1.elasticbeanstalk.com","me-south-1.elasticbeanstalk.com","sa-east-1.elasticbeanstalk.com","us-east-1.elasticbeanstalk.com","us-east-2.elasticbeanstalk.com","us-gov-east-1.elasticbeanstalk.com","us-gov-west-1.elasticbeanstalk.com","us-west-1.elasticbeanstalk.com","us-west-2.elasticbeanstalk.com","*.elb.amazonaws.com.cn","*.elb.amazonaws.com","awsglobalaccelerator.com","*.private.repost.aws","eero.online","eero-stage.online","apigee.io","panel.dev","siiites.com","appspacehosted.com","appspaceusercontent.com","appudo.net","on-aptible.com","f5.si","arvanedge.ir","user.aseinet.ne.jp","gv.vc","d.gv.vc","user.party.eus","pimienta.org","poivron.org","potager.org","sweetpepper.org","myasustor.com","cdn.prod.atlassian-dev.net","translated.page","myfritz.link","myfritz.net","onavstack.net","*.awdev.ca","*.advisor.ws","ecommerce-shop.pl","b-data.io","balena-devices.com","base.ec","official.ec","buyshop.jp","fashionstore.jp","handcrafted.jp","kawaiishop.jp","supersale.jp","theshop.jp","shopselect.net","base.shop","beagleboard.io","*.beget.app","pages.gay","bnr.la","bitbucket.io","blackbaudcdn.net","of.je","bluebite.io","boomla.net","boutir.com","boxfuse.io","square7.ch","bplaced.com","bplaced.de","square7.de","bplaced.net","square7.net","*.s.brave.io","shop.brendly.hr","shop.brendly.rs","browsersafetymark.io","radio.am","radio.fm","uk0.bigv.io","dh.bytemark.co.uk","vm.bytemark.co.uk","cafjs.com","canva-apps.cn","*.my.canvasite.cn","canva-apps.com","*.my.canva.site","drr.ac","uwu.ai","carrd.co","crd.co","ju.mp","api.gov.uk","cdn77-storage.com","rsc.contentproxy9.cz","r.cdn77.net","cdn77-ssl.net","c.cdn77.org","rsc.cdn77.org","ssl.origin.cdn77-secure.org","za.bz","br.com","cn.com","de.com","eu.com","jpn.com","mex.com","ru.com","sa.com","uk.com","us.com","za.com","com.de","gb.net","hu.net","jp.net","se.net","uk.net","ae.org","com.se","cx.ua","discourse.group","discourse.team","clerk.app","clerkstage.app","*.lcl.dev","*.lclstage.dev","*.stg.dev","*.stgstage.dev","cleverapps.cc","*.services.clever-cloud.com","cleverapps.io","cleverapps.tech","clickrising.net","cloudns.asia","cloudns.be","cloud-ip.biz","cloudns.biz","cloudns.cc","cloudns.ch","cloudns.cl","cloudns.club","dnsabr.com","ip-ddns.com","cloudns.cx","cloudns.eu","cloudns.in","cloudns.info","ddns-ip.net","dns-cloud.net","dns-dynamic.net","cloudns.nz","cloudns.org","ip-dynamic.org","cloudns.ph","cloudns.pro","cloudns.pw","cloudns.us","c66.me","cloud66.ws","cloud66.zone","jdevcloud.com","wpdevcloud.com","cloudaccess.host","freesite.host","cloudaccess.net","*.cloudera.site","cf-ipfs.com","cloudflare-ipfs.com","trycloudflare.com","pages.dev","r2.dev","workers.dev","cloudflare.net","cdn.cloudflare.net","cdn.cloudflareanycast.net","cdn.cloudflarecn.net","cdn.cloudflareglobal.net","cust.cloudscale.ch","objects.lpg.cloudscale.ch","objects.rma.cloudscale.ch","wnext.app","cnpy.gdn","*.otap.co","co.ca","co.com","codeberg.page","csb.app","preview.csb.app","co.nl","co.no","webhosting.be","hosting-cluster.nl","ctfcloud.net","convex.site","ac.ru","edu.ru","gov.ru","int.ru","mil.ru","test.ru","dyn.cosidns.de","dnsupdater.de","dynamisches-dns.de","internet-dns.de","l-o-g-i-n.de","dynamic-dns.info","feste-ip.net","knx-server.net","static-access.net","craft.me","realm.cz","on.crisp.email","*.cryptonomic.net","curv.dev","cfolks.pl","cyon.link","cyon.site","platform0.app","fnwk.site","folionetwork.site","biz.dk","co.dk","firm.dk","reg.dk","store.dk","dyndns.dappnode.io","builtwithdark.com","darklang.io","demo.datadetect.com","instance.datadetect.com","edgestack.me","dattolocal.com","dattorelay.com","dattoweb.com","mydatto.com","dattolocal.net","mydatto.net","ddnss.de","dyn.ddnss.de","dyndns.ddnss.de","dyn-ip24.de","dyndns1.de","home-webserver.de","dyn.home-webserver.de","myhome-server.de","ddnss.org","debian.net","definima.io","definima.net","deno.dev","deno-staging.dev","dedyn.io","deta.app","deta.dev","dfirma.pl","dkonto.pl","you2.pl","ondigitalocean.app","*.digitaloceanspaces.com","us.kg","rss.my.id","diher.solutions","discordsays.com","discordsez.com","jozi.biz","dnshome.de","online.th","shop.th","drayddns.com","shoparena.pl","dreamhosters.com","durumis.com","mydrobo.com","drud.io","drud.us","duckdns.org","dy.fi","tunk.org","dyndns.biz","for-better.biz","for-more.biz","for-some.biz","for-the.biz","selfip.biz","webhop.biz","ftpaccess.cc","game-server.cc","myphotos.cc","scrapping.cc","blogdns.com","cechire.com","dnsalias.com","dnsdojo.com","doesntexist.com","dontexist.com","doomdns.com","dyn-o-saur.com","dynalias.com","dyndns-at-home.com","dyndns-at-work.com","dyndns-blog.com","dyndns-free.com","dyndns-home.com","dyndns-ip.com","dyndns-mail.com","dyndns-office.com","dyndns-pics.com","dyndns-remote.com","dyndns-server.com","dyndns-web.com","dyndns-wiki.com","dyndns-work.com","est-a-la-maison.com","est-a-la-masion.com","est-le-patron.com","est-mon-blogueur.com","from-ak.com","from-al.com","from-ar.com","from-ca.com","from-ct.com","from-dc.com","from-de.com","from-fl.com","from-ga.com","from-hi.com","from-ia.com","from-id.com","from-il.com","from-in.com","from-ks.com","from-ky.com","from-ma.com","from-md.com","from-mi.com","from-mn.com","from-mo.com","from-ms.com","from-mt.com","from-nc.com","from-nd.com","from-ne.com","from-nh.com","from-nj.com","from-nm.com","from-nv.com","from-oh.com","from-ok.com","from-or.com","from-pa.com","from-pr.com","from-ri.com","from-sc.com","from-sd.com","from-tn.com","from-tx.com","from-ut.com","from-va.com","from-vt.com","from-wa.com","from-wi.com","from-wv.com","from-wy.com","getmyip.com","gotdns.com","hobby-site.com","homelinux.com","homeunix.com","iamallama.com","is-a-anarchist.com","is-a-blogger.com","is-a-bookkeeper.com","is-a-bulls-fan.com","is-a-caterer.com","is-a-chef.com","is-a-conservative.com","is-a-cpa.com","is-a-cubicle-slave.com","is-a-democrat.com","is-a-designer.com","is-a-doctor.com","is-a-financialadvisor.com","is-a-geek.com","is-a-green.com","is-a-guru.com","is-a-hard-worker.com","is-a-hunter.com","is-a-landscaper.com","is-a-lawyer.com","is-a-liberal.com","is-a-libertarian.com","is-a-llama.com","is-a-musician.com","is-a-nascarfan.com","is-a-nurse.com","is-a-painter.com","is-a-personaltrainer.com","is-a-photographer.com","is-a-player.com","is-a-republican.com","is-a-rockstar.com","is-a-socialist.com","is-a-student.com","is-a-teacher.com","is-a-techie.com","is-a-therapist.com","is-an-accountant.com","is-an-actor.com","is-an-actress.com","is-an-anarchist.com","is-an-artist.com","is-an-engineer.com","is-an-entertainer.com","is-certified.com","is-gone.com","is-into-anime.com","is-into-cars.com","is-into-cartoons.com","is-into-games.com","is-leet.com","is-not-certified.com","is-slick.com","is-uberleet.com","is-with-theband.com","isa-geek.com","isa-hockeynut.com","issmarterthanyou.com","likes-pie.com","likescandy.com","neat-url.com","saves-the-whales.com","selfip.com","sells-for-less.com","sells-for-u.com","servebbs.com","simple-url.com","space-to-rent.com","teaches-yoga.com","writesthisblog.com","ath.cx","fuettertdasnetz.de","isteingeek.de","istmein.de","lebtimnetz.de","leitungsen.de","traeumtgerade.de","barrel-of-knowledge.info","barrell-of-knowledge.info","dyndns.info","for-our.info","groks-the.info","groks-this.info","here-for-more.info","knowsitall.info","selfip.info","webhop.info","forgot.her.name","forgot.his.name","at-band-camp.net","blogdns.net","broke-it.net","buyshouses.net","dnsalias.net","dnsdojo.net","does-it.net","dontexist.net","dynalias.net","dynathome.net","endofinternet.net","from-az.net","from-co.net","from-la.net","from-ny.net","gets-it.net","ham-radio-op.net","homeftp.net","homeip.net","homelinux.net","homeunix.net","in-the-band.net","is-a-chef.net","is-a-geek.net","isa-geek.net","kicks-ass.net","office-on-the.net","podzone.net","scrapper-site.net","selfip.net","sells-it.net","servebbs.net","serveftp.net","thruhere.net","webhop.net","merseine.nu","mine.nu","shacknet.nu","blogdns.org","blogsite.org","boldlygoingnowhere.org","dnsalias.org","dnsdojo.org","doesntexist.org","dontexist.org","doomdns.org","dvrdns.org","dynalias.org","dyndns.org","go.dyndns.org","home.dyndns.org","endofinternet.org","endoftheinternet.org","from-me.org","game-host.org","gotdns.org","hobby-site.org","homedns.org","homeftp.org","homelinux.org","homeunix.org","is-a-bruinsfan.org","is-a-candidate.org","is-a-celticsfan.org","is-a-chef.org","is-a-geek.org","is-a-knight.org","is-a-linux-user.org","is-a-patsfan.org","is-a-soxfan.org","is-found.org","is-lost.org","is-saved.org","is-very-bad.org","is-very-evil.org","is-very-good.org","is-very-nice.org","is-very-sweet.org","isa-geek.org","kicks-ass.org","misconfused.org","podzone.org","readmyblog.org","selfip.org","sellsyourhome.org","servebbs.org","serveftp.org","servegame.org","stuff-4-sale.org","webhop.org","better-than.tv","dyndns.tv","on-the-web.tv","worse-than.tv","is-by.us","land-4-sale.us","stuff-4-sale.us","dyndns.ws","mypets.ws","ddnsfree.com","ddnsgeek.com","giize.com","gleeze.com","kozow.com","loseyourip.com","ooguy.com","theworkpc.com","casacam.net","dynu.net","accesscam.org","camdvr.org","freeddns.org","mywire.org","webredirect.org","myddns.rocks","dynv6.net","e4.cz","easypanel.app","easypanel.host","*.ewp.live","twmail.cc","twmail.net","twmail.org","mymailer.com.tw","url.tw","at.emf.camp","rt.ht","elementor.cloud","elementor.cool","en-root.fr","mytuleap.com","tuleap-partners.com","encr.app","encoreapi.com","eu.encoway.cloud","eu.org","al.eu.org","asso.eu.org","at.eu.org","au.eu.org","be.eu.org","bg.eu.org","ca.eu.org","cd.eu.org","ch.eu.org","cn.eu.org","cy.eu.org","cz.eu.org","de.eu.org","dk.eu.org","edu.eu.org","ee.eu.org","es.eu.org","fi.eu.org","fr.eu.org","gr.eu.org","hr.eu.org","hu.eu.org","ie.eu.org","il.eu.org","in.eu.org","int.eu.org","is.eu.org","it.eu.org","jp.eu.org","kr.eu.org","lt.eu.org","lu.eu.org","lv.eu.org","me.eu.org","mk.eu.org","mt.eu.org","my.eu.org","net.eu.org","ng.eu.org","nl.eu.org","no.eu.org","nz.eu.org","pl.eu.org","pt.eu.org","ro.eu.org","ru.eu.org","se.eu.org","si.eu.org","sk.eu.org","tr.eu.org","uk.eu.org","us.eu.org","eurodir.ru","eu-1.evennode.com","eu-2.evennode.com","eu-3.evennode.com","eu-4.evennode.com","us-1.evennode.com","us-2.evennode.com","us-3.evennode.com","us-4.evennode.com","relay.evervault.app","relay.evervault.dev","expo.app","staging.expo.app","onfabrica.com","ru.net","adygeya.ru","bashkiria.ru","bir.ru","cbg.ru","com.ru","dagestan.ru","grozny.ru","kalmykia.ru","kustanai.ru","marine.ru","mordovia.ru","msk.ru","mytis.ru","nalchik.ru","nov.ru","pyatigorsk.ru","spb.ru","vladikavkaz.ru","vladimir.ru","abkhazia.su","adygeya.su","aktyubinsk.su","arkhangelsk.su","armenia.su","ashgabad.su","azerbaijan.su","balashov.su","bashkiria.su","bryansk.su","bukhara.su","chimkent.su","dagestan.su","east-kazakhstan.su","exnet.su","georgia.su","grozny.su","ivanovo.su","jambyl.su","kalmykia.su","kaluga.su","karacol.su","karaganda.su","karelia.su","khakassia.su","krasnodar.su","kurgan.su","kustanai.su","lenug.su","mangyshlak.su","mordovia.su","msk.su","murmansk.su","nalchik.su","navoi.su","north-kazakhstan.su","nov.su","obninsk.su","penza.su","pokrovsk.su","sochi.su","spb.su","tashkent.su","termez.su","togliatti.su","troitsk.su","tselinograd.su","tula.su","tuva.su","vladikavkaz.su","vladimir.su","vologda.su","channelsdvr.net","u.channelsdvr.net","edgecompute.app","fastly-edge.com","fastly-terrarium.com","freetls.fastly.net","map.fastly.net","a.prod.fastly.net","global.prod.fastly.net","a.ssl.fastly.net","b.ssl.fastly.net","global.ssl.fastly.net","fastlylb.net","map.fastlylb.net","*.user.fm","fastvps-server.com","fastvps.host","myfast.host","fastvps.site","myfast.space","conn.uk","copro.uk","hosp.uk","fedorainfracloud.org","fedorapeople.org","cloud.fedoraproject.org","app.os.fedoraproject.org","app.os.stg.fedoraproject.org","mydobiss.com","fh-muenster.io","filegear.me","firebaseapp.com","fldrv.com","flutterflow.app","fly.dev","shw.io","edgeapp.net","forgeblocks.com","id.forgerock.io","framer.ai","framer.app","framercanvas.com","framer.media","framer.photos","framer.website","framer.wiki","0e.vc","freebox-os.com","freeboxos.com","fbx-os.fr","fbxos.fr","freebox-os.fr","freeboxos.fr","freedesktop.org","freemyip.com","*.frusky.de","wien.funkfeuer.at","daemon.asia","dix.asia","mydns.bz","0am.jp","0g0.jp","0j0.jp","0t0.jp","mydns.jp","pgw.jp","wjg.jp","keyword-on.net","live-on.net","server-on.net","mydns.tw","mydns.vc","*.futurecms.at","*.ex.futurecms.at","*.in.futurecms.at","futurehosting.at","futuremailing.at","*.ex.ortsinfo.at","*.kunden.ortsinfo.at","*.statics.cloud","aliases121.com","campaign.gov.uk","service.gov.uk","independent-commission.uk","independent-inquest.uk","independent-inquiry.uk","independent-panel.uk","independent-review.uk","public-inquiry.uk","royal-commission.uk","gehirn.ne.jp","usercontent.jp","gentapps.com","gentlentapis.com","lab.ms","cdn-edges.net","localcert.net","localhostcert.net","gsj.bz","githubusercontent.com","githubpreview.dev","github.io","gitlab.io","gitapp.si","gitpage.si","glitch.me","nog.community","co.ro","shop.ro","lolipop.io","angry.jp","babyblue.jp","babymilk.jp","backdrop.jp","bambina.jp","bitter.jp","blush.jp","boo.jp","boy.jp","boyfriend.jp","but.jp","candypop.jp","capoo.jp","catfood.jp","cheap.jp","chicappa.jp","chillout.jp","chips.jp","chowder.jp","chu.jp","ciao.jp","cocotte.jp","coolblog.jp","cranky.jp","cutegirl.jp","daa.jp","deca.jp","deci.jp","digick.jp","egoism.jp","fakefur.jp","fem.jp","flier.jp","floppy.jp","fool.jp","frenchkiss.jp","girlfriend.jp","girly.jp","gloomy.jp","gonna.jp","greater.jp","hacca.jp","heavy.jp","her.jp","hiho.jp","hippy.jp","holy.jp","hungry.jp","icurus.jp","itigo.jp","jellybean.jp","kikirara.jp","kill.jp","kilo.jp","kuron.jp","littlestar.jp","lolipopmc.jp","lolitapunk.jp","lomo.jp","lovepop.jp","lovesick.jp","main.jp","mods.jp","mond.jp","mongolian.jp","moo.jp","namaste.jp","nikita.jp","nobushi.jp","noor.jp","oops.jp","parallel.jp","parasite.jp","pecori.jp","peewee.jp","penne.jp","pepper.jp","perma.jp","pigboat.jp","pinoko.jp","punyu.jp","pupu.jp","pussycat.jp","pya.jp","raindrop.jp","readymade.jp","sadist.jp","schoolbus.jp","secret.jp","staba.jp","stripper.jp","sub.jp","sunnyday.jp","thick.jp","tonkotsu.jp","under.jp","upper.jp","velvet.jp","verse.jp","versus.jp","vivian.jp","watson.jp","weblike.jp","whitesnow.jp","zombie.jp","heteml.net","graphic.design","goip.de","blogspot.ae","blogspot.al","blogspot.am","*.hosted.app","*.run.app","web.app","blogspot.com.ar","blogspot.co.at","blogspot.com.au","blogspot.ba","blogspot.be","blogspot.bg","blogspot.bj","blogspot.com.br","blogspot.com.by","blogspot.ca","blogspot.cf","blogspot.ch","blogspot.cl","blogspot.com.co","*.0emm.com","appspot.com","*.r.appspot.com","blogspot.com","codespot.com","googleapis.com","googlecode.com","pagespeedmobilizer.com","withgoogle.com","withyoutube.com","blogspot.cv","blogspot.com.cy","blogspot.cz","blogspot.de","*.gateway.dev","blogspot.dk","blogspot.com.ee","blogspot.com.eg","blogspot.com.es","blogspot.fi","blogspot.fr","cloud.goog","translate.goog","*.usercontent.goog","blogspot.gr","blogspot.hk","blogspot.hr","blogspot.hu","blogspot.co.id","blogspot.ie","blogspot.co.il","blogspot.in","blogspot.is","blogspot.it","blogspot.jp","blogspot.co.ke","blogspot.kr","blogspot.li","blogspot.lt","blogspot.lu","blogspot.md","blogspot.mk","blogspot.com.mt","blogspot.mx","blogspot.my","cloudfunctions.net","blogspot.com.ng","blogspot.nl","blogspot.no","blogspot.co.nz","blogspot.pe","blogspot.pt","blogspot.qa","blogspot.re","blogspot.ro","blogspot.rs","blogspot.ru","blogspot.se","blogspot.sg","blogspot.si","blogspot.sk","blogspot.sn","blogspot.td","blogspot.com.tr","blogspot.tw","blogspot.ug","blogspot.co.uk","blogspot.com.uy","blogspot.vn","blogspot.co.za","goupile.fr","pymnt.uk","cloudapps.digital","london.cloudapps.digital","gov.nl","grafana-dev.net","grayjayleagues.com","günstigbestellen.de","günstigliefern.de","fin.ci","free.hr","caa.li","ua.rs","conf.se","häkkinen.fi","hrsn.dev","hashbang.sh","hasura.app","hasura-app.io","hatenablog.com","hatenadiary.com","hateblo.jp","hatenablog.jp","hatenadiary.jp","hatenadiary.org","pages.it.hs-heilbronn.de","pages-research.it.hs-heilbronn.de","heiyu.space","helioho.st","heliohost.us","hepforge.org","herokuapp.com","herokussl.com","heyflow.page","heyflow.site","ravendb.cloud","ravendb.community","development.run","ravendb.run","homesklep.pl","*.kin.one","*.id.pub","*.kin.pub","secaas.hk","hoplix.shop","orx.biz","biz.gl","biz.ng","co.biz.ng","dl.biz.ng","go.biz.ng","lg.biz.ng","on.biz.ng","col.ng","firm.ng","gen.ng","ltd.ng","ngo.ng","plc.ng","ie.ua","hostyhosting.io","hf.space","static.hf.space","hypernode.io","iobb.net","co.cz","*.moonscale.io","moonscale.net","gr.com","iki.fi","ibxos.it","iliadboxos.it","smushcdn.com","wphostedmail.com","wpmucdn.com","tempurl.host","wpmudev.host","dyn-berlin.de","in-berlin.de","in-brb.de","in-butter.de","in-dsl.de","in-vpn.de","in-dsl.net","in-vpn.net","in-dsl.org","in-vpn.org","biz.at","info.at","info.cx","ac.leg.br","al.leg.br","am.leg.br","ap.leg.br","ba.leg.br","ce.leg.br","df.leg.br","es.leg.br","go.leg.br","ma.leg.br","mg.leg.br","ms.leg.br","mt.leg.br","pa.leg.br","pb.leg.br","pe.leg.br","pi.leg.br","pr.leg.br","rj.leg.br","rn.leg.br","ro.leg.br","rr.leg.br","rs.leg.br","sc.leg.br","se.leg.br","sp.leg.br","to.leg.br","pixolino.com","na4u.ru","apps-1and1.com","live-website.com","apps-1and1.net","websitebuilder.online","app-ionos.space","iopsys.se","*.dweb.link","ipifony.net","ir.md","is-a-good.dev","is-a.dev","iservschule.de","mein-iserv.de","schulplattform.de","schulserver.de","test-iserv.de","iserv.dev","mel.cloudlets.com.au","cloud.interhostsolutions.be","alp1.ae.flow.ch","appengine.flow.ch","es-1.axarnet.cloud","diadem.cloud","vip.jelastic.cloud","jele.cloud","it1.eur.aruba.jenv-aruba.cloud","it1.jenv-aruba.cloud","keliweb.cloud","cs.keliweb.cloud","oxa.cloud","tn.oxa.cloud","uk.oxa.cloud","primetel.cloud","uk.primetel.cloud","ca.reclaim.cloud","uk.reclaim.cloud","us.reclaim.cloud","ch.trendhosting.cloud","de.trendhosting.cloud","jele.club","dopaas.com","paas.hosted-by-previder.com","rag-cloud.hosteur.com","rag-cloud-ch.hosteur.com","jcloud.ik-server.com","jcloud-ver-jpc.ik-server.com","demo.jelastic.com","paas.massivegrid.com","jed.wafaicloud.com","ryd.wafaicloud.com","j.scaleforce.com.cy","jelastic.dogado.eu","fi.cloudplatform.fi","demo.datacenter.fi","paas.datacenter.fi","jele.host","mircloud.host","paas.beebyte.io","sekd1.beebyteapp.io","jele.io","jc.neen.it","jcloud.kz","cloudjiffy.net","fra1-de.cloudjiffy.net","west1-us.cloudjiffy.net","jls-sto1.elastx.net","jls-sto2.elastx.net","jls-sto3.elastx.net","fr-1.paas.massivegrid.net","lon-1.paas.massivegrid.net","lon-2.paas.massivegrid.net","ny-1.paas.massivegrid.net","ny-2.paas.massivegrid.net","sg-1.paas.massivegrid.net","jelastic.saveincloud.net","nordeste-idc.saveincloud.net","j.scaleforce.net","sdscloud.pl","unicloud.pl","mircloud.ru","enscaled.sg","jele.site","jelastic.team","orangecloud.tn","j.layershift.co.uk","phx.enscaled.us","mircloud.us","myjino.ru","*.hosting.myjino.ru","*.landing.myjino.ru","*.spectrum.myjino.ru","*.vps.myjino.ru","jotelulu.cloud","webadorsite.com","jouwweb.site","*.cns.joyent.com","*.triton.zone","js.org","kaas.gg","khplay.nl","kapsi.fi","ezproxy.kuleuven.be","kuleuven.cloud","keymachine.de","kinghost.net","uni5.net","knightpoint.systems","koobin.events","webthings.io","krellian.net","oya.to","git-repos.de","lcube-server.de","svn-repos.de","leadpages.co","lpages.co","lpusercontent.com","lelux.site","libp2p.direct","runcontainers.dev","co.business","co.education","co.events","co.financial","co.network","co.place","co.technology","linkyard-cloud.ch","linkyard.cloud","members.linode.com","*.nodebalancer.linode.com","*.linodeobjects.com","ip.linodeusercontent.com","we.bs","filegear-sg.me","ggff.net","*.user.localcert.dev","lodz.pl","pabianice.pl","plock.pl","sieradz.pl","skierniewice.pl","zgierz.pl","loginline.app","loginline.dev","loginline.io","loginline.services","loginline.site","lohmus.me","servers.run","krasnik.pl","leczna.pl","lubartow.pl","lublin.pl","poniatowa.pl","swidnik.pl","glug.org.uk","lug.org.uk","lugs.org.uk","barsy.bg","barsy.club","barsycenter.com","barsyonline.com","barsy.de","barsy.dev","barsy.eu","barsy.gr","barsy.in","barsy.info","barsy.io","barsy.me","barsy.menu","barsyonline.menu","barsy.mobi","barsy.net","barsy.online","barsy.org","barsy.pro","barsy.pub","barsy.ro","barsy.rs","barsy.shop","barsyonline.shop","barsy.site","barsy.store","barsy.support","barsy.uk","barsy.co.uk","barsyonline.co.uk","*.magentosite.cloud","hb.cldmail.ru","matlab.cloud","modelscape.com","mwcloudnonprod.com","polyspace.com","mayfirst.info","mayfirst.org","mazeplay.com","mcdir.me","mcdir.ru","vps.mcdir.ru","mcpre.ru","mediatech.by","mediatech.dev","hra.health","medusajs.app","miniserver.com","memset.net","messerli.app","atmeta.com","apps.fbsbx.com","*.cloud.metacentrum.cz","custom.metacentrum.cz","flt.cloud.muni.cz","usr.cloud.muni.cz","meteorapp.com","eu.meteorapp.com","co.pl","*.azurecontainer.io","azure-api.net","azure-mobile.net","azureedge.net","azurefd.net","azurestaticapps.net","1.azurestaticapps.net","2.azurestaticapps.net","3.azurestaticapps.net","4.azurestaticapps.net","5.azurestaticapps.net","6.azurestaticapps.net","7.azurestaticapps.net","centralus.azurestaticapps.net","eastasia.azurestaticapps.net","eastus2.azurestaticapps.net","westeurope.azurestaticapps.net","westus2.azurestaticapps.net","azurewebsites.net","cloudapp.net","trafficmanager.net","blob.core.windows.net","servicebus.windows.net","routingthecloud.com","sn.mynetname.net","routingthecloud.net","routingthecloud.org","csx.cc","mydbserver.com","webspaceconfig.de","mittwald.info","mittwaldserver.info","typo3server.info","project.space","modx.dev","bmoattachments.org","net.ru","org.ru","pp.ru","hostedpi.com","caracal.mythic-beasts.com","customer.mythic-beasts.com","fentiger.mythic-beasts.com","lynx.mythic-beasts.com","ocelot.mythic-beasts.com","oncilla.mythic-beasts.com","onza.mythic-beasts.com","sphinx.mythic-beasts.com","vs.mythic-beasts.com","x.mythic-beasts.com","yali.mythic-beasts.com","cust.retrosnub.co.uk","ui.nabu.casa","cloud.nospamproxy.com","netfy.app","netlify.app","4u.com","nfshost.com","ipfs.nftstorage.link","ngo.us","ngrok.app","ngrok-free.app","ngrok.dev","ngrok-free.dev","ngrok.io","ap.ngrok.io","au.ngrok.io","eu.ngrok.io","in.ngrok.io","jp.ngrok.io","sa.ngrok.io","us.ngrok.io","ngrok.pizza","ngrok.pro","torun.pl","nh-serv.co.uk","nimsite.uk","mmafan.biz","myftp.biz","no-ip.biz","no-ip.ca","fantasyleague.cc","gotdns.ch","3utilities.com","blogsyte.com","ciscofreak.com","damnserver.com","ddnsking.com","ditchyourip.com","dnsiskinky.com","dynns.com","geekgalaxy.com","health-carereform.com","homesecuritymac.com","homesecuritypc.com","myactivedirectory.com","mysecuritycamera.com","myvnc.com","net-freaks.com","onthewifi.com","point2this.com","quicksytes.com","securitytactics.com","servebeer.com","servecounterstrike.com","serveexchange.com","serveftp.com","servegame.com","servehalflife.com","servehttp.com","servehumour.com","serveirc.com","servemp3.com","servep2p.com","servepics.com","servequake.com","servesarcasm.com","stufftoread.com","unusualperson.com","workisboring.com","dvrcam.info","ilovecollege.info","no-ip.info","brasilia.me","ddns.me","dnsfor.me","hopto.me","loginto.me","noip.me","webhop.me","bounceme.net","ddns.net","eating-organic.net","mydissent.net","myeffect.net","mymediapc.net","mypsx.net","mysecuritycamera.net","nhlfan.net","no-ip.net","pgafan.net","privatizehealthinsurance.net","redirectme.net","serveblog.net","serveminecraft.net","sytes.net","cable-modem.org","collegefan.org","couchpotatofries.org","hopto.org","mlbfan.org","myftp.org","mysecuritycamera.org","nflfan.org","no-ip.org","read-books.org","ufcfan.org","zapto.org","no-ip.co.uk","golffan.us","noip.us","pointto.us","stage.nodeart.io","*.developer.app","noop.app","*.northflank.app","*.build.run","*.code.run","*.database.run","*.migration.run","noticeable.news","notion.site","dnsking.ch","mypi.co","n4t.co","001www.com","myiphost.com","forumz.info","soundcast.me","tcp4.me","dnsup.net","hicam.net","now-dns.net","ownip.net","vpndns.net","dynserv.org","now-dns.org","x443.pw","now-dns.top","ntdll.top","freeddns.us","nsupdate.info","nerdpol.ovh","nyc.mn","prvcy.page","obl.ong","observablehq.cloud","static.observableusercontent.com","omg.lol","cloudycluster.net","omniwe.site","123webseite.at","123website.be","simplesite.com.br","123website.ch","simplesite.com","123webseite.de","123hjemmeside.dk","123miweb.es","123kotisivu.fi","123siteweb.fr","simplesite.gr","123homepage.it","123website.lu","123website.nl","123hjemmeside.no","service.one","simplesite.pl","123paginaweb.pt","123minsida.se","is-a-fullstack.dev","is-cool.dev","is-not-a.dev","localplayer.dev","is-local.org","opensocial.site","opencraft.hosting","16-b.it","32-b.it","64-b.it","orsites.com","operaunite.com","*.customer-oci.com","*.oci.customer-oci.com","*.ocp.customer-oci.com","*.ocs.customer-oci.com","*.oraclecloudapps.com","*.oraclegovcloudapps.com","*.oraclegovcloudapps.uk","tech.orange","can.re","authgear-staging.com","authgearapps.com","skygearapp.com","outsystemscloud.com","*.hosting.ovh.net","*.webpaas.ovh.net","ownprovider.com","own.pm","*.owo.codes","ox.rs","oy.lc","pgfog.com","pagexl.com","gotpantheon.com","pantheonsite.io","*.paywhirl.com","*.xmit.co","xmit.dev","madethis.site","srv.us","gh.srv.us","gl.srv.us","lk3.ru","mypep.link","perspecta.cloud","on-web.fr","*.upsun.app","upsunapp.com","ent.platform.sh","eu.platform.sh","us.platform.sh","*.platformsh.site","*.tst.site","platter-app.com","platter-app.dev","platterp.us","pley.games","onporter.run","co.bn","postman-echo.com","pstmn.io","mock.pstmn.io","httpbin.org","prequalifyme.today","xen.prgmr.com","priv.at","protonet.io","chirurgiens-dentistes-en-france.fr","byen.site","pubtls.org","pythonanywhere.com","eu.pythonanywhere.com","qa2.com","qcx.io","*.sys.qcx.io","myqnapcloud.cn","alpha-myqnapcloud.com","dev-myqnapcloud.com","mycloudnas.com","mynascloud.com","myqnapcloud.com","qoto.io","qualifioapp.com","ladesk.com","qbuser.com","*.quipelements.com","vapor.cloud","vaporcloud.io","rackmaze.com","rackmaze.net","cloudsite.builders","myradweb.net","servername.us","web.in","in.net","myrdbx.io","site.rb-hosting.io","*.on-rancher.cloud","*.on-k3s.io","*.on-rio.io","ravpage.co.il","readthedocs-hosted.com","readthedocs.io","rhcloud.com","instances.spawn.cc","onrender.com","app.render.com","replit.app","id.replit.app","firewalledreplit.co","id.firewalledreplit.co","repl.co","id.repl.co","replit.dev","archer.replit.dev","bones.replit.dev","canary.replit.dev","global.replit.dev","hacker.replit.dev","id.replit.dev","janeway.replit.dev","kim.replit.dev","kira.replit.dev","kirk.replit.dev","odo.replit.dev","paris.replit.dev","picard.replit.dev","pike.replit.dev","prerelease.replit.dev","reed.replit.dev","riker.replit.dev","sisko.replit.dev","spock.replit.dev","staging.replit.dev","sulu.replit.dev","tarpit.replit.dev","teams.replit.dev","tucker.replit.dev","wesley.replit.dev","worf.replit.dev","repl.run","resindevice.io","devices.resinstaging.io","hzc.io","adimo.co.uk","itcouldbewor.se","aus.basketball","nz.basketball","git-pages.rit.edu","rocky.page","rub.de","ruhr-uni-bochum.de","io.noc.ruhr-uni-bochum.de","биз.рус","ком.рус","крым.рус","мир.рус","мск.рус","орг.рус","самара.рус","сочи.рус","спб.рус","я.рус","ras.ru","nyat.app","180r.com","dojin.com","sakuratan.com","sakuraweb.com","x0.com","2-d.jp","bona.jp","crap.jp","daynight.jp","eek.jp","flop.jp","halfmoon.jp","jeez.jp","matrix.jp","mimoza.jp","ivory.ne.jp","mail-box.ne.jp","mints.ne.jp","mokuren.ne.jp","opal.ne.jp","sakura.ne.jp","sumomo.ne.jp","topaz.ne.jp","netgamers.jp","nyanta.jp","o0o0.jp","rdy.jp","rgr.jp","rulez.jp","s3.isk01.sakurastorage.jp","s3.isk02.sakurastorage.jp","saloon.jp","sblo.jp","skr.jp","tank.jp","uh-oh.jp","undo.jp","rs.webaccel.jp","user.webaccel.jp","websozai.jp","xii.jp","squares.net","jpn.org","kirara.st","x0.to","from.tv","sakura.tv","*.builder.code.com","*.dev-builder.code.com","*.stg-builder.code.com","*.001.test.code-builder-stg.platform.salesforce.com","*.d.crm.dev","*.w.crm.dev","*.wa.crm.dev","*.wb.crm.dev","*.wc.crm.dev","*.wd.crm.dev","*.we.crm.dev","*.wf.crm.dev","sandcats.io","logoip.com","logoip.de","fr-par-1.baremetal.scw.cloud","fr-par-2.baremetal.scw.cloud","nl-ams-1.baremetal.scw.cloud","cockpit.fr-par.scw.cloud","fnc.fr-par.scw.cloud","functions.fnc.fr-par.scw.cloud","k8s.fr-par.scw.cloud","nodes.k8s.fr-par.scw.cloud","s3.fr-par.scw.cloud","s3-website.fr-par.scw.cloud","whm.fr-par.scw.cloud","priv.instances.scw.cloud","pub.instances.scw.cloud","k8s.scw.cloud","cockpit.nl-ams.scw.cloud","k8s.nl-ams.scw.cloud","nodes.k8s.nl-ams.scw.cloud","s3.nl-ams.scw.cloud","s3-website.nl-ams.scw.cloud","whm.nl-ams.scw.cloud","cockpit.pl-waw.scw.cloud","k8s.pl-waw.scw.cloud","nodes.k8s.pl-waw.scw.cloud","s3.pl-waw.scw.cloud","s3-website.pl-waw.scw.cloud","scalebook.scw.cloud","smartlabeling.scw.cloud","dedibox.fr","schokokeks.net","gov.scot","service.gov.scot","scrysec.com","client.scrypted.io","firewall-gateway.com","firewall-gateway.de","my-gateway.de","my-router.de","spdns.de","spdns.eu","firewall-gateway.net","my-firewall.org","myfirewall.org","spdns.org","seidat.net","sellfy.store","minisite.ms","senseering.net","servebolt.cloud","biz.ua","co.ua","pp.ua","as.sh.cn","sheezy.games","shiftedit.io","myshopblocks.com","myshopify.com","shopitsite.com","shopware.shop","shopware.store","mo-siemens.io","1kapp.com","appchizi.com","applinzi.com","sinaapp.com","vipsinaapp.com","siteleaf.net","small-web.org","aeroport.fr","avocat.fr","chambagri.fr","chirurgiens-dentistes.fr","experts-comptables.fr","medecin.fr","notaires.fr","pharmacien.fr","port.fr","veterinaire.fr","vp4.me","*.snowflake.app","*.privatelink.snowflake.app","streamlit.app","streamlitapp.com","try-snowplow.com","mafelo.net","playstation-cloud.com","srht.site","apps.lair.io","*.stolos.io","spacekit.io","ind.mom","customer.speedpartner.de","myspreadshop.at","myspreadshop.com.au","myspreadshop.be","myspreadshop.ca","myspreadshop.ch","myspreadshop.com","myspreadshop.de","myspreadshop.dk","myspreadshop.es","myspreadshop.fi","myspreadshop.fr","myspreadshop.ie","myspreadshop.it","myspreadshop.net","myspreadshop.nl","myspreadshop.no","myspreadshop.pl","myspreadshop.se","myspreadshop.co.uk","w-corp-staticblitz.com","w-credentialless-staticblitz.com","w-staticblitz.com","stackhero-network.com","runs.onstackit.cloud","stackit.gg","stackit.rocks","stackit.run","stackit.zone","musician.io","novecore.site","api.stdlib.com","feedback.ac","forms.ac","assessments.cx","calculators.cx","funnels.cx","paynow.cx","quizzes.cx","researched.cx","tests.cx","surveys.so","storebase.store","storipress.app","storj.farm","strapiapp.com","media.strapiapp.com","vps-host.net","atl.jelastic.vps-host.net","njs.jelastic.vps-host.net","ric.jelastic.vps-host.net","streak-link.com","streaklinks.com","streakusercontent.com","soc.srcf.net","user.srcf.net","utwente.io","temp-dns.com","supabase.co","supabase.in","supabase.net","syncloud.it","dscloud.biz","direct.quickconnect.cn","dsmynas.com","familyds.com","diskstation.me","dscloud.me","i234.me","myds.me","synology.me","dscloud.mobi","dsmynas.net","familyds.net","dsmynas.org","familyds.org","direct.quickconnect.to","vpnplus.to","mytabit.com","mytabit.co.il","tabitorder.co.il","taifun-dns.de","ts.net","*.c.ts.net","gda.pl","gdansk.pl","gdynia.pl","med.pl","sopot.pl","taveusercontent.com","p.tawk.email","p.tawkto.email","site.tb-hosting.com","edugit.io","s3.teckids.org","telebit.app","telebit.io","*.telebit.xyz","*.firenet.ch","*.svc.firenet.ch","reservd.com","thingdustdata.com","cust.dev.thingdust.io","reservd.dev.thingdust.io","cust.disrec.thingdust.io","reservd.disrec.thingdust.io","cust.prod.thingdust.io","cust.testing.thingdust.io","reservd.testing.thingdust.io","tickets.io","arvo.network","azimuth.network","tlon.network","torproject.net","pages.torproject.net","townnews-staging.com","12hp.at","2ix.at","4lima.at","lima-city.at","12hp.ch","2ix.ch","4lima.ch","lima-city.ch","trafficplex.cloud","de.cool","12hp.de","2ix.de","4lima.de","lima-city.de","1337.pictures","clan.rip","lima-city.rocks","webspace.rocks","lima.zone","*.transurl.be","*.transurl.eu","site.transip.me","*.transurl.nl","tuxfamily.org","dd-dns.de","dray-dns.de","draydns.de","dyn-vpn.de","dynvpn.de","mein-vigor.de","my-vigor.de","my-wan.de","syno-ds.de","synology-diskstation.de","synology-ds.de","diskstation.eu","diskstation.org","typedream.app","pro.typeform.com","*.uberspace.de","uber.space","hk.com","inc.hk","ltd.hk","hk.org","it.com","unison-services.cloud","virtual-user.de","virtualuser.de","name.pm","sch.tf","biz.wf","sch.wf","org.yt","rs.ba","bielsko.pl","upli.io","urown.cloud","dnsupdate.info","us.org","v.ua","express.val.run","web.val.run","vercel.app","v0.build","vercel.dev","vusercontent.net","now.sh","2038.io","router.management","v-info.info","voorloper.cloud","*.vultrobjects.com","wafflecell.com","webflow.io","webflowtest.io","*.webhare.dev","bookonline.app","hotelwithflight.com","reserve-online.com","reserve-online.net","cprapid.com","pleskns.com","wp2.host","pdns.page","plesk.page","wpsquared.site","*.wadl.top","remotewd.com","box.ca","pages.wiardweb.com","toolforge.org","wmcloud.org","wmflabs.org","wdh.app","panel.gg","daemon.panel.gg","wixsite.com","wixstudio.com","editorx.io","wixstudio.io","wix.run","messwithdns.com","woltlab-demo.com","myforum.community","community-pro.de","diskussionsbereich.de","community-pro.net","meinforum.net","affinitylottery.org.uk","raffleentry.org.uk","weeklylottery.org.uk","wpenginepowered.com","js.wpenginepowered.com","half.host","xnbay.com","u2.xnbay.com","u2-local.xnbay.com","cistron.nl","demon.nl","xs4all.space","yandexcloud.net","storage.yandexcloud.net","website.yandexcloud.net","official.academy","yolasite.com","yombo.me","ynh.fr","nohost.me","noho.st","za.net","za.org","zap.cloud","zeabur.app","bss.design","basicserver.io","virtualserver.io","enterprisecloud.nu"],c=s.reduce((y,_)=>{const k=_.replace(/^(\*\.|\!)/,""),w=i.toASCII(k),v=_.charAt(0);if(y.has(w))throw new Error(`Multiple rules found for ${_} (${w})`);return y.set(w,{rule:_,suffix:k,punySuffix:w,wildcard:v==="*",exception:v==="!"}),y},new Map),u=y=>{const _=i.toASCII(y).split(".");for(let k=0;k<_.length;k++){const w=_.slice(k).join("."),v=c.get(w);if(v)return v}return null},d={DOMAIN_TOO_SHORT:"Domain name too short.",DOMAIN_TOO_LONG:"Domain name too long. It should be no more than 255 chars.",LABEL_STARTS_WITH_DASH:"Domain name label can not start with a dash.",LABEL_ENDS_WITH_DASH:"Domain name label can not end with a dash.",LABEL_TOO_LONG:"Domain name label should be at most 63 chars long.",LABEL_TOO_SHORT:"Domain name label should be at least 1 character long.",LABEL_INVALID_CHARS:"Domain name label can only contain alphanumeric characters or dashes."},h=y=>{const _=i.toASCII(y);if(_.length<1)return"DOMAIN_TOO_SHORT";if(_.length>255)return"DOMAIN_TOO_LONG";const k=_.split(".");let w;for(let v=0;v<k.length;++v){if(w=k[v],!w.length)return"LABEL_TOO_SHORT";if(w.length>63)return"LABEL_TOO_LONG";if(w.charAt(0)==="-")return"LABEL_STARTS_WITH_DASH";if(w.charAt(w.length-1)==="-")return"LABEL_ENDS_WITH_DASH";if(!/^[a-z0-9\-_]+$/.test(w))return"LABEL_INVALID_CHARS"}},f=y=>{if(typeof y!="string")throw new TypeError("Domain name must be a string.");let _=y.slice(0).toLowerCase();_.charAt(_.length-1)==="."&&(_=_.slice(0,_.length-1));const k=h(_);if(k)return{input:y,error:{message:d[k],code:k}};const w={input:y,tld:null,sld:null,domain:null,subdomain:null,listed:!1},v=_.split(".");if(v[v.length-1]==="local")return w;const A=()=>(/xn--/.test(_)&&(w.domain&&(w.domain=i.toASCII(w.domain)),w.subdomain&&(w.subdomain=i.toASCII(w.subdomain))),w),T=u(_);if(!T)return v.length<2?w:(w.tld=v.pop(),w.sld=v.pop(),w.domain=[w.sld,w.tld].join("."),v.length&&(w.subdomain=v.pop()),A());w.listed=!0;const I=T.suffix.split("."),z=v.slice(0,v.length-I.length);return T.exception&&z.push(I.shift()),w.tld=I.join("."),!z.length||(T.wildcard&&(I.unshift(z.pop()),w.tld=I.join(".")),!z.length)||(w.sld=z.pop(),w.domain=[w.sld,w.tld].join("."),z.length&&(w.subdomain=z.join("."))),A()},l=y=>y&&f(y).domain||null,g=y=>{const _=f(y);return!!(_.domain&&_.listed)},b={parse:f,get:l,isValid:g};e.default=b,e.errorCodes=d,e.get=l,e.isValid=g,e.parse=f})(Oc)),Oc}/*!
|
|
9
9
|
* Copyright (c) 2018, Salesforce.com, Inc.
|
|
10
10
|
* All rights reserved.
|
|
11
11
|
*
|
|
@@ -210,11 +210,11 @@ ${h}}`:"}",b}function u(d,h){return typeof h<"u"&&typeof h!="function"&&typeof h
|
|
|
210
210
|
`)===0?r.substr(1,r.length):r}).forEach(function(r){var a=r.split(":"),o=a.shift().trim();if(o){var i=a.join(":").trim();try{t.append(o,i)}catch(s){console.warn("Response "+s.message)}}}),t}$b.call(Zr.prototype);function vn(e,t){if(!(this instanceof vn))throw new TypeError('Please use the "new" operator, this DOM object constructor cannot be called as a function.');if(t||(t={}),this.type="default",this.status=t.status===void 0?200:t.status,this.status<200||this.status>599)throw new RangeError("Failed to construct 'Response': The status provided (0) is outside the range [200, 599].");this.ok=this.status>=200&&this.status<300,this.statusText=t.statusText===void 0?"":""+t.statusText,this.headers=new Je(t.headers),this.url=t.url||"",this._initBody(e)}$b.call(vn.prototype);vn.prototype.clone=function(){return new vn(this._bodyInit,{status:this.status,statusText:this.statusText,headers:new Je(this.headers),url:this.url})};vn.error=function(){var e=new vn(null,{status:200,statusText:""});return e.ok=!1,e.status=0,e.type="error",e};var Uj=[301,302,303,307,308];vn.redirect=function(e,t){if(Uj.indexOf(t)===-1)throw new RangeError("Invalid status code");return new vn(null,{status:t,headers:{location:e}})};var Br=ut.DOMException;try{new Br}catch{Br=function(t,n){this.message=t,this.name=n;var r=Error(t);this.stack=r.stack},Br.prototype=Object.create(Error.prototype),Br.prototype.constructor=Br}function Gb(e,t){return new Promise(function(n,r){var a=new Zr(e,t);if(a.signal&&a.signal.aborted)return r(new Br("Aborted","AbortError"));var o=new XMLHttpRequest;function i(){o.abort()}o.onload=function(){var u={statusText:o.statusText,headers:Nj(o.getAllResponseHeaders()||"")};a.url.indexOf("file://")===0&&(o.status<200||o.status>599)?u.status=200:u.status=o.status,u.url="responseURL"in o?o.responseURL:u.headers.get("X-Request-URL");var d="response"in o?o.response:o.responseText;setTimeout(function(){n(new vn(d,u))},0)},o.onerror=function(){setTimeout(function(){r(new TypeError("Network request failed"))},0)},o.ontimeout=function(){setTimeout(function(){r(new TypeError("Network request timed out"))},0)},o.onabort=function(){setTimeout(function(){r(new Br("Aborted","AbortError"))},0)};function s(u){try{return u===""&&ut.location.href?ut.location.href:u}catch{return u}}if(o.open(a.method,s(a.url),!0),a.credentials==="include"?o.withCredentials=!0:a.credentials==="omit"&&(o.withCredentials=!1),"responseType"in o&&(yt.blob?o.responseType="blob":yt.arrayBuffer&&(o.responseType="arraybuffer")),t&&typeof t.headers=="object"&&!(t.headers instanceof Je||ut.Headers&&t.headers instanceof ut.Headers)){var c=[];Object.getOwnPropertyNames(t.headers).forEach(function(u){c.push(Da(u)),o.setRequestHeader(u,Ld(t.headers[u]))}),a.headers.forEach(function(u,d){c.indexOf(d)===-1&&o.setRequestHeader(d,u)})}else a.headers.forEach(function(u,d){o.setRequestHeader(d,u)});a.signal&&(a.signal.addEventListener("abort",i),o.onreadystatechange=function(){o.readyState===4&&a.signal.removeEventListener("abort",i)}),o.send(typeof a._bodyInit>"u"?null:a._bodyInit)})}Gb.polyfill=!0;ut.fetch||(ut.fetch=Gb,ut.Headers=Je,ut.Request=Zr,ut.Response=vn);var Du,bm;function Hj(){return bm||(bm=1,Du=self.fetch.bind(self)),Du}var Lj=Hj();const Dj=Cs(Lj),Kb=(e,t,n=[])=>{const r=Object.getOwnPropertyDescriptors(t);for(let a of n)delete r[a];Object.defineProperties(e,r)},Ro=(e,t=[e])=>{const n=Object.getPrototypeOf(e);return n===null?t:Ro(n,[...t,n])},Fj=(...e)=>{if(e.length===0)return;let t;const n=e.map(r=>Ro(r));for(;n.every(r=>r.length>0);){const r=n.map(o=>o.pop()),a=r[0];if(r.every(o=>o===a))t=a;else break}return t},wm=(e,t,n=[])=>{var r;const a=(r=Fj(...e))!==null&&r!==void 0?r:Object.prototype,o=Object.create(a),i=Ro(a);for(let s of e){let c=Ro(s);for(let u=c.length-1;u>=0;u--){let d=c[u];i.indexOf(d)===-1&&(Kb(o,d,["constructor",...n]),i.push(d))}}return o.constructor=t,o},Rl=e=>e.filter((t,n)=>e.indexOf(t)==n),Wb=new WeakMap,Mj=e=>Wb.get(e),qj=(e,t)=>Wb.set(e,t),km=(e,t)=>{var n,r;const a=Rl([...Object.getOwnPropertyNames(e),...Object.getOwnPropertyNames(t)]),o={};for(let i of a)o[i]=Rl([...(n=e==null?void 0:e[i])!==null&&n!==void 0?n:[],...(r=t==null?void 0:t[i])!==null&&r!==void 0?r:[]]);return o},_m=(e,t)=>{var n,r,a,o;return{property:km((n=e==null?void 0:e.property)!==null&&n!==void 0?n:{},(r=t==null?void 0:t.property)!==null&&r!==void 0?r:{}),method:km((a=e==null?void 0:e.method)!==null&&a!==void 0?a:{},(o=t==null?void 0:t.method)!==null&&o!==void 0?o:{})}},Vj=(e,t)=>{var n,r,a,o,i,s;return{class:Rl([...(n=e==null?void 0:e.class)!==null&&n!==void 0?n:[],...(r=t==null?void 0:t.class)!==null&&r!==void 0?r:[]]),static:_m((a=e==null?void 0:e.static)!==null&&a!==void 0?a:{},(o=t==null?void 0:t.static)!==null&&o!==void 0?o:{}),instance:_m((i=e==null?void 0:e.instance)!==null&&i!==void 0?i:{},(s=t==null?void 0:t.instance)!==null&&s!==void 0?s:{})}},$j=new Map,Gj=(...e)=>{var t;const n=new Set,r=new Set([...e]);for(;r.size>0;)for(let a of r){const o=Ro(a.prototype).map(u=>u.constructor),i=(t=Mj(a))!==null&&t!==void 0?t:[],c=[...o,...i].filter(u=>!n.has(u));for(let u of c)r.add(u);n.add(a),r.delete(a)}return[...n]},Kj=(...e)=>{const t=Gj(...e).map(n=>$j.get(n)).filter(n=>!!n);return t.length==0?{}:t.length==1?t[0]:t.reduce((n,r)=>Vj(n,r))};function Wj(...e){var t,n,r;const a=e.map(s=>s.prototype);function o(...s){for(const c of e)Kb(this,new c(...s))}o.prototype=wm(a,o),Object.setPrototypeOf(o,wm(e,null,["prototype"]));let i=o;{const s=Kj(...e);for(let c of(t=s==null?void 0:s.class)!==null&&t!==void 0?t:[]){const u=c(i);u&&(i=u)}vm((n=s==null?void 0:s.static)!==null&&n!==void 0?n:{},i),vm((r=s==null?void 0:s.instance)!==null&&r!==void 0?r:{},i.prototype)}return qj(i,e),i}const vm=(e,t)=>{const n=e.property,r=e.method;if(n)for(let a in n)for(let o of n[a])o(t,a);if(r)for(let a in r)for(let o of r[a])o(t,a,Object.getOwnPropertyDescriptor(t,a))};var Xb=Object.defineProperty,Xj=Object.getOwnPropertyDescriptor,Zj=Object.getOwnPropertyNames,Yj=Object.prototype.hasOwnProperty,Oe=(e,t)=>{for(var n in t)Xb(e,n,{get:t[n],enumerable:!0})},Jj=(e,t,n,r)=>{if(t&&typeof t=="object"||typeof t=="function")for(let a of Zj(t))!Yj.call(e,a)&&a!==n&&Xb(e,a,{get:()=>t[a],enumerable:!(r=Xj(t,a))||r.enumerable});return e},Qj=(e,t,n)=>(Jj(e,t,"default"),n),ex={};Oe(ex,{ADDR_BOUND:()=>sw,API_VERSION:()=>ow,BaseUrl:()=>lw,DEFAULT_GLOBAL_CONFIG:()=>mw,FeeMarginPercentage:()=>pw,HARDENING_4BYTES:()=>Ax,HARDENING_BYTE:()=>Ex,IS_BROWSER:()=>Fd,MASK_250:()=>rw,MASK_31:()=>aw,MAX_STORAGE_ITEM_SIZE:()=>iw,NetworkName:()=>Ps,OutsideExecutionCallerAny:()=>kx,PRIME:()=>Vd,RANGE_FELT:()=>Nl,RANGE_I128:()=>cw,RANGE_U128:()=>uw,RPC_DEFAULT_VERSION:()=>fo,RPC_NODES:()=>hw,SNIP9_V1_INTERFACE_ID:()=>_x,SNIP9_V2_INTERFACE_ID:()=>vx,SYSTEM_MESSAGES:()=>Zt,StarknetChainId:()=>dw,TEXT_TO_FELT_MAX_LEN:()=>qd,TRANSACTION_VERSION:()=>we.ETransactionVersion,TransactionHashPrefix:()=>fw,UDC:()=>ko,ZERO:()=>Pn});var we={};Oe(we,{JRPC:()=>tx,RPCSPEC06:()=>Se,RPCSPEC07:()=>jy});var tx={},Se={};Oe(Se,{EBlockTag:()=>ux,EDAMode:()=>dx,EDataAvailabilityMode:()=>lx,ESimulationFlag:()=>ox,ETransactionExecutionStatus:()=>cx,ETransactionFinalityStatus:()=>sx,ETransactionStatus:()=>ix,ETransactionType:()=>ax,ETransactionVersion:()=>fx,ETransactionVersion2:()=>px,ETransactionVersion3:()=>hx,Errors:()=>nx,SPEC:()=>rx});var nx={},rx={},ax={DECLARE:"DECLARE",DEPLOY:"DEPLOY",DEPLOY_ACCOUNT:"DEPLOY_ACCOUNT",INVOKE:"INVOKE",L1_HANDLER:"L1_HANDLER"},ox={SKIP_VALIDATE:"SKIP_VALIDATE",SKIP_FEE_CHARGE:"SKIP_FEE_CHARGE"},ix={RECEIVED:"RECEIVED",REJECTED:"REJECTED",ACCEPTED_ON_L2:"ACCEPTED_ON_L2",ACCEPTED_ON_L1:"ACCEPTED_ON_L1"},sx={ACCEPTED_ON_L2:"ACCEPTED_ON_L2",ACCEPTED_ON_L1:"ACCEPTED_ON_L1"},cx={SUCCEEDED:"SUCCEEDED",REVERTED:"REVERTED"},ux={PENDING:"pending",LATEST:"latest"},lx={L1:"L1",L2:"L2"},dx={L1:0,L2:1},fx={V0:"0x0",V1:"0x1",V2:"0x2",V3:"0x3",F0:"0x100000000000000000000000000000000",F1:"0x100000000000000000000000000000001",F2:"0x100000000000000000000000000000002",F3:"0x100000000000000000000000000000003"},px={V0:"0x0",V1:"0x1",V2:"0x2",F0:"0x100000000000000000000000000000000",F1:"0x100000000000000000000000000000001",F2:"0x100000000000000000000000000000002"},hx={V3:"0x3",F3:"0x100000000000000000000000000000003"};Qj(we,jy);var mx={};Oe(mx,{IS_BROWSER:()=>Fd,addHexPrefix:()=>Ce,arrayBufferToString:()=>Zb,atobUniversal:()=>Yb,btoaUniversal:()=>Jb,buf2hex:()=>zs,calcByteLength:()=>ew,concatenateArrayBuffer:()=>wx,padLeft:()=>Qb,pascalToSnake:()=>bx,removeHexPrefix:()=>Ut,sanitizeBytes:()=>tw,sanitizeHex:()=>nw,stringToArrayBuffer:()=>gx,utf8ToArray:()=>hr});var Fd=typeof window<"u",Md="0";function Zb(e){return new Uint8Array(e).reduce((t,n)=>t+String.fromCharCode(n),"")}function hr(e){return new TextEncoder().encode(e)}function gx(e){return hr(e)}function Yb(e){return Iy.decode(e)}function Jb(e){return Iy.encode(new Uint8Array(e))}function zs(e){return e.reduce((t,n)=>t+n.toString(16).padStart(2,"0"),"")}function Ut(e){return e.replace(/^0x/i,"")}function Ce(e){return`0x${Ut(e)}`}function yx(e,t,n,r=Md){const a=t-e.length;let o=e;return a>0&&(o=r.repeat(a)+e),o}function Qb(e,t,n=Md){return yx(e,t,!0,n)}function ew(e,t=8){const{length:n}=e,r=n%t;return r?(n-r)/t*t+t:n}function tw(e,t=8,n=Md){return Qb(e,ew(e,t),n)}function nw(e){const t=Ut(e),n=tw(t,2);return n&&Ce(n)}var bx=e=>/[a-z]/.test(e)?e.split(/(?=[A-Z])/).join("_").toUpperCase():e;function wx(e){const t=e.reduce((a,o)=>a+o.byteLength,0),n=new Uint8Array(t);let r=0;return e.forEach(a=>{n.set(a,r),r+=a.byteLength}),n}var qd=31,Pn=0n,rw=2n**250n-1n,aw=2n**31n-1n,ow=Pn,Vd=2n**251n+17n*2n**192n+1n,iw=256n,sw=2n**251n-iw,$d=(e,t)=>({min:e,max:t}),Nl=$d(Pn,Vd-1n),cw=$d(-(2n**127n),2n**127n-1n),uw=$d(Pn,2n**128n-1n),lw=(e=>(e.SN_MAIN="https://alpha-mainnet.starknet.io",e.SN_SEPOLIA="https://alpha-sepolia.starknet.io",e))(lw||{}),Ps=(e=>(e.SN_MAIN="SN_MAIN",e.SN_SEPOLIA="SN_SEPOLIA",e))(Ps||{}),dw=(e=>(e.SN_MAIN="0x534e5f4d41494e",e.SN_SEPOLIA="0x534e5f5345504f4c4941",e))(dw||{}),fw=(e=>(e.DECLARE="0x6465636c617265",e.DEPLOY="0x6465706c6f79",e.DEPLOY_ACCOUNT="0x6465706c6f795f6163636f756e74",e.INVOKE="0x696e766f6b65",e.L1_HANDLER="0x6c315f68616e646c6572",e))(fw||{}),pw=(e=>(e[e.L1_BOUND_MAX_AMOUNT=50]="L1_BOUND_MAX_AMOUNT",e[e.L1_BOUND_MAX_PRICE_PER_UNIT=50]="L1_BOUND_MAX_PRICE_PER_UNIT",e[e.MAX_FEE=50]="MAX_FEE",e))(pw||{}),ko={ADDRESS:"0x041a78e741e5af2fec34b695679bc6891742439f7afb8484ecd7766661ad02bf",ENTRYPOINT:"deployContract"},fo="v0_7",hw={SN_MAIN:[`https://starknet-mainnet.public.blastapi.io/rpc/${fo}`,`https://free-rpc.nethermind.io/mainnet-juno/${fo}`],SN_SEPOLIA:[`https://starknet-sepolia.public.blastapi.io/rpc/${fo}`,`https://free-rpc.nethermind.io/sepolia-juno/${fo}`]},kx="0x414e595f43414c4c4552",_x="0x68cfd18b92d1907b8ba3cc324900277f5a3622099431ea85dd8089255e4181",vx="0x1d1144bb2138366ff28d8e9ab57456b1d332ac42196230c3a602003c89872",Ex=128,Ax=2147483648n,mw={legacyMode:!1,logLevel:"INFO",accountTxVersion:we.ETransactionVersion.V2},Zt={legacyTxWarningMessage:`You are using a deprecated transaction version (V0,V1,V2)!
|
|
211
211
|
Update to the latest V3 transactions!`},gw={};Oe(gw,{RpcChannel:()=>sI});var Sx={};Oe(Sx,{parse:()=>Fa,parseAlwaysAsBig:()=>xx,stringify:()=>Vt,stringifyAlwaysAsBig:()=>Tx});var jx=e=>{if(!Vo(e))return parseFloat(e);const t=parseInt(e,10);return Number.isSafeInteger(t)?t:BigInt(e)},Fa=e=>Oy(String(e),void 0,jx),xx=e=>Oy(String(e),void 0,R_),Vt=(e,t,n,r)=>By(e,t,n,r),Tx=Vt,Ix={FAILED_TO_RECEIVE_TXN:1,NO_TRACE_AVAILABLE:10,CONTRACT_NOT_FOUND:20,BLOCK_NOT_FOUND:24,INVALID_TXN_INDEX:27,CLASS_HASH_NOT_FOUND:28,TXN_HASH_NOT_FOUND:29,PAGE_SIZE_TOO_BIG:31,NO_BLOCKS:32,INVALID_CONTINUATION_TOKEN:33,TOO_MANY_KEYS_IN_FILTER:34,CONTRACT_ERROR:40,TRANSACTION_EXECUTION_ERROR:41,CLASS_ALREADY_DECLARED:51,INVALID_TRANSACTION_NONCE:52,INSUFFICIENT_MAX_FEE:53,INSUFFICIENT_ACCOUNT_BALANCE:54,VALIDATION_FAILURE:55,COMPILATION_FAILED:56,CONTRACT_CLASS_SIZE_IS_TOO_LARGE:57,NON_ACCOUNT:58,DUPLICATE_TX:59,COMPILED_CLASS_HASH_MISMATCH:60,UNSUPPORTED_TX_VERSION:61,UNSUPPORTED_CONTRACT_CLASS_VERSION:62,UNEXPECTED_ERROR:63},Cx=Ix;function Ox(e,t=e.constructor){const{captureStackTrace:n}=Error;n&&n(e,t)}function Bx(e,t){const{setPrototypeOf:n}=Object;n?n(e,t):e.__proto__=t}var zx=class extends Error{constructor(t){super(t);ie(this,"name");Object.defineProperty(this,"name",{value:new.target.name,enumerable:!1,configurable:!0}),Bx(this,new.target.prototype),Ox(this)}},No=class extends zx{},yw=class extends No{constructor(t,n,r){super(`RPC: ${n} with params ${Vt(r,null,2)}
|
|
212
212
|
|
|
213
|
-
${t.code}: ${t.message}: ${Vt(t.data)}`);ie(this,"request");this.baseError=t,this.request={method:n,params:r}}get code(){return this.baseError.code}isType(t){return Cx[t]===this.code}},Px={};Oe(Px,{BlockStatus:()=>Hx,BlockTag:()=>lr,ETH_ADDRESS:()=>bw,EntryPointType:()=>Rx,Literal:()=>ir,NON_ZERO_PREFIX:()=>ww,OutsideExecutionTypesV1:()=>kw,OutsideExecutionTypesV2:()=>_w,OutsideExecutionVersion:()=>vw,RPC:()=>we,TransactionExecutionStatus:()=>Xi,TransactionFinalityStatus:()=>Ux,TransactionStatus:()=>Nx,TransactionType:()=>Qt,TypedDataRevision:()=>Ie,Uint:()=>At,ValidateType:()=>or});var Rx={EXTERNAL:"EXTERNAL",L1_HANDLER:"L1_HANDLER",CONSTRUCTOR:"CONSTRUCTOR"},Qt={DECLARE:"DECLARE",DEPLOY:"DEPLOY",DEPLOY_ACCOUNT:"DEPLOY_ACCOUNT",INVOKE:"INVOKE_FUNCTION"},Nx={NOT_RECEIVED:"NOT_RECEIVED",RECEIVED:"RECEIVED",ACCEPTED_ON_L2:"ACCEPTED_ON_L2",ACCEPTED_ON_L1:"ACCEPTED_ON_L1",REJECTED:"REJECTED",REVERTED:"REVERTED"},Ux={NOT_RECEIVED:"NOT_RECEIVED",RECEIVED:"RECEIVED",ACCEPTED_ON_L2:"ACCEPTED_ON_L2",ACCEPTED_ON_L1:"ACCEPTED_ON_L1"},Xi={REJECTED:"REJECTED",REVERTED:"REVERTED",SUCCEEDED:"SUCCEEDED"},Hx={PENDING:"PENDING",ACCEPTED_ON_L1:"ACCEPTED_ON_L1",ACCEPTED_ON_L2:"ACCEPTED_ON_L2",REJECTED:"REJECTED"},lr={PENDING:"pending",LATEST:"latest"},or={DEPLOY:"DEPLOY",CALL:"CALL",INVOKE:"INVOKE"},At={u8:"core::integer::u8",u16:"core::integer::u16",u32:"core::integer::u32",u64:"core::integer::u64",u128:"core::integer::u128",u256:"core::integer::u256",u512:"core::integer::u512"},ir={ClassHash:"core::starknet::class_hash::ClassHash",ContractAddress:"core::starknet::contract_address::ContractAddress",Secp256k1Point:"core::starknet::secp256k1::Secp256k1Point",U96:"core::internal::bounded_int::BoundedInt::<0, 79228162514264337593543950335>"},bw="core::starknet::eth_address::EthAddress",ww="core::zeroable::NonZero::",kw={StarkNetDomain:[{name:"name",type:"felt"},{name:"version",type:"felt"},{name:"chainId",type:"felt"}],OutsideExecution:[{name:"caller",type:"felt"},{name:"nonce",type:"felt"},{name:"execute_after",type:"felt"},{name:"execute_before",type:"felt"},{name:"calls_len",type:"felt"},{name:"calls",type:"OutsideCall*"}],OutsideCall:[{name:"to",type:"felt"},{name:"selector",type:"felt"},{name:"calldata_len",type:"felt"},{name:"calldata",type:"felt*"}]},_w={StarknetDomain:[{name:"name",type:"shortstring"},{name:"version",type:"shortstring"},{name:"chainId",type:"shortstring"},{name:"revision",type:"shortstring"}],OutsideExecution:[{name:"Caller",type:"ContractAddress"},{name:"Nonce",type:"felt"},{name:"Execute After",type:"u128"},{name:"Execute Before",type:"u128"},{name:"Calls",type:"Call*"}],Call:[{name:"To",type:"ContractAddress"},{name:"Selector",type:"selector"},{name:"Calldata",type:"felt*"}]},vw=(e=>(e.UNSUPPORTED="0",e.V1="1",e.V2="2",e))(vw||{}),Ew=class{constructor(e){ie(this,"nodeUrl");ie(this,"headers");ie(this,"interval");ie(this,"requestId",0);ie(this,"pendingRequests",{});ie(this,"batchPromises",{});ie(this,"delayTimer");ie(this,"delayPromise");ie(this,"delayPromiseResolve");ie(this,"baseFetch");this.nodeUrl=e.nodeUrl,this.headers=e.headers,this.interval=e.interval,this.baseFetch=e.baseFetch}async wait(){return(!this.delayPromise||!this.delayPromiseResolve)&&(this.delayPromise=new Promise(e=>{this.delayPromiseResolve=e})),this.delayTimer&&(clearTimeout(this.delayTimer),this.delayTimer=void 0),this.delayTimer=setTimeout(()=>{this.delayPromiseResolve&&(this.delayPromiseResolve(),this.delayPromise=void 0,this.delayPromiseResolve=void 0)},this.interval),this.delayPromise}addPendingRequest(e,t,n){const r={id:n??`batched_${this.requestId+=1}`,jsonrpc:"2.0",method:e,params:t??void 0};return this.pendingRequests[r.id]=r,r.id}async sendBatch(e){return(await this.baseFetch(this.nodeUrl,{method:"POST",body:Vt(e),headers:this.headers})).json()}async fetch(e,t,n){const r=this.addPendingRequest(e,t,n);await this.wait();const a=this.pendingRequests;if(this.pendingRequests={},!this.batchPromises[r]){const s=this.sendBatch(Object.values(a));Object.keys(a).forEach(c=>{this.batchPromises[c]=s})}const o=await this.batchPromises[r];delete this.batchPromises[r];const i=o.find(s=>s.id===r);if(!i)throw new Error(`Couldn't find the result for the request. Method: ${e}`);return i}};function be(e,t){if(!e)throw new Error(t||"Assertion failure")}var Aw={};Oe(Aw,{addPercent:()=>_o,assertInRange:()=>xw,bigNumberishArrayToDecimalStringArray:()=>Tw,bigNumberishArrayToHexadecimalStringArray:()=>Iw,cleanHex:()=>Uo,getDecimalString:()=>Dx,getHexString:()=>Cw,getHexStringArray:()=>Wd,hexToBytes:()=>Rs,hexToDecimalString:()=>jw,isBigNumberish:()=>Ho,isHex:()=>$t,isStringWholeNumber:()=>na,stringToSha256ToArrayBuff4:()=>Fx,toBigInt:()=>He,toCairoBool:()=>Ow,toHex:()=>ee,toHex64:()=>Lx,toHexString:()=>Sw,toStorageKey:()=>Kd});var Ze=e=>typeof e>"u"||e===void 0;function Yr(e){return typeof e=="number"}function Gd(e){return typeof e=="boolean"}function Nn(e){return typeof e=="bigint"}function Qe(e){return typeof e=="string"}function kn(e){return!!e&&typeof e=="object"&&!Array.isArray(e)}function $t(e){return/^0x[0-9a-f]*$/i.test(e)}function He(e){return BigInt(e)}function ee(e){return Ce(He(e).toString(16))}var Sw=ee;function Kd(e){return Ce(He(e).toString(16).padStart(64,"0"))}function Lx(e){const t=Ce(He(e).toString(16).padStart(64,"0"));if(t.length!==66)throw TypeError("number is too big for hex 0x(64) representation");return t}function jw(e){return BigInt(Ce(e)).toString(10)}function Uo(e){return e.toLowerCase().replace(/^(0x)0+/,"$1")}function xw(e,t,n,r=""){const a=r===""?"invalid length":`invalid ${r} length`,o=BigInt(e),i=BigInt(t),s=BigInt(n);be(o>=i&&o<=s,`Message not signable, ${a}.`)}function Tw(e){return e.map(t=>He(t).toString(10))}function Iw(e){return e.map(t=>ee(t))}function na(e){return/^\d+$/.test(e)}function Dx(e){if($t(e))return jw(e);if(na(e))return e;throw new Error(`${e} needs to be a hex-string or whole-number-string`)}function Cw(e){if($t(e))return e;if(na(e))return Sw(e);throw new Error(`${e} needs to be a hex-string or whole-number-string`)}function Wd(e){return e.map(Cw)}function Ow(e){return(+e).toString()}function Rs(e){if(!$t(e))throw new Error(`${e} needs to be a hex-string`);let t=Ut(e);return t.length%2!==0&&(t=`0${t}`),Ea(t)}function _o(e,t){const n=BigInt(e);return n+n*BigInt(t)/100n}function Fx(e){const n=(r=>Number(r&aw))(BigInt(Ce(zs(Hy(e)))));return Rs(ee(n))}function Ho(e){return Yr(e)||Nn(e)||Qe(e)&&($t(e)||na(e))}var Mx={};Oe(Mx,{getL2MessageHash:()=>zw,getSelector:()=>ni,getSelectorFromName:()=>Ke,keccakBn:()=>Bw,solidityUint256PackedKeccak256:()=>Ns,starknetKeccak:()=>Xd});function Bw(e){const t=Ut(ee(BigInt(e))),n=t.length%2===0?t:`0${t}`;return Ce(pr(Rs(Ce(n))).toString(16))}function qx(e){return Ce(pr(hr(e)).toString(16))}function Xd(e){return BigInt(qx(e))&rw}function Ke(e){return ee(Xd(e))}function ni(e){return Yr(e)||Nn(e)?ee(e):$t(e)?e:na(e)?ee(e):Ke(e)}function Ns(e){const t=Ce(e.reduce((n,r)=>n+Ut(ee(r)).padStart(64,"0"),""));return Ce(Vr(s2(Rs(t))))}function zw(e,t,n,r,a){return Ns([e,t,a,n,r.length,...r])}var Vx={};Oe(Vx,{decodeShortString:()=>Jr,encodeShortString:()=>rt,isASCII:()=>Zd,isDecimalString:()=>Yd,isLongText:()=>Jd,isShortString:()=>ri,isShortText:()=>$x,isText:()=>ai,splitLongString:()=>Qd});function Zd(e){return/^[\x00-\x7F]*$/.test(e)}function ri(e){return e.length<=qd}function Yd(e){return/^[0-9]*$/i.test(e)}function ai(e){return Qe(e)&&!$t(e)&&!na(e)}var $x=e=>ai(e)&&ri(e),Jd=e=>ai(e)&&!ri(e);function Qd(e){const t=RegExp(`[^]{1,${qd}}`,"g");return e.match(t)||[]}function rt(e){if(!Zd(e))throw new Error(`${e} is not an ASCII string`);if(!ri(e))throw new Error(`${e} is too long`);return Ce(e.replace(/./g,t=>t.charCodeAt(0).toString(16)))}function Jr(e){if(!Zd(e))throw new Error(`${e} is not an ASCII string`);if($t(e))return Ut(e).replace(/.{2}/g,t=>String.fromCharCode(parseInt(t,16)));if(Yd(e))return Jr("0X".concat(BigInt(e).toString(16)));throw new Error(`${e} is not Hex or decimal`)}var Gx={};Oe(Gx,{byteArrayFromString:()=>Us,stringFromByteArray:()=>Pw});function Pw(e){const t=BigInt(e.pending_word)===0n?"":Jr(ee(e.pending_word));return e.data.reduce((n,r)=>{const a=BigInt(r)===0n?"":Jr(ee(r));return n+a},"")+t}function Us(e){const t=Qd(e),n=t[t.length-1],r=t.map(rt),[a,o]=n===void 0||n.length===31?["0x00",0]:[r.pop(),n.length];return{data:r.length===0?[]:r,pending_word:a,pending_word_len:o}}var Rw={};Oe(Rw,{felt:()=>Mt,getAbiContractVersion:()=>nf,getArrayType:()=>_n,isCairo1Abi:()=>tf,isCairo1Type:()=>mr,isLen:()=>Qr,isTypeArray:()=>Rn,isTypeBool:()=>Ds,isTypeByteArray:()=>ii,isTypeBytes31:()=>Fs,isTypeContractAddress:()=>nT,isTypeEnum:()=>ra,isTypeEthAddress:()=>aa,isTypeFelt:()=>Ba,isTypeLiteral:()=>ef,isTypeNamedTuple:()=>Uw,isTypeNonZero:()=>oa,isTypeOption:()=>Hs,isTypeResult:()=>Ls,isTypeSecp256k1Point:()=>Ms,isTypeStruct:()=>oi,isTypeTuple:()=>br,isTypeU96:()=>Hw,isTypeUint:()=>Lo,isTypeUint256:()=>tT,tuple:()=>za,uint256:()=>Ul,uint512:()=>rT});function Ur(e){if(Nn(e)||Number.isInteger(e))return e.toString();if(Qe(e)){if($t(e))return BigInt(e).toString();if(ai(e)){if(!ri(e))throw new Error(`${e} is a long string > 31 chars. Please split it into an array of short strings.`);return BigInt(rt(e)).toString()}if(na(e))return e}if(Gd(e))return`${+e}`;throw new Error(`${e} can't be computed by felt()`)}var ya=(1n<<128n)-1n,Nw=(1n<<256n)-1n,Kx=0n,Wx=340282366920938463463374607431768211455n,Xx=340282366920938463463374607431768211455n,Zx=0n,Yx=0n,Yt,Ye=(Yt=class{constructor(...t){ie(this,"low");ie(this,"high");if(typeof t[0]=="object"&&t.length===1&&"low"in t[0]&&"high"in t[0]){const n=Yt.validateProps(t[0].low,t[0].high);this.low=n.low,this.high=n.high}else if(t.length===1){const n=Yt.validate(t[0]);this.low=n&ya,this.high=n>>128n}else if(t.length===2){const n=Yt.validateProps(t[0],t[1]);this.low=n.low,this.high=n.high}else throw Error("Incorrect constructor parameters")}static validate(t){const n=BigInt(t);if(n<Kx)throw Error("bigNumberish is smaller than UINT_256_MIN");if(n>Nw)throw new Error("bigNumberish is bigger than UINT_256_MAX");return n}static validateProps(t,n){const r=BigInt(t),a=BigInt(n);if(r<Zx||r>Wx)throw new Error("low is out of range UINT_256_LOW_MIN - UINT_256_LOW_MAX");if(a<Yx||a>Xx)throw new Error("high is out of range UINT_256_HIGH_MIN - UINT_256_HIGH_MAX");return{low:r,high:a}}static is(t){try{Yt.validate(t)}catch{return!1}return!0}static isAbiType(t){return t===Yt.abiSelector}toBigInt(){return(this.high<<128n)+this.low}toUint256HexString(){return{low:Ce(this.low.toString(16)),high:Ce(this.high.toString(16))}}toUint256DecimalString(){return{low:this.low.toString(10),high:this.high.toString(10)}}toApiRequest(){return[Ur(this.low),Ur(this.high)]}},ie(Yt,"abiSelector","core::integer::u256"),Yt),Jx=(1n<<512n)-1n,Qx=0n,eT=0n,Jt,_t=(Jt=class{constructor(...t){ie(this,"limb0");ie(this,"limb1");ie(this,"limb2");ie(this,"limb3");if(typeof t[0]=="object"&&t.length===1&&"limb0"in t[0]&&"limb1"in t[0]&&"limb2"in t[0]&&"limb3"in t[0]){const n=Jt.validateProps(t[0].limb0,t[0].limb1,t[0].limb2,t[0].limb3);this.limb0=n.limb0,this.limb1=n.limb1,this.limb2=n.limb2,this.limb3=n.limb3}else if(t.length===1){const n=Jt.validate(t[0]);this.limb0=n&ya,this.limb1=(n&ya<<128n)>>128n,this.limb2=(n&ya<<256n)>>256n,this.limb3=n>>384n}else if(t.length===4){const n=Jt.validateProps(t[0],t[1],t[2],t[3]);this.limb0=n.limb0,this.limb1=n.limb1,this.limb2=n.limb2,this.limb3=n.limb3}else throw Error("Incorrect Uint512 constructor parameters")}static validate(t){const n=BigInt(t);if(n<Qx)throw Error("bigNumberish is smaller than UINT_512_MIN.");if(n>Jx)throw Error("bigNumberish is bigger than UINT_512_MAX.");return n}static validateProps(t,n,r,a){const o=BigInt(t),i=BigInt(n),s=BigInt(r),c=BigInt(a);return[o,i,s,c].forEach((u,d)=>{if(u<eT||u>ya)throw Error(`limb${d} is not in the range of a u128 number`)}),{limb0:o,limb1:i,limb2:s,limb3:c}}static is(t){try{Jt.validate(t)}catch{return!1}return!0}static isAbiType(t){return t===Jt.abiSelector}toBigInt(){return(this.limb3<<384n)+(this.limb2<<256n)+(this.limb1<<128n)+this.limb0}toUint512HexString(){return{limb0:Ce(this.limb0.toString(16)),limb1:Ce(this.limb1.toString(16)),limb2:Ce(this.limb2.toString(16)),limb3:Ce(this.limb3.toString(16))}}toUint512DecimalString(){return{limb0:this.limb0.toString(10),limb1:this.limb1.toString(10),limb2:this.limb2.toString(10),limb3:this.limb3.toString(10)}}toApiRequest(){return[Ur(this.limb0),Ur(this.limb1),Ur(this.limb2),Ur(this.limb3)]}},ie(Jt,"abiSelector","core::integer::u512"),Jt),Qr=e=>/_len$/.test(e),Ba=e=>e==="felt"||e==="core::felt252",Rn=e=>/\*/.test(e)||e.startsWith("core::array::Array::")||e.startsWith("core::array::Span::"),br=e=>/^\(.*\)$/i.test(e),Uw=e=>/\(.*\)/i.test(e)&&e.includes(":"),oi=(e,t)=>e in t,ra=(e,t)=>e in t,Hs=e=>e.startsWith("core::option::Option::"),Ls=e=>e.startsWith("core::result::Result::"),Lo=e=>Object.values(At).includes(e),tT=e=>Ye.isAbiType(e),ef=e=>Object.values(ir).includes(e),Ds=e=>e==="core::bool",nT=e=>e===ir.ContractAddress,aa=e=>e===bw,Fs=e=>e==="core::bytes_31::bytes31",ii=e=>e==="core::byte_array::ByteArray",Hw=e=>e==="core::internal::bounded_int::BoundedInt::<0, 79228162514264337593543950335>",Ms=e=>e===ir.Secp256k1Point,mr=e=>e.includes("::"),_n=e=>mr(e)?e.substring(e.indexOf("<")+1,e.lastIndexOf(">")):e.replace("*","");function tf(e){const{cairo:t}=nf(e);if(t===void 0)throw Error("Unable to determine Cairo version");return t==="1"}function oa(e){return e.startsWith(ww)}function nf(e){if(e.find(r=>r.type==="interface"))return{cairo:"1",compiler:"2"};const t=e.find(r=>(r.type==="function"||r.type==="constructor")&&(r.inputs.length||r.outputs.length));if(!t)return{cairo:void 0,compiler:void 0};const n=t.inputs.length?t.inputs:t.outputs;return mr(n[0].type)?{cairo:"1",compiler:"1"}:{cairo:"0",compiler:"0"}}var Ul=e=>new Ye(e).toUint256DecimalString(),rT=e=>new _t(e).toUint512DecimalString(),za=(...e)=>({...e});function Mt(e){return Ur(e)}var si=class{constructor(e){ie(this,"variant");const t=Object.values(e);if(t.length===0)throw new Error("This Enum must have at least 1 variant");if(t.filter(r=>!Ze(r)).length!==1)throw new Error("This Enum must have exactly one active variant");this.variant=e}unwrap(){return Object.values(this.variant).find(t=>!Ze(t))}activeVariant(){const t=Object.entries(this.variant).find(n=>!Ze(n[1]));return Ze(t)?"":t[0]}},en={Some:0,None:1},Hl=class{constructor(e,t){ie(this,"Some");ie(this,"None");if(!(e in Object.values(en)))throw new Error("Wrong variant! It should be CairoOptionVariant.Some or .None.");if(e===en.Some){if(Ze(t))throw new Error('The creation of a Cairo Option with "Some" variant needs a content as input.');this.Some=t,this.None=void 0}else this.Some=void 0,this.None=!0}unwrap(){return this.None?void 0:this.Some}isSome(){return!Ze(this.Some)}isNone(){return this.None===!0}},zt={Ok:0,Err:1},Ll=class{constructor(e,t){ie(this,"Ok");ie(this,"Err");if(!(e in Object.values(zt)))throw new Error("Wrong variant! It should be CairoResultVariant.Ok or .Err.");e===zt.Ok?(this.Ok=t,this.Err=void 0):(this.Ok=void 0,this.Err=t)}unwrap(){if(!Ze(this.Ok))return this.Ok;if(!Ze(this.Err))return this.Err;throw new Error("Both Result.Ok and .Err are undefined. Not authorized.")}isOk(){return!Ze(this.Ok)}isErr(){return!Ze(this.Err)}},Fu={isBN:(e,t,n)=>{if(!Nn(e[n]))throw new Error(`Data and formatter mismatch on ${n}:${t[n]}, expected response data ${n}:${e[n]} to be BN instead it is ${typeof e[n]}`)},unknown:(e,t,n)=>{throw new Error(`Unhandled formatter type on ${n}:${t[n]} for data ${n}:${e[n]}`)}};function Zi(e,t,n){return Object.entries(e).reduce((r,[a,o])=>{const i=n??t[a];if(!(a in t)&&!n)return r[a]=o,r;if(i==="string"){if(Array.isArray(e[a])){const s=Zi(e[a],e[a].map(c=>i));return r[a]=Object.values(s).join(""),r}return Fu.isBN(e,t,a),r[a]=Jr(o),r}if(i==="number")return Fu.isBN(e,t,a),r[a]=Number(o),r;if(typeof i=="function")return r[a]=i(o),r;if(Array.isArray(i)){const s=Zi(e[a],i,i[0]);return r[a]=Object.values(s),r}return kn(i)?(r[a]=Zi(e[a],i),r):(Fu.unknown(e,t,a),r)},{})}var aT=class{constructor(e){ie(this,"abi");this.abi=e}methodInputsLength(e){return e.inputs.reduce((t,n)=>Qr(n.name)?t:t+1,0)}getMethod(e){return this.abi.find(t=>t.name===e)}getLegacyFormat(){return this.abi}},oT=class{constructor(e){ie(this,"abi");this.abi=e}methodInputsLength(e){return e.inputs.length}getMethod(e){var n;const t=this.abi.find(r=>r.type==="interface");return(n=t==null?void 0:t.items)==null?void 0:n.find(r=>r.name===e)}getLegacyFormat(){return this.abi.flatMap(e=>e.type==="interface"?e.items:e)}};function Lw(e){const t=iT(e);if(t===0||t===1)return new aT(e);if(t===2)return new oT(e);throw Error(`Unsupported ABI version ${t}`)}function iT(e){return e.find(t=>t.type==="interface")?2:tf(e)?1:0}function Em(e,t,n){return e==="constructor"&&!n&&!t.length}function sT(e){const t=e.substring(0,e.indexOf(":")),n=e.substring(t.length+1);return{name:t,type:n}}function cT(e){if(!e.includes("("))return{subTuple:[],result:e};const t=[];let n="",r=0;for(;r<e.length;){if(e[r]==="("){let a=1;const o=r;for(r++;a;)e[r]===")"&&a--,e[r]==="("&&a++,r++;t.push(e.substring(o,r)),n+=" ",r--}else n+=e[r];r++}return{subTuple:t,result:n}}function uT(e){const t=e.replace(/\s/g,"").slice(1,-1),{subTuple:n,result:r}=cT(t);let a=r.split(",").map(o=>n.length?o.replace(" ",n.shift()):o);return Uw(e)&&(a=a.reduce((o,i)=>o.concat(sT(i)),[])),a}function Am(e,t,n){for(let r=0,a=0;r<e.length;r++)if(e[r]===t)a++;else if(e[r]===n&&--a===0)return r;return Number.POSITIVE_INFINITY}function lT(e){const t=e.slice(1,-1),n=[];let r=0,a;for(;r<t.length;){switch(!0){case t[r]==="(":{a=r+Am(t.slice(r),"(",")")+1;break}case(t.startsWith("core::result::Result::<",r)||t.startsWith("core::array::Array::<",r)||t.startsWith("core::option::Option::<",r)):{a=r+Am(t.slice(r),"<",">")+1;break}default:{const o=t.indexOf(",",r);a=o!==-1?o:Number.POSITIVE_INFINITY}}n.push(t.slice(r,a)),r=a+2}return n}function rf(e){return mr(e)?lT(e):uT(e)}var St,wt=(St=class{constructor(t,n){ie(this,"content");ie(this,"arrayType");be(St.isTypeFixedArray(n),`The type ${n} is not a Cairo fixed array. Needs [type; length].`);try{St.getFixedArrayType(n)}catch{throw new Error(`The type ${n} do not includes any content type. Needs [type; length].`)}try{St.getFixedArraySize(n)}catch{throw new Error(`The type ${n} type do not includes any length. Needs [type; length].`)}be(St.getFixedArraySize(n)===t.length,`The ABI type ${n} is expecting ${St.getFixedArraySize(n)} items. ${t.length} items provided.`),this.content=t,this.arrayType=n}static getFixedArraySize(t){const n=t.match(new RegExp("(?<=; )\\d+(?=\\])"));if(n===null)throw new Error(`ABI type ${t} do not includes a valid number after ';' character.`);return Number(n[0])}getFixedArraySize(){return St.getFixedArraySize(this.arrayType)}getFixedArrayType(){return St.getFixedArrayType(this.arrayType)}static compile(t){return t.reduce((n,r,a)=>(n[a]=r,n),{})}compile(){return St.compile(this.content)}static isTypeFixedArray(t){return/^\[.*;\s.*\]$/.test(t)&&new RegExp("(?<=\\[).+(?=;)").test(t)&&new RegExp("(?<=; )\\d+(?=\\])").test(t)}},ie(St,"getFixedArrayType",t=>{const n=t.match(new RegExp("(?<=\\[).+(?=;)"));if(n===null)throw new Error(`ABI type ${t} do not includes a valid type of data.`);return n[0]}),St);function dT(e){return Error(`Your object includes the property : ${e}, containing an Uint256 object without the 'low' and 'high' keys.`)}function fT(e){return Error(`Your object includes the property : ${e}, containing an Uint512 object without the 'limb0' to 'limb3' keys.`)}function pT(e,t,n,r){const a=(h,f)=>{if(wt.isTypeFixedArray(f))return s(h,f);if(Rn(f))return i(h,f);if(ra(f,r)){const l=r[f];return u(h,l)}if(br(f))return c(h,f);if(aa(f)||oa(f)||ii(f)||Hw(f)||Ms(f))return h;if(Ye.isAbiType(f)){const l=h;if(typeof l!="object")return l;if(!("low"in l&&"high"in l))throw dT(f);return{low:l.low,high:l.high}}if(_t.isAbiType(f)){const l=h;if(typeof l!="object")return l;if(!["limb0","limb1","limb2","limb3"].every(g=>g in l))throw fT(f);return{limb0:l.limb0,limb1:l.limb1,limb2:l.limb2,limb3:l.limb3}}if(oi(f,n)){const l=n[f].members;return o(h,l)}return h},o=(h,f)=>f.reduce((g,b)=>{const y=_=>Object.defineProperty(g,b.name,{enumerable:!0,value:_??h[b.name]});if(h[b.name]==="undefined"&&(mr(b.type)||!Qr(b.name)))throw Error(`Your object needs a property with key : ${b.name} .`);return y(a(h[b.name],b.type)),g},{});function i(h,f){const l=_n(f);return Qe(h)?h:h.map(g=>a(g,l))}function s(h,f){const l=wt.getFixedArrayType(f),g=wt.getFixedArraySize(f);if(Array.isArray(h)){if(g!==h.length)throw new Error(`ABI type ${f}: array provided do not includes ${g} items. ${h.length} items provided.`);return h.map(b=>a(b,l))}if(g!==Object.keys(h).length)throw new Error(`ABI type ${f}: object provided do not includes ${g} properties. ${Object.keys(h).length} items provided.`);return a(h,l)}function c(h,f){return rf(f).reduce((b,y,_)=>{const k=Object.keys(h),w=A=>Object.defineProperty(b,_.toString(),{enumerable:!0,value:A??h[k[_]]}),v=y!=null&&y.type?y.type:y;return w(a(h[k[_]],v)),b},{})}const u=(h,f)=>{if(Ls(f.name)){const y=h,_=f.name.substring(f.name.indexOf("<")+1,f.name.lastIndexOf(",")),k=f.name.substring(f.name.indexOf(",")+1,f.name.lastIndexOf(">"));return y.isOk()?new Ll(zt.Ok,a(h.unwrap(),_)):new Ll(zt.Err,a(h.unwrap(),k))}if(Hs(f.name)){const y=h,_=f.name.substring(f.name.indexOf("<")+1,f.name.lastIndexOf(">"));return y.isSome()?new Hl(en.Some,a(y.unwrap(),_)):new Hl(en.None,{})}const l=h,b=Object.entries(l.variant).map(y=>{if(Ze(y[1]))return y;const _=f.type.substring(f.type.lastIndexOf("<")+1,f.type.lastIndexOf(">"));return _==="()"?y:[y[0],a(l.unwrap(),_)]});return new si(Object.fromEntries(b))};return t.reduce((h,f)=>{const l=g=>Object.defineProperty(h,f.name,{enumerable:!0,value:g});return Qr(f.name)&&!mr(f.type)||l(a(e[f.name],f.type)),h},{})}function _a(e,t){switch(!0){case Ye.isAbiType(e):return new Ye(t).toApiRequest();case _t.isAbiType(e):return new _t(t).toApiRequest();case Fs(e):return rt(t.toString());case Ms(e):{const n=Ut(ee(t)).padStart(128,"0"),r=Ul(Ce(n.slice(-64))),a=Ul(Ce(n.slice(0,-64)));return[Mt(a.low),Mt(a.high),Mt(r.low),Mt(r.high)]}default:return Mt(t)}}function hT(e,t){const n=rf(t),r=Object.values(e);if(r.length!==n.length)throw Error(`ParseTuple: provided and expected abi tuple size do not match.
|
|
213
|
+
${t.code}: ${t.message}: ${Vt(t.data)}`);ie(this,"request");this.baseError=t,this.request={method:n,params:r}}get code(){return this.baseError.code}isType(t){return Cx[t]===this.code}},Px={};Oe(Px,{BlockStatus:()=>Hx,BlockTag:()=>Rn,ETH_ADDRESS:()=>bw,EntryPointType:()=>Rx,Literal:()=>sr,NON_ZERO_PREFIX:()=>ww,OutsideExecutionTypesV1:()=>kw,OutsideExecutionTypesV2:()=>_w,OutsideExecutionVersion:()=>vw,RPC:()=>we,TransactionExecutionStatus:()=>Xi,TransactionFinalityStatus:()=>Ux,TransactionStatus:()=>Nx,TransactionType:()=>Qt,TypedDataRevision:()=>Ie,Uint:()=>At,ValidateType:()=>ir});var Rx={EXTERNAL:"EXTERNAL",L1_HANDLER:"L1_HANDLER",CONSTRUCTOR:"CONSTRUCTOR"},Qt={DECLARE:"DECLARE",DEPLOY:"DEPLOY",DEPLOY_ACCOUNT:"DEPLOY_ACCOUNT",INVOKE:"INVOKE_FUNCTION"},Nx={NOT_RECEIVED:"NOT_RECEIVED",RECEIVED:"RECEIVED",ACCEPTED_ON_L2:"ACCEPTED_ON_L2",ACCEPTED_ON_L1:"ACCEPTED_ON_L1",REJECTED:"REJECTED",REVERTED:"REVERTED"},Ux={NOT_RECEIVED:"NOT_RECEIVED",RECEIVED:"RECEIVED",ACCEPTED_ON_L2:"ACCEPTED_ON_L2",ACCEPTED_ON_L1:"ACCEPTED_ON_L1"},Xi={REJECTED:"REJECTED",REVERTED:"REVERTED",SUCCEEDED:"SUCCEEDED"},Hx={PENDING:"PENDING",ACCEPTED_ON_L1:"ACCEPTED_ON_L1",ACCEPTED_ON_L2:"ACCEPTED_ON_L2",REJECTED:"REJECTED"},Rn={PENDING:"pending",LATEST:"latest"},ir={DEPLOY:"DEPLOY",CALL:"CALL",INVOKE:"INVOKE"},At={u8:"core::integer::u8",u16:"core::integer::u16",u32:"core::integer::u32",u64:"core::integer::u64",u128:"core::integer::u128",u256:"core::integer::u256",u512:"core::integer::u512"},sr={ClassHash:"core::starknet::class_hash::ClassHash",ContractAddress:"core::starknet::contract_address::ContractAddress",Secp256k1Point:"core::starknet::secp256k1::Secp256k1Point",U96:"core::internal::bounded_int::BoundedInt::<0, 79228162514264337593543950335>"},bw="core::starknet::eth_address::EthAddress",ww="core::zeroable::NonZero::",kw={StarkNetDomain:[{name:"name",type:"felt"},{name:"version",type:"felt"},{name:"chainId",type:"felt"}],OutsideExecution:[{name:"caller",type:"felt"},{name:"nonce",type:"felt"},{name:"execute_after",type:"felt"},{name:"execute_before",type:"felt"},{name:"calls_len",type:"felt"},{name:"calls",type:"OutsideCall*"}],OutsideCall:[{name:"to",type:"felt"},{name:"selector",type:"felt"},{name:"calldata_len",type:"felt"},{name:"calldata",type:"felt*"}]},_w={StarknetDomain:[{name:"name",type:"shortstring"},{name:"version",type:"shortstring"},{name:"chainId",type:"shortstring"},{name:"revision",type:"shortstring"}],OutsideExecution:[{name:"Caller",type:"ContractAddress"},{name:"Nonce",type:"felt"},{name:"Execute After",type:"u128"},{name:"Execute Before",type:"u128"},{name:"Calls",type:"Call*"}],Call:[{name:"To",type:"ContractAddress"},{name:"Selector",type:"selector"},{name:"Calldata",type:"felt*"}]},vw=(e=>(e.UNSUPPORTED="0",e.V1="1",e.V2="2",e))(vw||{}),Ew=class{constructor(e){ie(this,"nodeUrl");ie(this,"headers");ie(this,"interval");ie(this,"requestId",0);ie(this,"pendingRequests",{});ie(this,"batchPromises",{});ie(this,"delayTimer");ie(this,"delayPromise");ie(this,"delayPromiseResolve");ie(this,"baseFetch");this.nodeUrl=e.nodeUrl,this.headers=e.headers,this.interval=e.interval,this.baseFetch=e.baseFetch}async wait(){return(!this.delayPromise||!this.delayPromiseResolve)&&(this.delayPromise=new Promise(e=>{this.delayPromiseResolve=e})),this.delayTimer&&(clearTimeout(this.delayTimer),this.delayTimer=void 0),this.delayTimer=setTimeout(()=>{this.delayPromiseResolve&&(this.delayPromiseResolve(),this.delayPromise=void 0,this.delayPromiseResolve=void 0)},this.interval),this.delayPromise}addPendingRequest(e,t,n){const r={id:n??`batched_${this.requestId+=1}`,jsonrpc:"2.0",method:e,params:t??void 0};return this.pendingRequests[r.id]=r,r.id}async sendBatch(e){return(await this.baseFetch(this.nodeUrl,{method:"POST",body:Vt(e),headers:this.headers})).json()}async fetch(e,t,n){const r=this.addPendingRequest(e,t,n);await this.wait();const a=this.pendingRequests;if(this.pendingRequests={},!this.batchPromises[r]){const s=this.sendBatch(Object.values(a));Object.keys(a).forEach(c=>{this.batchPromises[c]=s})}const o=await this.batchPromises[r];delete this.batchPromises[r];const i=o.find(s=>s.id===r);if(!i)throw new Error(`Couldn't find the result for the request. Method: ${e}`);return i}};function be(e,t){if(!e)throw new Error(t||"Assertion failure")}var Aw={};Oe(Aw,{addPercent:()=>_o,assertInRange:()=>xw,bigNumberishArrayToDecimalStringArray:()=>Tw,bigNumberishArrayToHexadecimalStringArray:()=>Iw,cleanHex:()=>Uo,getDecimalString:()=>Dx,getHexString:()=>Cw,getHexStringArray:()=>Wd,hexToBytes:()=>Rs,hexToDecimalString:()=>jw,isBigNumberish:()=>Ho,isHex:()=>$t,isStringWholeNumber:()=>na,stringToSha256ToArrayBuff4:()=>Fx,toBigInt:()=>He,toCairoBool:()=>Ow,toHex:()=>ee,toHex64:()=>Lx,toHexString:()=>Sw,toStorageKey:()=>Kd});var Ze=e=>typeof e>"u"||e===void 0;function Yr(e){return typeof e=="number"}function Gd(e){return typeof e=="boolean"}function Un(e){return typeof e=="bigint"}function Qe(e){return typeof e=="string"}function kn(e){return!!e&&typeof e=="object"&&!Array.isArray(e)}function $t(e){return/^0x[0-9a-f]*$/i.test(e)}function He(e){return BigInt(e)}function ee(e){return Ce(He(e).toString(16))}var Sw=ee;function Kd(e){return Ce(He(e).toString(16).padStart(64,"0"))}function Lx(e){const t=Ce(He(e).toString(16).padStart(64,"0"));if(t.length!==66)throw TypeError("number is too big for hex 0x(64) representation");return t}function jw(e){return BigInt(Ce(e)).toString(10)}function Uo(e){return e.toLowerCase().replace(/^(0x)0+/,"$1")}function xw(e,t,n,r=""){const a=r===""?"invalid length":`invalid ${r} length`,o=BigInt(e),i=BigInt(t),s=BigInt(n);be(o>=i&&o<=s,`Message not signable, ${a}.`)}function Tw(e){return e.map(t=>He(t).toString(10))}function Iw(e){return e.map(t=>ee(t))}function na(e){return/^\d+$/.test(e)}function Dx(e){if($t(e))return jw(e);if(na(e))return e;throw new Error(`${e} needs to be a hex-string or whole-number-string`)}function Cw(e){if($t(e))return e;if(na(e))return Sw(e);throw new Error(`${e} needs to be a hex-string or whole-number-string`)}function Wd(e){return e.map(Cw)}function Ow(e){return(+e).toString()}function Rs(e){if(!$t(e))throw new Error(`${e} needs to be a hex-string`);let t=Ut(e);return t.length%2!==0&&(t=`0${t}`),Ea(t)}function _o(e,t){const n=BigInt(e);return n+n*BigInt(t)/100n}function Fx(e){const n=(r=>Number(r&aw))(BigInt(Ce(zs(Hy(e)))));return Rs(ee(n))}function Ho(e){return Yr(e)||Un(e)||Qe(e)&&($t(e)||na(e))}var Mx={};Oe(Mx,{getL2MessageHash:()=>zw,getSelector:()=>ni,getSelectorFromName:()=>Ke,keccakBn:()=>Bw,solidityUint256PackedKeccak256:()=>Ns,starknetKeccak:()=>Xd});function Bw(e){const t=Ut(ee(BigInt(e))),n=t.length%2===0?t:`0${t}`;return Ce(pr(Rs(Ce(n))).toString(16))}function qx(e){return Ce(pr(hr(e)).toString(16))}function Xd(e){return BigInt(qx(e))&rw}function Ke(e){return ee(Xd(e))}function ni(e){return Yr(e)||Un(e)?ee(e):$t(e)?e:na(e)?ee(e):Ke(e)}function Ns(e){const t=Ce(e.reduce((n,r)=>n+Ut(ee(r)).padStart(64,"0"),""));return Ce(Vr(s2(Rs(t))))}function zw(e,t,n,r,a){return Ns([e,t,a,n,r.length,...r])}var Vx={};Oe(Vx,{decodeShortString:()=>Jr,encodeShortString:()=>rt,isASCII:()=>Zd,isDecimalString:()=>Yd,isLongText:()=>Jd,isShortString:()=>ri,isShortText:()=>$x,isText:()=>ai,splitLongString:()=>Qd});function Zd(e){return/^[\x00-\x7F]*$/.test(e)}function ri(e){return e.length<=qd}function Yd(e){return/^[0-9]*$/i.test(e)}function ai(e){return Qe(e)&&!$t(e)&&!na(e)}var $x=e=>ai(e)&&ri(e),Jd=e=>ai(e)&&!ri(e);function Qd(e){const t=RegExp(`[^]{1,${qd}}`,"g");return e.match(t)||[]}function rt(e){if(!Zd(e))throw new Error(`${e} is not an ASCII string`);if(!ri(e))throw new Error(`${e} is too long`);return Ce(e.replace(/./g,t=>t.charCodeAt(0).toString(16)))}function Jr(e){if(!Zd(e))throw new Error(`${e} is not an ASCII string`);if($t(e))return Ut(e).replace(/.{2}/g,t=>String.fromCharCode(parseInt(t,16)));if(Yd(e))return Jr("0X".concat(BigInt(e).toString(16)));throw new Error(`${e} is not Hex or decimal`)}var Gx={};Oe(Gx,{byteArrayFromString:()=>Us,stringFromByteArray:()=>Pw});function Pw(e){const t=BigInt(e.pending_word)===0n?"":Jr(ee(e.pending_word));return e.data.reduce((n,r)=>{const a=BigInt(r)===0n?"":Jr(ee(r));return n+a},"")+t}function Us(e){const t=Qd(e),n=t[t.length-1],r=t.map(rt),[a,o]=n===void 0||n.length===31?["0x00",0]:[r.pop(),n.length];return{data:r.length===0?[]:r,pending_word:a,pending_word_len:o}}var Rw={};Oe(Rw,{felt:()=>Mt,getAbiContractVersion:()=>nf,getArrayType:()=>_n,isCairo1Abi:()=>tf,isCairo1Type:()=>mr,isLen:()=>Qr,isTypeArray:()=>Nn,isTypeBool:()=>Ds,isTypeByteArray:()=>ii,isTypeBytes31:()=>Fs,isTypeContractAddress:()=>nT,isTypeEnum:()=>ra,isTypeEthAddress:()=>aa,isTypeFelt:()=>Ba,isTypeLiteral:()=>ef,isTypeNamedTuple:()=>Uw,isTypeNonZero:()=>oa,isTypeOption:()=>Hs,isTypeResult:()=>Ls,isTypeSecp256k1Point:()=>Ms,isTypeStruct:()=>oi,isTypeTuple:()=>br,isTypeU96:()=>Hw,isTypeUint:()=>Lo,isTypeUint256:()=>tT,tuple:()=>za,uint256:()=>Ul,uint512:()=>rT});function Ur(e){if(Un(e)||Number.isInteger(e))return e.toString();if(Qe(e)){if($t(e))return BigInt(e).toString();if(ai(e)){if(!ri(e))throw new Error(`${e} is a long string > 31 chars. Please split it into an array of short strings.`);return BigInt(rt(e)).toString()}if(na(e))return e}if(Gd(e))return`${+e}`;throw new Error(`${e} can't be computed by felt()`)}var ya=(1n<<128n)-1n,Nw=(1n<<256n)-1n,Kx=0n,Wx=340282366920938463463374607431768211455n,Xx=340282366920938463463374607431768211455n,Zx=0n,Yx=0n,Yt,Ye=(Yt=class{constructor(...t){ie(this,"low");ie(this,"high");if(typeof t[0]=="object"&&t.length===1&&"low"in t[0]&&"high"in t[0]){const n=Yt.validateProps(t[0].low,t[0].high);this.low=n.low,this.high=n.high}else if(t.length===1){const n=Yt.validate(t[0]);this.low=n&ya,this.high=n>>128n}else if(t.length===2){const n=Yt.validateProps(t[0],t[1]);this.low=n.low,this.high=n.high}else throw Error("Incorrect constructor parameters")}static validate(t){const n=BigInt(t);if(n<Kx)throw Error("bigNumberish is smaller than UINT_256_MIN");if(n>Nw)throw new Error("bigNumberish is bigger than UINT_256_MAX");return n}static validateProps(t,n){const r=BigInt(t),a=BigInt(n);if(r<Zx||r>Wx)throw new Error("low is out of range UINT_256_LOW_MIN - UINT_256_LOW_MAX");if(a<Yx||a>Xx)throw new Error("high is out of range UINT_256_HIGH_MIN - UINT_256_HIGH_MAX");return{low:r,high:a}}static is(t){try{Yt.validate(t)}catch{return!1}return!0}static isAbiType(t){return t===Yt.abiSelector}toBigInt(){return(this.high<<128n)+this.low}toUint256HexString(){return{low:Ce(this.low.toString(16)),high:Ce(this.high.toString(16))}}toUint256DecimalString(){return{low:this.low.toString(10),high:this.high.toString(10)}}toApiRequest(){return[Ur(this.low),Ur(this.high)]}},ie(Yt,"abiSelector","core::integer::u256"),Yt),Jx=(1n<<512n)-1n,Qx=0n,eT=0n,Jt,_t=(Jt=class{constructor(...t){ie(this,"limb0");ie(this,"limb1");ie(this,"limb2");ie(this,"limb3");if(typeof t[0]=="object"&&t.length===1&&"limb0"in t[0]&&"limb1"in t[0]&&"limb2"in t[0]&&"limb3"in t[0]){const n=Jt.validateProps(t[0].limb0,t[0].limb1,t[0].limb2,t[0].limb3);this.limb0=n.limb0,this.limb1=n.limb1,this.limb2=n.limb2,this.limb3=n.limb3}else if(t.length===1){const n=Jt.validate(t[0]);this.limb0=n&ya,this.limb1=(n&ya<<128n)>>128n,this.limb2=(n&ya<<256n)>>256n,this.limb3=n>>384n}else if(t.length===4){const n=Jt.validateProps(t[0],t[1],t[2],t[3]);this.limb0=n.limb0,this.limb1=n.limb1,this.limb2=n.limb2,this.limb3=n.limb3}else throw Error("Incorrect Uint512 constructor parameters")}static validate(t){const n=BigInt(t);if(n<Qx)throw Error("bigNumberish is smaller than UINT_512_MIN.");if(n>Jx)throw Error("bigNumberish is bigger than UINT_512_MAX.");return n}static validateProps(t,n,r,a){const o=BigInt(t),i=BigInt(n),s=BigInt(r),c=BigInt(a);return[o,i,s,c].forEach((u,d)=>{if(u<eT||u>ya)throw Error(`limb${d} is not in the range of a u128 number`)}),{limb0:o,limb1:i,limb2:s,limb3:c}}static is(t){try{Jt.validate(t)}catch{return!1}return!0}static isAbiType(t){return t===Jt.abiSelector}toBigInt(){return(this.limb3<<384n)+(this.limb2<<256n)+(this.limb1<<128n)+this.limb0}toUint512HexString(){return{limb0:Ce(this.limb0.toString(16)),limb1:Ce(this.limb1.toString(16)),limb2:Ce(this.limb2.toString(16)),limb3:Ce(this.limb3.toString(16))}}toUint512DecimalString(){return{limb0:this.limb0.toString(10),limb1:this.limb1.toString(10),limb2:this.limb2.toString(10),limb3:this.limb3.toString(10)}}toApiRequest(){return[Ur(this.limb0),Ur(this.limb1),Ur(this.limb2),Ur(this.limb3)]}},ie(Jt,"abiSelector","core::integer::u512"),Jt),Qr=e=>/_len$/.test(e),Ba=e=>e==="felt"||e==="core::felt252",Nn=e=>/\*/.test(e)||e.startsWith("core::array::Array::")||e.startsWith("core::array::Span::"),br=e=>/^\(.*\)$/i.test(e),Uw=e=>/\(.*\)/i.test(e)&&e.includes(":"),oi=(e,t)=>e in t,ra=(e,t)=>e in t,Hs=e=>e.startsWith("core::option::Option::"),Ls=e=>e.startsWith("core::result::Result::"),Lo=e=>Object.values(At).includes(e),tT=e=>Ye.isAbiType(e),ef=e=>Object.values(sr).includes(e),Ds=e=>e==="core::bool",nT=e=>e===sr.ContractAddress,aa=e=>e===bw,Fs=e=>e==="core::bytes_31::bytes31",ii=e=>e==="core::byte_array::ByteArray",Hw=e=>e==="core::internal::bounded_int::BoundedInt::<0, 79228162514264337593543950335>",Ms=e=>e===sr.Secp256k1Point,mr=e=>e.includes("::"),_n=e=>mr(e)?e.substring(e.indexOf("<")+1,e.lastIndexOf(">")):e.replace("*","");function tf(e){const{cairo:t}=nf(e);if(t===void 0)throw Error("Unable to determine Cairo version");return t==="1"}function oa(e){return e.startsWith(ww)}function nf(e){if(e.find(r=>r.type==="interface"))return{cairo:"1",compiler:"2"};const t=e.find(r=>(r.type==="function"||r.type==="constructor")&&(r.inputs.length||r.outputs.length));if(!t)return{cairo:void 0,compiler:void 0};const n=t.inputs.length?t.inputs:t.outputs;return mr(n[0].type)?{cairo:"1",compiler:"1"}:{cairo:"0",compiler:"0"}}var Ul=e=>new Ye(e).toUint256DecimalString(),rT=e=>new _t(e).toUint512DecimalString(),za=(...e)=>({...e});function Mt(e){return Ur(e)}var si=class{constructor(e){ie(this,"variant");const t=Object.values(e);if(t.length===0)throw new Error("This Enum must have at least 1 variant");if(t.filter(r=>!Ze(r)).length!==1)throw new Error("This Enum must have exactly one active variant");this.variant=e}unwrap(){return Object.values(this.variant).find(t=>!Ze(t))}activeVariant(){const t=Object.entries(this.variant).find(n=>!Ze(n[1]));return Ze(t)?"":t[0]}},en={Some:0,None:1},Hl=class{constructor(e,t){ie(this,"Some");ie(this,"None");if(!(e in Object.values(en)))throw new Error("Wrong variant! It should be CairoOptionVariant.Some or .None.");if(e===en.Some){if(Ze(t))throw new Error('The creation of a Cairo Option with "Some" variant needs a content as input.');this.Some=t,this.None=void 0}else this.Some=void 0,this.None=!0}unwrap(){return this.None?void 0:this.Some}isSome(){return!Ze(this.Some)}isNone(){return this.None===!0}},zt={Ok:0,Err:1},Ll=class{constructor(e,t){ie(this,"Ok");ie(this,"Err");if(!(e in Object.values(zt)))throw new Error("Wrong variant! It should be CairoResultVariant.Ok or .Err.");e===zt.Ok?(this.Ok=t,this.Err=void 0):(this.Ok=void 0,this.Err=t)}unwrap(){if(!Ze(this.Ok))return this.Ok;if(!Ze(this.Err))return this.Err;throw new Error("Both Result.Ok and .Err are undefined. Not authorized.")}isOk(){return!Ze(this.Ok)}isErr(){return!Ze(this.Err)}},Fu={isBN:(e,t,n)=>{if(!Un(e[n]))throw new Error(`Data and formatter mismatch on ${n}:${t[n]}, expected response data ${n}:${e[n]} to be BN instead it is ${typeof e[n]}`)},unknown:(e,t,n)=>{throw new Error(`Unhandled formatter type on ${n}:${t[n]} for data ${n}:${e[n]}`)}};function Zi(e,t,n){return Object.entries(e).reduce((r,[a,o])=>{const i=n??t[a];if(!(a in t)&&!n)return r[a]=o,r;if(i==="string"){if(Array.isArray(e[a])){const s=Zi(e[a],e[a].map(c=>i));return r[a]=Object.values(s).join(""),r}return Fu.isBN(e,t,a),r[a]=Jr(o),r}if(i==="number")return Fu.isBN(e,t,a),r[a]=Number(o),r;if(typeof i=="function")return r[a]=i(o),r;if(Array.isArray(i)){const s=Zi(e[a],i,i[0]);return r[a]=Object.values(s),r}return kn(i)?(r[a]=Zi(e[a],i),r):(Fu.unknown(e,t,a),r)},{})}var aT=class{constructor(e){ie(this,"abi");this.abi=e}methodInputsLength(e){return e.inputs.reduce((t,n)=>Qr(n.name)?t:t+1,0)}getMethod(e){return this.abi.find(t=>t.name===e)}getLegacyFormat(){return this.abi}},oT=class{constructor(e){ie(this,"abi");this.abi=e}methodInputsLength(e){return e.inputs.length}getMethod(e){var n;const t=this.abi.find(r=>r.type==="interface");return(n=t==null?void 0:t.items)==null?void 0:n.find(r=>r.name===e)}getLegacyFormat(){return this.abi.flatMap(e=>e.type==="interface"?e.items:e)}};function Lw(e){const t=iT(e);if(t===0||t===1)return new aT(e);if(t===2)return new oT(e);throw Error(`Unsupported ABI version ${t}`)}function iT(e){return e.find(t=>t.type==="interface")?2:tf(e)?1:0}function Em(e,t,n){return e==="constructor"&&!n&&!t.length}function sT(e){const t=e.substring(0,e.indexOf(":")),n=e.substring(t.length+1);return{name:t,type:n}}function cT(e){if(!e.includes("("))return{subTuple:[],result:e};const t=[];let n="",r=0;for(;r<e.length;){if(e[r]==="("){let a=1;const o=r;for(r++;a;)e[r]===")"&&a--,e[r]==="("&&a++,r++;t.push(e.substring(o,r)),n+=" ",r--}else n+=e[r];r++}return{subTuple:t,result:n}}function uT(e){const t=e.replace(/\s/g,"").slice(1,-1),{subTuple:n,result:r}=cT(t);let a=r.split(",").map(o=>n.length?o.replace(" ",n.shift()):o);return Uw(e)&&(a=a.reduce((o,i)=>o.concat(sT(i)),[])),a}function Am(e,t,n){for(let r=0,a=0;r<e.length;r++)if(e[r]===t)a++;else if(e[r]===n&&--a===0)return r;return Number.POSITIVE_INFINITY}function lT(e){const t=e.slice(1,-1),n=[];let r=0,a;for(;r<t.length;){switch(!0){case t[r]==="(":{a=r+Am(t.slice(r),"(",")")+1;break}case(t.startsWith("core::result::Result::<",r)||t.startsWith("core::array::Array::<",r)||t.startsWith("core::option::Option::<",r)):{a=r+Am(t.slice(r),"<",">")+1;break}default:{const o=t.indexOf(",",r);a=o!==-1?o:Number.POSITIVE_INFINITY}}n.push(t.slice(r,a)),r=a+2}return n}function rf(e){return mr(e)?lT(e):uT(e)}var St,wt=(St=class{constructor(t,n){ie(this,"content");ie(this,"arrayType");be(St.isTypeFixedArray(n),`The type ${n} is not a Cairo fixed array. Needs [type; length].`);try{St.getFixedArrayType(n)}catch{throw new Error(`The type ${n} do not includes any content type. Needs [type; length].`)}try{St.getFixedArraySize(n)}catch{throw new Error(`The type ${n} type do not includes any length. Needs [type; length].`)}be(St.getFixedArraySize(n)===t.length,`The ABI type ${n} is expecting ${St.getFixedArraySize(n)} items. ${t.length} items provided.`),this.content=t,this.arrayType=n}static getFixedArraySize(t){const n=t.match(new RegExp("(?<=; )\\d+(?=\\])"));if(n===null)throw new Error(`ABI type ${t} do not includes a valid number after ';' character.`);return Number(n[0])}getFixedArraySize(){return St.getFixedArraySize(this.arrayType)}getFixedArrayType(){return St.getFixedArrayType(this.arrayType)}static compile(t){return t.reduce((n,r,a)=>(n[a]=r,n),{})}compile(){return St.compile(this.content)}static isTypeFixedArray(t){return/^\[.*;\s.*\]$/.test(t)&&new RegExp("(?<=\\[).+(?=;)").test(t)&&new RegExp("(?<=; )\\d+(?=\\])").test(t)}},ie(St,"getFixedArrayType",t=>{const n=t.match(new RegExp("(?<=\\[).+(?=;)"));if(n===null)throw new Error(`ABI type ${t} do not includes a valid type of data.`);return n[0]}),St);function dT(e){return Error(`Your object includes the property : ${e}, containing an Uint256 object without the 'low' and 'high' keys.`)}function fT(e){return Error(`Your object includes the property : ${e}, containing an Uint512 object without the 'limb0' to 'limb3' keys.`)}function pT(e,t,n,r){const a=(h,f)=>{if(wt.isTypeFixedArray(f))return s(h,f);if(Nn(f))return i(h,f);if(ra(f,r)){const l=r[f];return u(h,l)}if(br(f))return c(h,f);if(aa(f)||oa(f)||ii(f)||Hw(f)||Ms(f))return h;if(Ye.isAbiType(f)){const l=h;if(typeof l!="object")return l;if(!("low"in l&&"high"in l))throw dT(f);return{low:l.low,high:l.high}}if(_t.isAbiType(f)){const l=h;if(typeof l!="object")return l;if(!["limb0","limb1","limb2","limb3"].every(g=>g in l))throw fT(f);return{limb0:l.limb0,limb1:l.limb1,limb2:l.limb2,limb3:l.limb3}}if(oi(f,n)){const l=n[f].members;return o(h,l)}return h},o=(h,f)=>f.reduce((g,b)=>{const y=_=>Object.defineProperty(g,b.name,{enumerable:!0,value:_??h[b.name]});if(h[b.name]==="undefined"&&(mr(b.type)||!Qr(b.name)))throw Error(`Your object needs a property with key : ${b.name} .`);return y(a(h[b.name],b.type)),g},{});function i(h,f){const l=_n(f);return Qe(h)?h:h.map(g=>a(g,l))}function s(h,f){const l=wt.getFixedArrayType(f),g=wt.getFixedArraySize(f);if(Array.isArray(h)){if(g!==h.length)throw new Error(`ABI type ${f}: array provided do not includes ${g} items. ${h.length} items provided.`);return h.map(b=>a(b,l))}if(g!==Object.keys(h).length)throw new Error(`ABI type ${f}: object provided do not includes ${g} properties. ${Object.keys(h).length} items provided.`);return a(h,l)}function c(h,f){return rf(f).reduce((b,y,_)=>{const k=Object.keys(h),w=A=>Object.defineProperty(b,_.toString(),{enumerable:!0,value:A??h[k[_]]}),v=y!=null&&y.type?y.type:y;return w(a(h[k[_]],v)),b},{})}const u=(h,f)=>{if(Ls(f.name)){const y=h,_=f.name.substring(f.name.indexOf("<")+1,f.name.lastIndexOf(",")),k=f.name.substring(f.name.indexOf(",")+1,f.name.lastIndexOf(">"));return y.isOk()?new Ll(zt.Ok,a(h.unwrap(),_)):new Ll(zt.Err,a(h.unwrap(),k))}if(Hs(f.name)){const y=h,_=f.name.substring(f.name.indexOf("<")+1,f.name.lastIndexOf(">"));return y.isSome()?new Hl(en.Some,a(y.unwrap(),_)):new Hl(en.None,{})}const l=h,b=Object.entries(l.variant).map(y=>{if(Ze(y[1]))return y;const _=f.type.substring(f.type.lastIndexOf("<")+1,f.type.lastIndexOf(">"));return _==="()"?y:[y[0],a(l.unwrap(),_)]});return new si(Object.fromEntries(b))};return t.reduce((h,f)=>{const l=g=>Object.defineProperty(h,f.name,{enumerable:!0,value:g});return Qr(f.name)&&!mr(f.type)||l(a(e[f.name],f.type)),h},{})}function _a(e,t){switch(!0){case Ye.isAbiType(e):return new Ye(t).toApiRequest();case _t.isAbiType(e):return new _t(t).toApiRequest();case Fs(e):return rt(t.toString());case Ms(e):{const n=Ut(ee(t)).padStart(128,"0"),r=Ul(Ce(n.slice(-64))),a=Ul(Ce(n.slice(0,-64)));return[Mt(a.low),Mt(a.high),Mt(r.low),Mt(r.high)]}default:return Mt(t)}}function hT(e,t){const n=rf(t),r=Object.values(e);if(r.length!==n.length)throw Error(`ParseTuple: provided and expected abi tuple size do not match.
|
|
214
214
|
provided: ${r}
|
|
215
|
-
expected: ${n}`);return n.map((a,o)=>({element:r[o],type:a.type??a}))}function mT(e){const t=Us(e);return[t.data.length.toString(),...t.data.map(n=>n.toString()),t.pending_word.toString(),t.pending_word_len.toString()]}function Dt(e,t,n,r){if(e===void 0)throw Error(`Missing parameter for type ${t}`);if(wt.isTypeFixedArray(t)){const a=wt.getFixedArrayType(t);let o=[];if(Array.isArray(e))o=new wt(e,t).content;else if(typeof e=="object")o=Object.values(e),be(o.length===wt.getFixedArraySize(t),`ABI type ${t}: object provided do not includes ${wt.getFixedArraySize(t)} items. ${o.length} items provided.`);else throw new Error(`ABI type ${t}: not an Array representing a cairo.fixedArray() provided.`);return o.reduce((i,s)=>i.concat(Dt(s,a,n,r)),[])}if(Array.isArray(e)){const a=[];a.push(Mt(e.length));const o=_n(t);return e.reduce((i,s)=>i.concat(Dt(s,o,n,r)),a)}if(n[t]&&n[t].members.length){if(Ye.isAbiType(t))return new Ye(e).toApiRequest();if(_t.isAbiType(t))return new _t(e).toApiRequest();if(aa(t))return _a(t,e);if(ii(t))return mT(e);const{members:a}=n[t],o=e;return a.reduce((i,s)=>i.concat(Dt(o[s.name],s.type,n,r)),[])}if(br(t))return hT(e,t).reduce((o,i)=>{const s=Dt(i.element,i.type,n,r);return o.concat(s)},[]);if(Ye.isAbiType(t))return new Ye(e).toApiRequest();if(_t.isAbiType(t))return new _t(e).toApiRequest();if(ra(t,r)){const{variants:a}=r[t];if(Hs(t)){const h=e;if(h.isSome()){const f=a.find(b=>b.name==="Some");if(Ze(f))throw Error("Error in abi : Option has no 'Some' variant.");const l=f.type;if(l==="()")return en.Some.toString();const g=Dt(h.unwrap(),l,n,r);return Array.isArray(g)?[en.Some.toString(),...g]:[en.Some.toString(),g]}return en.None.toString()}if(Ls(t)){const h=e;if(h.isOk()){const b=a.find(k=>k.name==="Ok");if(Ze(b))throw Error("Error in abi : Result has no 'Ok' variant.");const y=b.type;if(y==="()")return zt.Ok.toString();const _=Dt(h.unwrap(),y,n,r);return Array.isArray(_)?[zt.Ok.toString(),..._]:[zt.Ok.toString(),_]}const f=a.find(b=>b.name==="Err");if(Ze(f))throw Error("Error in abi : Result has no 'Err' variant.");const l=f.type;if(l==="()")return zt.Err.toString();const g=Dt(h.unwrap(),l,n,r);return Array.isArray(g)?[zt.Err.toString(),...g]:[zt.Err.toString(),g]}const o=e,i=o.activeVariant(),s=a.find(h=>h.name===i);if(Ze(s))throw Error(`Not find in abi : Enum has no '${i}' variant.`);const c=s.type,u=a.findIndex(h=>h.name===i);if(c==="()")return u.toString();const d=Dt(o.unwrap(),c,n,r);return Array.isArray(d)?[u.toString(),...d]:[u.toString(),d]}if(oa(t))return _a(_n(t),e);if(typeof e=="object")throw Error(`Parameter ${e} do not align with abi parameter ${t}`);return _a(t,e)}function gT(e,t,n,r){const{name:a,type:o}=t;let{value:i}=e.next();switch(!0){case wt.isTypeFixedArray(o):if(!Array.isArray(i)&&typeof i!="object")throw Error(`ABI expected parameter ${a} to be an array or an object, got ${i}`);return Dt(i,t.type,n,r);case Rn(o):if(!Array.isArray(i)&&!ai(i))throw Error(`ABI expected parameter ${a} to be array or long string, got ${i}`);return Qe(i)&&(i=Qd(i)),Dt(i,t.type,n,r);case oa(o):return _a(_n(o),i);case aa(o):return _a(o,i);case(oi(o,n)||br(o)||Ye.isAbiType(o)):return Dt(i,o,n,r);case ra(o,r):return Dt(i,o,n,r);default:return _a(o,i)}}function Dl(e,t){let n;switch(!0){case Ds(e):return n=t.next().value,!!BigInt(n);case Ye.isAbiType(e):const r=t.next().value,a=t.next().value;return new Ye(r,a).toBigInt();case _t.isAbiType(e):const o=t.next().value,i=t.next().value,s=t.next().value,c=t.next().value;return new _t(o,i,s,c).toBigInt();case aa(e):return n=t.next().value,BigInt(n);case Fs(e):return n=t.next().value,Jr(n);case Ms(e):const u=Ut(t.next().value).padStart(32,"0"),d=Ut(t.next().value).padStart(32,"0"),h=Ut(t.next().value).padStart(32,"0"),f=Ut(t.next().value).padStart(32,"0");return BigInt(Ce(d+u+f+h));default:return n=t.next().value,BigInt(n)}}function Bt(e,t,n,r){if(t.type==="()")return{};if(Ye.isAbiType(t.type)){const a=e.next().value,o=e.next().value;return new Ye(a,o).toBigInt()}if(_t.isAbiType(t.type)){const a=e.next().value,o=e.next().value,i=e.next().value,s=e.next().value;return new _t(a,o,i,s).toBigInt()}if(ii(t.type)){const a=[],o=BigInt(e.next().value);for(;a.length<o;)a.push(ee(e.next().value));const i=ee(e.next().value);return BigInt(e.next().value),Pw({data:a,pending_word:i})}if(wt.isTypeFixedArray(t.type)){const a=[],o={type:wt.getFixedArrayType(t.type)},i=wt.getFixedArraySize(t.type);for(;a.length<i;)a.push(Bt(e,o,n,r));return a}if(Rn(t.type)){const a=[],o={type:_n(t.type)},i=BigInt(e.next().value);for(;a.length<i;)a.push(Bt(e,o,n,r));return a}if(oa(t.type)){const a={type:_n(t.type)};return Bt(e,a,n,r)}if(n&&t.type in n&&n[t.type])return aa(t.type)?Dl(t.type,e):n[t.type].members.reduce((a,o)=>(a[o.name]=Bt(e,o,n,r),a),{});if(r&&t.type in r&&r[t.type]){const a=Number(e.next().value),o=r[t.type].variants.reduce((s,c,u)=>u===a?(s[c.name]=Bt(e,{type:c.type},n,r),s):(s[c.name]=void 0,s),{});if(t.type.startsWith("core::option::Option")){const s=a===en.Some?o.Some:void 0;return new Hl(a,s)}if(t.type.startsWith("core::result::Result")){let s;return a===zt.Ok?s=o.Ok:s=o.Err,new Ll(a,s)}return new si(o)}if(br(t.type))return rf(t.type).reduce((o,i,s)=>{const c=i!=null&&i.name?i.name:s,d={type:i!=null&&i.type?i.type:i};return o[c]=Bt(e,d,n,r),o},{});if(Rn(t.type)){const a=[],o={type:_n(t.type)},i=BigInt(e.next().value);for(;a.length<i;)a.push(Bt(e,o,n,r));return a}return Dl(t.type,e)}function ps(e,t,n,r,a){const{name:o,type:i}=t;let s;switch(!0){case Qr(o):return s=e.next().value,BigInt(s);case(n&&i in n||br(i)):return Bt(e,t,n,r);case(r&&ra(i,r)):return Bt(e,t,n,r);case wt.isTypeFixedArray(i):return Bt(e,t,n,r);case Rn(i):if(mr(i))return Bt(e,t,n,r);const c=[];if(a&&a[`${o}_len`]){const u=a[`${o}_len`];for(;c.length<u;)c.push(Bt(e,{type:t.type.replace("*","")},n,r))}return c;case oa(i):return Bt(e,t,n,r);default:return Dl(i,e)}}var af=(e,t)=>{if(be(Qe(e)||Yr(e)||Nn(e),`Validate: arg ${t.name} should be a felt typed as (String, Number or BigInt)`),Qe(e)&&!$t(e))return;const n=BigInt(e.toString(10));be(n>=0n&&n<=2n**252n-1n,`Validate: arg ${t.name} cairo typed ${t.type} should be in range [0, 2^252-1]`)},yT=(e,t)=>{be(Qe(e),`Validate: arg ${t.name} should be a string.`),be(e.length<32,`Validate: arg ${t.name} cairo typed ${t.type} should be a string of less than 32 characters.`)},bT=(e,t)=>{be(Qe(e),`Validate: arg ${t.name} should be a string.`)},qs=(e,t)=>{Yr(e)&&be(e<=Number.MAX_SAFE_INTEGER,"Validation: Parameter is too large to be typed as Number use (BigInt or String)"),be(Qe(e)||Yr(e)||Nn(e)||kn(e)&&"low"in e&&"high"in e||kn(e)&&["limb0","limb1","limb2","limb3"].every(r=>r in e),`Validate: arg ${t.name} of cairo type ${t.type} should be type (String, Number or BigInt), but is ${typeof e} ${e}.`);let n;switch(t.type){case At.u256:n=new Ye(e).toBigInt();break;case At.u512:n=new _t(e).toBigInt();break;default:n=He(e)}switch(t.type){case At.u8:be(n>=0n&&n<=255n,`Validate: arg ${t.name} cairo typed ${t.type} should be in range [0 - 255]`);break;case At.u16:be(n>=0n&&n<=65535n,`Validate: arg ${t.name} cairo typed ${t.type} should be in range [0, 65535]`);break;case At.u32:be(n>=0n&&n<=4294967295n,`Validate: arg ${t.name} cairo typed ${t.type} should be in range [0, 4294967295]`);break;case At.u64:be(n>=0n&&n<=2n**64n-1n,`Validate: arg ${t.name} cairo typed ${t.type} should be in range [0, 2^64-1]`);break;case At.u128:be(n>=0n&&n<=2n**128n-1n,`Validate: arg ${t.name} cairo typed ${t.type} should be in range [0, 2^128-1]`);break;case At.u256:be(n>=0n&&n<=2n**256n-1n,`Validate: arg ${t.name} is ${t.type} should be in range 0 - 2^256-1`);break;case At.u512:be(_t.is(n),`Validate: arg ${t.name} is ${t.type} should be in range 0 - 2^512-1`);break;case ir.ClassHash:be(n>=0n&&n<=2n**252n-1n,`Validate: arg ${t.name} cairo typed ${t.type} should be in range [0, 2^252-1]`);break;case ir.ContractAddress:be(n>=0n&&n<=2n**252n-1n,`Validate: arg ${t.name} cairo typed ${t.type} should be in range [0, 2^252-1]`);break;case ir.Secp256k1Point:{be(n>=0n&&n<=2n**512n-1n,`Validate: arg ${t.name} must be ${t.type} : a 512 bits number.`);break}case ir.U96:{be(n>=0n&&n<=2n**96n-1n,`Validate: arg ${t.name} must be ${t.type} : a 96 bits number.`);break}}},Dw=(e,t)=>{be(Gd(e),`Validate: arg ${t.name} of cairo type ${t.type} should be type (Boolean)`)},Fw=(e,t,n)=>{if(t.type===At.u256||t.type===At.u512){qs(e,t);return}if(aa(t.type)){be(!kn(e),`EthAddress type is waiting a BigNumberish. Got "${e}"`);const r=BigInt(e.toString(10));be(r>=0n&&r<=2n**160n-1n,`Validate: arg ${t.name} cairo typed ${t.type} should be in range [0, 2^160-1]`);return}be(kn(e),`Validate: arg ${t.name} is cairo type struct (${t.type}), and should be defined as a js object (not array)`),n[t.type].members.forEach(({name:r})=>{be(Object.keys(e).includes(r),`Validate: arg ${t.name} should have a property ${r}`)})},Mw=(e,t)=>{be(kn(e),`Validate: arg ${t.name} is cairo type Enum (${t.type}), and should be defined as a js object (not array)`);const n=Object.getOwnPropertyNames(Object.getPrototypeOf(e)),r=[...Object.getOwnPropertyNames(e),...n];if(!(Hs(t.type)&&r.includes("isSome")&&r.includes("isNone"))&&!(Ls(t.type)&&r.includes("isOk")&&r.includes("isErr"))&&!(r.includes("variant")&&r.includes("activeVariant")))throw new Error(`Validate Enum: argument ${t.name}, type ${t.type}, value received "${e}", is not an Enum.`)},qw=(e,t)=>{be(kn(e),`Validate: arg ${t.name} should be a tuple (defined as object)`)},Vw=(e,t,n,r)=>{const a=Rn(t.type),o=a?_n(t.type):wt.getFixedArrayType(t.type);if(a&&Ba(o)&&Jd(e))return;let i=[];if(a)be(Array.isArray(e),`Validate: arg ${t.name} should be an Array`),i=e;else switch(!0){case Array.isArray(e):i=e;break;case typeof e=="object":i=Object.values(e);break;default:throw new Error(`Validate: arg ${t.name} should be an Array or an object.`)}switch(!0){case Ba(o):i.forEach(s=>af(s,t));break;case br(o):i.forEach(s=>qw(s,{name:t.name}));break;case Rn(o):i.forEach(s=>Vw(s,{name:"",type:o},n,r));break;case oi(o,n):i.forEach(s=>Fw(s,{name:t.name,type:o},n));break;case ra(o,r):i.forEach(s=>Mw(s,{name:t.name,type:o}));break;case(Lo(o)||ef(o)):i.forEach(s=>qs(s,{name:"",type:o}));break;case Ds(o):i.forEach(s=>Dw(s,t));break;default:throw new Error(`Validate Unhandled: argument ${t.name}, type ${t.type}, value ${i}`)}},wT=(e,t)=>{const n=_n(t.type);switch(be(Lo(n)&&n!==_t.abiSelector||Ba(n),`Validate: ${t.name} type is not authorized for NonZero type.`),!0){case Ba(n):af(e,t),be(BigInt(e.toString(10))>0,"Validate: value 0 is not authorized in NonZero felt252 type.");break;case Lo(n):switch(qs(e,{name:"",type:n}),n){case At.u256:be(new Ye(e).toBigInt()>0,"Validate: value 0 is not authorized in NonZero uint256 type.");break;default:be(He(e)>0,"Validate: value 0 is not authorized in NonZero uint type.")}break;default:throw new Error(`Validate Unhandled: argument ${t.name}, type ${t.type}, value "${e}"`)}};function Sm(e,t,n,r){e.inputs.reduce((a,o)=>{const i=t[a];switch(!0){case Qr(o.name):return a;case Ba(o.type):af(i,o);break;case Fs(o.type):yT(i,o);break;case(Lo(o.type)||ef(o.type)):qs(i,o);break;case Ds(o.type):Dw(i,o);break;case ii(o.type):bT(i,o);break;case(Rn(o.type)||wt.isTypeFixedArray(o.type)):Vw(i,o,n,r);break;case oi(o.type,n):Fw(i,o,n);break;case ra(o.type,r):Mw(i,o);break;case br(o.type):qw(i,o);break;case oa(o.type):wT(i,o);break;default:throw new Error(`Validate Unhandled: argument ${o.name}, type ${o.type}, value ${i}`)}return a+1},0)}var xe=class po{constructor(t){ie(this,"abi");ie(this,"parser");ie(this,"structs");ie(this,"enums");this.structs=po.getAbiStruct(t),this.enums=po.getAbiEnum(t),this.parser=Lw(t),this.abi=this.parser.getLegacyFormat()}validate(t,n,r=[]){if(t!==or.DEPLOY){const i=this.abi.filter(s=>{if(s.type!=="function")return!1;const c=s.stateMutability==="view"||s.state_mutability==="view";return t===or.INVOKE?!c:c}).map(s=>s.name);be(i.includes(n),`${t===or.INVOKE?"invocable":"viewable"} method not found in abi`)}const a=this.abi.find(i=>t===or.DEPLOY?i.name===n&&i.type==="constructor":i.name===n&&i.type==="function");if(Em(n,r,a))return;const o=this.parser.methodInputsLength(a);if(r.length!==o)throw Error(`Invalid number of arguments, expected ${o} arguments, but got ${r.length}`);Sm(a,r,this.structs,this.enums)}compile(t,n){const r=this.abi.find(s=>s.name===t);if(Em(t,n,r))return[];let a;if(Array.isArray(n))a=n;else{const s=pT(n,r.inputs,this.structs,this.enums);a=Object.values(s),Sm(r,a,this.structs,this.enums)}const o=a[Symbol.iterator](),i=r.inputs.reduce((s,c)=>Qr(c.name)&&!mr(c.type)?s:s.concat(gT(o,c,this.structs,this.enums)),[]);return Object.defineProperty(i,"__compiled__",{enumerable:!1,writable:!1,value:!0}),i}static compile(t){const n=a=>{const o=(s,c=".")=>{const u=Array.isArray(s)?[s.length.toString(),...s]:s;return Object.entries(u).flatMap(([d,h])=>{let f=h;d==="entrypoint"?f=Ke(f):Jd(f)&&(f=Us(f));const l=Array.isArray(u)&&d==="0"?"$$len":d;if(Nn(f))return[[`${c}${l}`,Mt(f)]];if(Object(f)===f){const g=Object.getOwnPropertyNames(Object.getPrototypeOf(f)),b=[...Object.getOwnPropertyNames(f),...g];if(b.includes("isSome")&&b.includes("isNone")){const y=f,_=y.isSome()?en.Some:en.None;return y.isSome()?o({0:_,1:y.unwrap()},`${c}${l}.`):[[`${c}${l}`,Mt(_)]]}if(b.includes("isOk")&&b.includes("isErr")){const y=f,_=y.isOk()?zt.Ok:zt.Err;return o({0:_,1:y.unwrap()},`${c}${l}.`)}if(b.includes("variant")&&b.includes("activeVariant")){const y=f,_=y.activeVariant(),w=Object.keys(y.variant).findIndex(v=>v===_);return typeof y.unwrap()=="object"&&Object.keys(y.unwrap()).length===0?[[`${c}${l}`,Mt(w)]]:o({0:w,1:y.unwrap()},`${c}${l}.`)}return o(f,`${c}${l}.`)}return[[`${c}${l}`,Mt(f)]]})};return Object.fromEntries(o(a))};let r;if(Array.isArray(t)){const a={...t},o=n(a);r=Object.values(o)}else{const a=n(t);r=Object.values(a)}return Object.defineProperty(r,"__compiled__",{enumerable:!1,writable:!1,value:!0}),r}parse(t,n){const{outputs:r}=this.abi.find(i=>i.name===t),a=n.flat()[Symbol.iterator](),o=r.flat().reduce((i,s,c)=>{const u=s.name??c;return i[u]=ps(a,s,this.structs,this.enums,i),i[u]&&i[`${u}_len`]&&delete i[`${u}_len`],i},{});return Object.keys(o).length===1&&0 in o?o[0]:o}format(t,n,r){const a=this.parse(t,n);return Zi(a,r)}static getAbiStruct(t){return t.filter(n=>n.type==="struct").reduce((n,r)=>({...n,[r.name]:r}),{})}static getAbiEnum(t){const n=t.filter(r=>r.type==="enum").reduce((r,a)=>({...r,[a.name]:a}),{});return delete n["core::bool"],n}static toCalldata(t=[]){return po.compile(t)}static toHex(t=[]){return po.compile(t).map(r=>ee(r))}decodeParameters(t,n){const r=Array.isArray(t)?t:[t],a=n.flat()[Symbol.iterator](),o=r.map(i=>ps(a,{name:"",type:i},this.structs,this.enums));return o.length===1?o[0]:o}},kT={};Oe(kT,{calculateContractAddressFromHash:()=>ik,calculateDeclareTransactionHash:()=>CT,calculateDeployAccountTransactionHash:()=>BT,calculateInvokeTransactionHash:()=>TT,calculateL2MessageTxHash:()=>Ww,computeCompiledClassHash:()=>lk,computeContractClassHash:()=>fk,computeHashOnElements:()=>dn,computeHintedClassHash:()=>sk,computeLegacyContractClassHash:()=>ck,computePedersenHash:()=>Do,computePedersenHashOnElements:()=>ak,computePoseidonHash:()=>rk,computePoseidonHashOnElements:()=>ok,computeSierraContractClassHash:()=>dk,formatSpaces:()=>Fo,getL2MessageHash:()=>zw,getSelector:()=>ni,getSelectorFromName:()=>Ke,hashByteCodeSegments:()=>uk,keccakBn:()=>Bw,poseidon:()=>y2,solidityUint256PackedKeccak256:()=>Ns,starknetKeccak:()=>Xd});var _T={};Oe(_T,{calculateDeclareTransactionHash:()=>$w,calculateDeployAccountTransactionHash:()=>Gw,calculateL2MessageTxHash:()=>Ww,calculateTransactionHash:()=>Kw,calculateTransactionHashCommon:()=>ci,computeHashOnElements:()=>Fl});var hs={};Oe(hs,{starkCurve:()=>Vv,weierstrass:()=>x2});function Fl(e){return[...e,e.length].reduce((t,n)=>Ra(He(t),He(n)),0).toString()}function ci(e,t,n,r,a,o,i,s=[]){const c=Fl(a),u=[e,t,n,r,c,o,i,...s];return Fl(u)}function $w(e,t,n,r,a,o,i){return ci("0x6465636c617265",n,t,0,[e],r,a,[o,...i?[i]:[]])}function Gw(e,t,n,r,a,o,i,s){const c=[t,r,...n];return ci("0x6465706c6f795f6163636f756e74",a,e,0,c,o,i,[s])}function Kw(e,t,n,r,a,o){return ci("0x696e766f6b65",t,e,0,n,r,a,[o])}function Ww(e,t,n,r,a,o){const i=[e,...r];return ci("0x6c315f68616e646c6572",0,t,ni(n),i,0,a,[o])}var vT={};Oe(vT,{calculateDeclareTransactionHash:()=>tk,calculateDeployAccountTransactionHash:()=>ek,calculateInvokeTransactionHash:()=>nk,calculateTransactionHashCommon:()=>Vs,encodeResourceBoundsL1:()=>Yw,encodeResourceBoundsL2:()=>Jw,hashDAMode:()=>Zw,hashFeeField:()=>Qw});var dr=e=>e.map(t=>BigInt(t)),ET=32n,AT=64n,of=128n,Xw=AT+of,ST=BigInt(rt("L1_GAS")),jT=BigInt(rt("L2_GAS"));function Zw(e,t){return(BigInt(e)<<ET)+BigInt(t)}function Yw(e){return(ST<<Xw)+(BigInt(e.l1_gas.max_amount)<<of)+BigInt(e.l1_gas.max_price_per_unit)}function Jw(e){return(jT<<Xw)+(BigInt(e.l2_gas.max_amount)<<of)+BigInt(e.l2_gas.max_price_per_unit)}function Qw(e,t){const n=Yw(t),r=Jw(t);return ot([BigInt(e),n,r])}function Vs(e,t,n,r,a,o,i,s,c,u,d=[]){const h=Qw(o,u),f=Zw(s,c),l=dr([e,t,n,h,ot(dr(i)),r,a,f,...dr(d)]);return ee(ot(l))}function ek(e,t,n,r,a,o,i,s,c,u,d,h){return Vs("0x6465706c6f795f6163636f756e74",a,e,o,i,d,h,s,c,u,[ot(dr(n)),t,r])}function tk(e,t,n,r,a,o,i,s,c,u,d,h){return Vs("0x6465636c617265",r,n,a,o,d,dr(h),s,c,u,[ot(dr(i)),e,t])}function nk(e,t,n,r,a,o,i,s,c,u,d){return Vs("0x696e766f6b65",t,e,r,a,u,d,i,s,c,[ot(dr(o)),ot(dr(n))])}function xT(e){return[we.ETransactionVersion.V3,we.ETransactionVersion.F3].includes(e.version)}function TT(e){return xT(e)?nk(e.senderAddress,e.version,e.compiledCalldata,e.chainId,e.nonce,e.accountDeploymentData,e.nonceDataAvailabilityMode,e.feeDataAvailabilityMode,e.resourceBounds,e.tip,e.paymasterData):Kw(e.senderAddress,e.version,e.compiledCalldata,e.maxFee,e.chainId,e.nonce)}function IT(e){return[we.ETransactionVersion.V3,we.ETransactionVersion.F3].includes(e.version)}function CT(e){return IT(e)?tk(e.classHash,e.compiledClassHash,e.senderAddress,e.version,e.chainId,e.nonce,e.accountDeploymentData,e.nonceDataAvailabilityMode,e.feeDataAvailabilityMode,e.resourceBounds,e.tip,e.paymasterData):$w(e.classHash,e.senderAddress,e.version,e.maxFee,e.chainId,e.nonce,e.compiledClassHash)}function OT(e){return[we.ETransactionVersion.V3,we.ETransactionVersion.F3].includes(e.version)}function BT(e){return OT(e)?ek(e.contractAddress,e.classHash,e.compiledConstructorCalldata,e.salt,e.version,e.chainId,e.nonce,e.nonceDataAvailabilityMode,e.feeDataAvailabilityMode,e.resourceBounds,e.tip,e.paymasterData):Gw(e.contractAddress,e.classHash,e.constructorCalldata,e.salt,e.version,e.maxFee,e.chainId,e.nonce)}function Do(e,t){return Ra(BigInt(e),BigInt(t))}function rk(e,t){return ee(Ed(BigInt(e),BigInt(t)))}function dn(e){return[...e,e.length].reduce((t,n)=>Ra(BigInt(t),BigInt(n)),0).toString()}var ak=dn;function ok(e){return ee(ot(e.map(t=>BigInt(t))))}function ik(e,t,n,r){const a=xe.compile(n),o=dn(a),i=Mt("0x535441524b4e45545f434f4e54524143545f41444452455353"),s=dn([i,r,e,t,o]);return ee(BigInt(s)%sw)}function zT(e,t){return e==="attributes"||e==="accessible_scopes"?Array.isArray(t)&&t.length===0?void 0:t:e==="debug_info"?null:t===null?void 0:t}function Fo(e){let t=!1;const n=[];for(const r of e)r==='"'&&!(n.length>0&&n.slice(-1)[0]==="\\")&&(t=!t),t?n.push(r):n.push(r===":"?": ":r===","?", ":r);return n.join("")}function sk(e){const{abi:t,program:n}=e,a=Fo(Vt({abi:t,program:n},zT));return Ce(pr(hr(a)).toString(16))}function ck(e){const t=Qe(e)?Fa(e):e,n=ee(ow),r=dn(t.entry_points_by_type.EXTERNAL.flatMap(u=>[u.selector,u.offset])),a=dn(t.entry_points_by_type.L1_HANDLER.flatMap(u=>[u.selector,u.offset])),o=dn(t.entry_points_by_type.CONSTRUCTOR.flatMap(u=>[u.selector,u.offset])),i=dn(t.program.builtins.map(u=>rt(u))),s=sk(t),c=dn(t.program.data);return dn([n,r,a,o,i,s,c])}function PT(e){return ot(e.flatMap(t=>BigInt(rt(t))))}function Mu(e){const t=e.flatMap(n=>[BigInt(n.selector),BigInt(n.offset),PT(n.builtins)]);return ot(t)}function uk(e){const t=e.bytecode.map(o=>BigInt(o)),n=e.bytecode_segment_lengths??[];let r=0;const a=n.flatMap(o=>{const i=t.slice(r,r+=o);return[BigInt(o),ot(i)]});return 1n+ot(a)}function lk(e){const n=BigInt(rt("COMPILED_CLASS_V1")),r=Mu(e.entry_points_by_type.EXTERNAL),a=Mu(e.entry_points_by_type.L1_HANDLER),o=Mu(e.entry_points_by_type.CONSTRUCTOR),i=e.bytecode_segment_lengths?uk(e):ot(e.bytecode.map(s=>BigInt(s)));return ee(ot([n,r,a,o,i]))}function qu(e){const t=e.flatMap(n=>[BigInt(n.selector),BigInt(n.function_idx)]);return ot(t)}function RT(e){const t=Fo(Vt(e.abi,null));return BigInt(Ce(pr(hr(t)).toString(16)))}function dk(e){const n=BigInt(rt("CONTRACT_CLASS_V0.1.0")),r=qu(e.entry_points_by_type.EXTERNAL),a=qu(e.entry_points_by_type.L1_HANDLER),o=qu(e.entry_points_by_type.CONSTRUCTOR),i=RT(e),s=ot(e.sierra_program.map(c=>BigInt(c)));return ee(ot([n,r,a,o,i,s]))}function fk(e){const t=Qe(e)?Fa(e):e;return"sierra_program"in t?dk(t):ck(t)}var NT={};Oe(NT,{compressProgram:()=>sf,decompressProgram:()=>Mr,estimateFeeToBounds:()=>cf,estimatedFeeToMaxFee:()=>hk,formatSignature:()=>ui,getFullPublicKey:()=>VT,intDAM:()=>LT,makeAddress:()=>UT,randomAddress:()=>pk,reduceV2:()=>qT,signatureToDecimalArray:()=>HT,signatureToHexArray:()=>Xe,toFeeVersion:()=>FT,toTransactionVersion:()=>DT,v3Details:()=>MT});function sf(e){const t=Qe(e)?e:Vt(e),n=nS(t);return Jb(n)}function Mr(e){if(Array.isArray(e))return e;const t=Zb(rS(Yb(e)));return Fa(t)}function pk(){const e=l0.randomPrivateKey();return p0(e)}function UT(e){return Ce(e).toLowerCase()}function ui(e){if(!e)throw Error("formatSignature: provided signature is undefined");if(Array.isArray(e))return e.map(t=>ee(t));try{const{r:t,s:n}=e;return[ee(t),ee(n)]}catch{throw new Error("Signature need to be weierstrass.SignatureType or an array for custom")}}function HT(e){return Tw(ui(e))}function Xe(e){return Iw(ui(e))}function hk(e,t=50){return _o(e,t)}function cf(e,t=50,n=50){if(Nn(e))return{l2_gas:{max_amount:"0x0",max_price_per_unit:"0x0"},l1_gas:{max_amount:"0x0",max_price_per_unit:"0x0"}};if(Ze(e.gas_consumed)||Ze(e.gas_price))throw Error("estimateFeeToBounds: estimate is undefined");const r=e.data_gas_consumed!==void 0&&e.data_gas_price!==void 0?ee(_o(BigInt(e.overall_fee)/BigInt(e.gas_price),t)):ee(_o(e.gas_consumed,t)),a=ee(_o(e.gas_price,n));return{l2_gas:{max_amount:"0x0",max_price_per_unit:"0x0"},l1_gas:{max_amount:r,max_price_per_unit:a}}}function LT(e){if(e===we.EDataAvailabilityMode.L1)return we.EDAMode.L1;if(e===we.EDataAvailabilityMode.L2)return we.EDAMode.L2;throw Error("EDAM conversion")}function DT(e,t){const n=t?ee(t):void 0,r=ee(e);if(t&&!Object.values(we.ETransactionVersion).includes(n))throw Error(`providedVersion ${t} is not ETransactionVersion`);if(!Object.values(we.ETransactionVersion).includes(r))throw Error(`defaultVersion ${e} is not ETransactionVersion`);return t?n:r}function FT(e){if(!e)return;const t=ee(e);if(t===we.ETransactionVersion.V0)return we.ETransactionVersion.F0;if(t===we.ETransactionVersion.V1)return we.ETransactionVersion.F1;if(t===we.ETransactionVersion.V2)return we.ETransactionVersion.F2;if(t===we.ETransactionVersion.V3)return we.ETransactionVersion.F3;throw Error(`toFeeVersion: ${t} is not supported`)}function MT(e){return{tip:e.tip||0,paymasterData:e.paymasterData||[],accountDeploymentData:e.accountDeploymentData||[],nonceDataAvailabilityMode:e.nonceDataAvailabilityMode||we.EDataAvailabilityMode.L1,feeDataAvailabilityMode:e.feeDataAvailabilityMode||we.EDataAvailabilityMode.L1,resourceBounds:e.resourceBounds??cf(Pn)}}function qT(e){return e===we.ETransactionVersion.F2?we.ETransactionVersion.F1:e===we.ETransactionVersion.V2?we.ETransactionVersion.V1:e}function VT(e){const t=ee(e);return Ce(zs(kd(t,!1)))}function tn(e){return"sierra_program"in(Qe(e)?Fa(e):e)}function $T(e){const t={...e};if(tn(e.contract)&&(!e.compiledClassHash&&e.casm&&(t.compiledClassHash=lk(e.casm)),!t.compiledClassHash))throw new Error("Extract compiledClassHash failed, provide (CairoAssembly).casm file or compiledClassHash");if(t.classHash=e.classHash??fk(e.contract),!t.classHash)throw new Error("Extract classHash failed, provide (CompiledContract).json file or classHash");return t}var GT={};Oe(GT,{ethRandomPrivateKey:()=>KT,validateAndParseEthAddress:()=>uf});function KT(){return nw(zs(yb.utils.randomPrivateKey()))}function uf(e){xw(e,Pn,2n**160n-1n,"Ethereum Address ");const t=Ce(Ut(ee(e)).padStart(40,"0"));return be(!!t.match(/^(0x)?[0-9a-f]{40}$/),"Invalid Ethereum Address Format"),t}var mk=Fd&&window.fetch.bind(window)||!Ze(global)&&qb(global.fetch)||Dj,WT={};Oe(WT,{Block:()=>je,createSierraContractClass:()=>gk,getDefaultNodeUrl:()=>Mo,isPendingBlock:()=>QT,isPendingStateUpdate:()=>tI,isPendingTransaction:()=>eI,isV3Tx:()=>Pt,isVersion:()=>lf,parseContract:()=>JT,validBlockTags:()=>yk,wait:()=>Pa});var gn,XT=(gn=class{constructor(){ie(this,"config");this.initialize()}initialize(){this.config={...mw}}static getInstance(){return gn.instance||(gn.instance=new gn),gn.instance}get(t,n){return this.config[t]??n}set(t,n){this.config[t]=n}update(t){this.config={...this.config,...t}}getAll(){return{...this.config}}reset(){this.initialize()}delete(t){delete this.config[t]}hasKey(t){return t in this.config}},ie(gn,"instance"),gn),ZT=XT.getInstance(),Ii={DEBUG:5,INFO:4,WARN:3,ERROR:2,FATAL:1,OFF:0},yn,YT=(yn=class{constructor(){ie(this,"config");this.config=ZT}static getInstance(){return yn.instance||(yn.instance=new yn),yn.instance}getTimestamp(){return new Date().toISOString()}shouldLog(t){const n=this.config.get("logLevel","INFO");return t<=Ii[n]}formatMessage(t){const{level:n,message:r,timestamp:a,data:o}=t;let i=`[${a}] ${n}: ${r}`;if(o)try{i+=`
|
|
215
|
+
expected: ${n}`);return n.map((a,o)=>({element:r[o],type:a.type??a}))}function mT(e){const t=Us(e);return[t.data.length.toString(),...t.data.map(n=>n.toString()),t.pending_word.toString(),t.pending_word_len.toString()]}function Dt(e,t,n,r){if(e===void 0)throw Error(`Missing parameter for type ${t}`);if(wt.isTypeFixedArray(t)){const a=wt.getFixedArrayType(t);let o=[];if(Array.isArray(e))o=new wt(e,t).content;else if(typeof e=="object")o=Object.values(e),be(o.length===wt.getFixedArraySize(t),`ABI type ${t}: object provided do not includes ${wt.getFixedArraySize(t)} items. ${o.length} items provided.`);else throw new Error(`ABI type ${t}: not an Array representing a cairo.fixedArray() provided.`);return o.reduce((i,s)=>i.concat(Dt(s,a,n,r)),[])}if(Array.isArray(e)){const a=[];a.push(Mt(e.length));const o=_n(t);return e.reduce((i,s)=>i.concat(Dt(s,o,n,r)),a)}if(n[t]&&n[t].members.length){if(Ye.isAbiType(t))return new Ye(e).toApiRequest();if(_t.isAbiType(t))return new _t(e).toApiRequest();if(aa(t))return _a(t,e);if(ii(t))return mT(e);const{members:a}=n[t],o=e;return a.reduce((i,s)=>i.concat(Dt(o[s.name],s.type,n,r)),[])}if(br(t))return hT(e,t).reduce((o,i)=>{const s=Dt(i.element,i.type,n,r);return o.concat(s)},[]);if(Ye.isAbiType(t))return new Ye(e).toApiRequest();if(_t.isAbiType(t))return new _t(e).toApiRequest();if(ra(t,r)){const{variants:a}=r[t];if(Hs(t)){const h=e;if(h.isSome()){const f=a.find(b=>b.name==="Some");if(Ze(f))throw Error("Error in abi : Option has no 'Some' variant.");const l=f.type;if(l==="()")return en.Some.toString();const g=Dt(h.unwrap(),l,n,r);return Array.isArray(g)?[en.Some.toString(),...g]:[en.Some.toString(),g]}return en.None.toString()}if(Ls(t)){const h=e;if(h.isOk()){const b=a.find(k=>k.name==="Ok");if(Ze(b))throw Error("Error in abi : Result has no 'Ok' variant.");const y=b.type;if(y==="()")return zt.Ok.toString();const _=Dt(h.unwrap(),y,n,r);return Array.isArray(_)?[zt.Ok.toString(),..._]:[zt.Ok.toString(),_]}const f=a.find(b=>b.name==="Err");if(Ze(f))throw Error("Error in abi : Result has no 'Err' variant.");const l=f.type;if(l==="()")return zt.Err.toString();const g=Dt(h.unwrap(),l,n,r);return Array.isArray(g)?[zt.Err.toString(),...g]:[zt.Err.toString(),g]}const o=e,i=o.activeVariant(),s=a.find(h=>h.name===i);if(Ze(s))throw Error(`Not find in abi : Enum has no '${i}' variant.`);const c=s.type,u=a.findIndex(h=>h.name===i);if(c==="()")return u.toString();const d=Dt(o.unwrap(),c,n,r);return Array.isArray(d)?[u.toString(),...d]:[u.toString(),d]}if(oa(t))return _a(_n(t),e);if(typeof e=="object")throw Error(`Parameter ${e} do not align with abi parameter ${t}`);return _a(t,e)}function gT(e,t,n,r){const{name:a,type:o}=t;let{value:i}=e.next();switch(!0){case wt.isTypeFixedArray(o):if(!Array.isArray(i)&&typeof i!="object")throw Error(`ABI expected parameter ${a} to be an array or an object, got ${i}`);return Dt(i,t.type,n,r);case Nn(o):if(!Array.isArray(i)&&!ai(i))throw Error(`ABI expected parameter ${a} to be array or long string, got ${i}`);return Qe(i)&&(i=Qd(i)),Dt(i,t.type,n,r);case oa(o):return _a(_n(o),i);case aa(o):return _a(o,i);case(oi(o,n)||br(o)||Ye.isAbiType(o)):return Dt(i,o,n,r);case ra(o,r):return Dt(i,o,n,r);default:return _a(o,i)}}function Dl(e,t){let n;switch(!0){case Ds(e):return n=t.next().value,!!BigInt(n);case Ye.isAbiType(e):const r=t.next().value,a=t.next().value;return new Ye(r,a).toBigInt();case _t.isAbiType(e):const o=t.next().value,i=t.next().value,s=t.next().value,c=t.next().value;return new _t(o,i,s,c).toBigInt();case aa(e):return n=t.next().value,BigInt(n);case Fs(e):return n=t.next().value,Jr(n);case Ms(e):const u=Ut(t.next().value).padStart(32,"0"),d=Ut(t.next().value).padStart(32,"0"),h=Ut(t.next().value).padStart(32,"0"),f=Ut(t.next().value).padStart(32,"0");return BigInt(Ce(d+u+f+h));default:return n=t.next().value,BigInt(n)}}function Bt(e,t,n,r){if(t.type==="()")return{};if(Ye.isAbiType(t.type)){const a=e.next().value,o=e.next().value;return new Ye(a,o).toBigInt()}if(_t.isAbiType(t.type)){const a=e.next().value,o=e.next().value,i=e.next().value,s=e.next().value;return new _t(a,o,i,s).toBigInt()}if(ii(t.type)){const a=[],o=BigInt(e.next().value);for(;a.length<o;)a.push(ee(e.next().value));const i=ee(e.next().value);return BigInt(e.next().value),Pw({data:a,pending_word:i})}if(wt.isTypeFixedArray(t.type)){const a=[],o={type:wt.getFixedArrayType(t.type)},i=wt.getFixedArraySize(t.type);for(;a.length<i;)a.push(Bt(e,o,n,r));return a}if(Nn(t.type)){const a=[],o={type:_n(t.type)},i=BigInt(e.next().value);for(;a.length<i;)a.push(Bt(e,o,n,r));return a}if(oa(t.type)){const a={type:_n(t.type)};return Bt(e,a,n,r)}if(n&&t.type in n&&n[t.type])return aa(t.type)?Dl(t.type,e):n[t.type].members.reduce((a,o)=>(a[o.name]=Bt(e,o,n,r),a),{});if(r&&t.type in r&&r[t.type]){const a=Number(e.next().value),o=r[t.type].variants.reduce((s,c,u)=>u===a?(s[c.name]=Bt(e,{type:c.type},n,r),s):(s[c.name]=void 0,s),{});if(t.type.startsWith("core::option::Option")){const s=a===en.Some?o.Some:void 0;return new Hl(a,s)}if(t.type.startsWith("core::result::Result")){let s;return a===zt.Ok?s=o.Ok:s=o.Err,new Ll(a,s)}return new si(o)}if(br(t.type))return rf(t.type).reduce((o,i,s)=>{const c=i!=null&&i.name?i.name:s,d={type:i!=null&&i.type?i.type:i};return o[c]=Bt(e,d,n,r),o},{});if(Nn(t.type)){const a=[],o={type:_n(t.type)},i=BigInt(e.next().value);for(;a.length<i;)a.push(Bt(e,o,n,r));return a}return Dl(t.type,e)}function ps(e,t,n,r,a){const{name:o,type:i}=t;let s;switch(!0){case Qr(o):return s=e.next().value,BigInt(s);case(n&&i in n||br(i)):return Bt(e,t,n,r);case(r&&ra(i,r)):return Bt(e,t,n,r);case wt.isTypeFixedArray(i):return Bt(e,t,n,r);case Nn(i):if(mr(i))return Bt(e,t,n,r);const c=[];if(a&&a[`${o}_len`]){const u=a[`${o}_len`];for(;c.length<u;)c.push(Bt(e,{type:t.type.replace("*","")},n,r))}return c;case oa(i):return Bt(e,t,n,r);default:return Dl(i,e)}}var af=(e,t)=>{if(be(Qe(e)||Yr(e)||Un(e),`Validate: arg ${t.name} should be a felt typed as (String, Number or BigInt)`),Qe(e)&&!$t(e))return;const n=BigInt(e.toString(10));be(n>=0n&&n<=2n**252n-1n,`Validate: arg ${t.name} cairo typed ${t.type} should be in range [0, 2^252-1]`)},yT=(e,t)=>{be(Qe(e),`Validate: arg ${t.name} should be a string.`),be(e.length<32,`Validate: arg ${t.name} cairo typed ${t.type} should be a string of less than 32 characters.`)},bT=(e,t)=>{be(Qe(e),`Validate: arg ${t.name} should be a string.`)},qs=(e,t)=>{Yr(e)&&be(e<=Number.MAX_SAFE_INTEGER,"Validation: Parameter is too large to be typed as Number use (BigInt or String)"),be(Qe(e)||Yr(e)||Un(e)||kn(e)&&"low"in e&&"high"in e||kn(e)&&["limb0","limb1","limb2","limb3"].every(r=>r in e),`Validate: arg ${t.name} of cairo type ${t.type} should be type (String, Number or BigInt), but is ${typeof e} ${e}.`);let n;switch(t.type){case At.u256:n=new Ye(e).toBigInt();break;case At.u512:n=new _t(e).toBigInt();break;default:n=He(e)}switch(t.type){case At.u8:be(n>=0n&&n<=255n,`Validate: arg ${t.name} cairo typed ${t.type} should be in range [0 - 255]`);break;case At.u16:be(n>=0n&&n<=65535n,`Validate: arg ${t.name} cairo typed ${t.type} should be in range [0, 65535]`);break;case At.u32:be(n>=0n&&n<=4294967295n,`Validate: arg ${t.name} cairo typed ${t.type} should be in range [0, 4294967295]`);break;case At.u64:be(n>=0n&&n<=2n**64n-1n,`Validate: arg ${t.name} cairo typed ${t.type} should be in range [0, 2^64-1]`);break;case At.u128:be(n>=0n&&n<=2n**128n-1n,`Validate: arg ${t.name} cairo typed ${t.type} should be in range [0, 2^128-1]`);break;case At.u256:be(n>=0n&&n<=2n**256n-1n,`Validate: arg ${t.name} is ${t.type} should be in range 0 - 2^256-1`);break;case At.u512:be(_t.is(n),`Validate: arg ${t.name} is ${t.type} should be in range 0 - 2^512-1`);break;case sr.ClassHash:be(n>=0n&&n<=2n**252n-1n,`Validate: arg ${t.name} cairo typed ${t.type} should be in range [0, 2^252-1]`);break;case sr.ContractAddress:be(n>=0n&&n<=2n**252n-1n,`Validate: arg ${t.name} cairo typed ${t.type} should be in range [0, 2^252-1]`);break;case sr.Secp256k1Point:{be(n>=0n&&n<=2n**512n-1n,`Validate: arg ${t.name} must be ${t.type} : a 512 bits number.`);break}case sr.U96:{be(n>=0n&&n<=2n**96n-1n,`Validate: arg ${t.name} must be ${t.type} : a 96 bits number.`);break}}},Dw=(e,t)=>{be(Gd(e),`Validate: arg ${t.name} of cairo type ${t.type} should be type (Boolean)`)},Fw=(e,t,n)=>{if(t.type===At.u256||t.type===At.u512){qs(e,t);return}if(aa(t.type)){be(!kn(e),`EthAddress type is waiting a BigNumberish. Got "${e}"`);const r=BigInt(e.toString(10));be(r>=0n&&r<=2n**160n-1n,`Validate: arg ${t.name} cairo typed ${t.type} should be in range [0, 2^160-1]`);return}be(kn(e),`Validate: arg ${t.name} is cairo type struct (${t.type}), and should be defined as a js object (not array)`),n[t.type].members.forEach(({name:r})=>{be(Object.keys(e).includes(r),`Validate: arg ${t.name} should have a property ${r}`)})},Mw=(e,t)=>{be(kn(e),`Validate: arg ${t.name} is cairo type Enum (${t.type}), and should be defined as a js object (not array)`);const n=Object.getOwnPropertyNames(Object.getPrototypeOf(e)),r=[...Object.getOwnPropertyNames(e),...n];if(!(Hs(t.type)&&r.includes("isSome")&&r.includes("isNone"))&&!(Ls(t.type)&&r.includes("isOk")&&r.includes("isErr"))&&!(r.includes("variant")&&r.includes("activeVariant")))throw new Error(`Validate Enum: argument ${t.name}, type ${t.type}, value received "${e}", is not an Enum.`)},qw=(e,t)=>{be(kn(e),`Validate: arg ${t.name} should be a tuple (defined as object)`)},Vw=(e,t,n,r)=>{const a=Nn(t.type),o=a?_n(t.type):wt.getFixedArrayType(t.type);if(a&&Ba(o)&&Jd(e))return;let i=[];if(a)be(Array.isArray(e),`Validate: arg ${t.name} should be an Array`),i=e;else switch(!0){case Array.isArray(e):i=e;break;case typeof e=="object":i=Object.values(e);break;default:throw new Error(`Validate: arg ${t.name} should be an Array or an object.`)}switch(!0){case Ba(o):i.forEach(s=>af(s,t));break;case br(o):i.forEach(s=>qw(s,{name:t.name}));break;case Nn(o):i.forEach(s=>Vw(s,{name:"",type:o},n,r));break;case oi(o,n):i.forEach(s=>Fw(s,{name:t.name,type:o},n));break;case ra(o,r):i.forEach(s=>Mw(s,{name:t.name,type:o}));break;case(Lo(o)||ef(o)):i.forEach(s=>qs(s,{name:"",type:o}));break;case Ds(o):i.forEach(s=>Dw(s,t));break;default:throw new Error(`Validate Unhandled: argument ${t.name}, type ${t.type}, value ${i}`)}},wT=(e,t)=>{const n=_n(t.type);switch(be(Lo(n)&&n!==_t.abiSelector||Ba(n),`Validate: ${t.name} type is not authorized for NonZero type.`),!0){case Ba(n):af(e,t),be(BigInt(e.toString(10))>0,"Validate: value 0 is not authorized in NonZero felt252 type.");break;case Lo(n):switch(qs(e,{name:"",type:n}),n){case At.u256:be(new Ye(e).toBigInt()>0,"Validate: value 0 is not authorized in NonZero uint256 type.");break;default:be(He(e)>0,"Validate: value 0 is not authorized in NonZero uint type.")}break;default:throw new Error(`Validate Unhandled: argument ${t.name}, type ${t.type}, value "${e}"`)}};function Sm(e,t,n,r){e.inputs.reduce((a,o)=>{const i=t[a];switch(!0){case Qr(o.name):return a;case Ba(o.type):af(i,o);break;case Fs(o.type):yT(i,o);break;case(Lo(o.type)||ef(o.type)):qs(i,o);break;case Ds(o.type):Dw(i,o);break;case ii(o.type):bT(i,o);break;case(Nn(o.type)||wt.isTypeFixedArray(o.type)):Vw(i,o,n,r);break;case oi(o.type,n):Fw(i,o,n);break;case ra(o.type,r):Mw(i,o);break;case br(o.type):qw(i,o);break;case oa(o.type):wT(i,o);break;default:throw new Error(`Validate Unhandled: argument ${o.name}, type ${o.type}, value ${i}`)}return a+1},0)}var xe=class po{constructor(t){ie(this,"abi");ie(this,"parser");ie(this,"structs");ie(this,"enums");this.structs=po.getAbiStruct(t),this.enums=po.getAbiEnum(t),this.parser=Lw(t),this.abi=this.parser.getLegacyFormat()}validate(t,n,r=[]){if(t!==ir.DEPLOY){const i=this.abi.filter(s=>{if(s.type!=="function")return!1;const c=s.stateMutability==="view"||s.state_mutability==="view";return t===ir.INVOKE?!c:c}).map(s=>s.name);be(i.includes(n),`${t===ir.INVOKE?"invocable":"viewable"} method not found in abi`)}const a=this.abi.find(i=>t===ir.DEPLOY?i.name===n&&i.type==="constructor":i.name===n&&i.type==="function");if(Em(n,r,a))return;const o=this.parser.methodInputsLength(a);if(r.length!==o)throw Error(`Invalid number of arguments, expected ${o} arguments, but got ${r.length}`);Sm(a,r,this.structs,this.enums)}compile(t,n){const r=this.abi.find(s=>s.name===t);if(Em(t,n,r))return[];let a;if(Array.isArray(n))a=n;else{const s=pT(n,r.inputs,this.structs,this.enums);a=Object.values(s),Sm(r,a,this.structs,this.enums)}const o=a[Symbol.iterator](),i=r.inputs.reduce((s,c)=>Qr(c.name)&&!mr(c.type)?s:s.concat(gT(o,c,this.structs,this.enums)),[]);return Object.defineProperty(i,"__compiled__",{enumerable:!1,writable:!1,value:!0}),i}static compile(t){const n=a=>{const o=(s,c=".")=>{const u=Array.isArray(s)?[s.length.toString(),...s]:s;return Object.entries(u).flatMap(([d,h])=>{let f=h;d==="entrypoint"?f=Ke(f):Jd(f)&&(f=Us(f));const l=Array.isArray(u)&&d==="0"?"$$len":d;if(Un(f))return[[`${c}${l}`,Mt(f)]];if(Object(f)===f){const g=Object.getOwnPropertyNames(Object.getPrototypeOf(f)),b=[...Object.getOwnPropertyNames(f),...g];if(b.includes("isSome")&&b.includes("isNone")){const y=f,_=y.isSome()?en.Some:en.None;return y.isSome()?o({0:_,1:y.unwrap()},`${c}${l}.`):[[`${c}${l}`,Mt(_)]]}if(b.includes("isOk")&&b.includes("isErr")){const y=f,_=y.isOk()?zt.Ok:zt.Err;return o({0:_,1:y.unwrap()},`${c}${l}.`)}if(b.includes("variant")&&b.includes("activeVariant")){const y=f,_=y.activeVariant(),w=Object.keys(y.variant).findIndex(v=>v===_);return typeof y.unwrap()=="object"&&Object.keys(y.unwrap()).length===0?[[`${c}${l}`,Mt(w)]]:o({0:w,1:y.unwrap()},`${c}${l}.`)}return o(f,`${c}${l}.`)}return[[`${c}${l}`,Mt(f)]]})};return Object.fromEntries(o(a))};let r;if(Array.isArray(t)){const a={...t},o=n(a);r=Object.values(o)}else{const a=n(t);r=Object.values(a)}return Object.defineProperty(r,"__compiled__",{enumerable:!1,writable:!1,value:!0}),r}parse(t,n){const{outputs:r}=this.abi.find(i=>i.name===t),a=n.flat()[Symbol.iterator](),o=r.flat().reduce((i,s,c)=>{const u=s.name??c;return i[u]=ps(a,s,this.structs,this.enums,i),i[u]&&i[`${u}_len`]&&delete i[`${u}_len`],i},{});return Object.keys(o).length===1&&0 in o?o[0]:o}format(t,n,r){const a=this.parse(t,n);return Zi(a,r)}static getAbiStruct(t){return t.filter(n=>n.type==="struct").reduce((n,r)=>({...n,[r.name]:r}),{})}static getAbiEnum(t){const n=t.filter(r=>r.type==="enum").reduce((r,a)=>({...r,[a.name]:a}),{});return delete n["core::bool"],n}static toCalldata(t=[]){return po.compile(t)}static toHex(t=[]){return po.compile(t).map(r=>ee(r))}decodeParameters(t,n){const r=Array.isArray(t)?t:[t],a=n.flat()[Symbol.iterator](),o=r.map(i=>ps(a,{name:"",type:i},this.structs,this.enums));return o.length===1?o[0]:o}},kT={};Oe(kT,{calculateContractAddressFromHash:()=>ik,calculateDeclareTransactionHash:()=>CT,calculateDeployAccountTransactionHash:()=>BT,calculateInvokeTransactionHash:()=>TT,calculateL2MessageTxHash:()=>Ww,computeCompiledClassHash:()=>lk,computeContractClassHash:()=>fk,computeHashOnElements:()=>dn,computeHintedClassHash:()=>sk,computeLegacyContractClassHash:()=>ck,computePedersenHash:()=>Do,computePedersenHashOnElements:()=>ak,computePoseidonHash:()=>rk,computePoseidonHashOnElements:()=>ok,computeSierraContractClassHash:()=>dk,formatSpaces:()=>Fo,getL2MessageHash:()=>zw,getSelector:()=>ni,getSelectorFromName:()=>Ke,hashByteCodeSegments:()=>uk,keccakBn:()=>Bw,poseidon:()=>y2,solidityUint256PackedKeccak256:()=>Ns,starknetKeccak:()=>Xd});var _T={};Oe(_T,{calculateDeclareTransactionHash:()=>$w,calculateDeployAccountTransactionHash:()=>Gw,calculateL2MessageTxHash:()=>Ww,calculateTransactionHash:()=>Kw,calculateTransactionHashCommon:()=>ci,computeHashOnElements:()=>Fl});var hs={};Oe(hs,{starkCurve:()=>Vv,weierstrass:()=>x2});function Fl(e){return[...e,e.length].reduce((t,n)=>Ra(He(t),He(n)),0).toString()}function ci(e,t,n,r,a,o,i,s=[]){const c=Fl(a),u=[e,t,n,r,c,o,i,...s];return Fl(u)}function $w(e,t,n,r,a,o,i){return ci("0x6465636c617265",n,t,0,[e],r,a,[o,...i?[i]:[]])}function Gw(e,t,n,r,a,o,i,s){const c=[t,r,...n];return ci("0x6465706c6f795f6163636f756e74",a,e,0,c,o,i,[s])}function Kw(e,t,n,r,a,o){return ci("0x696e766f6b65",t,e,0,n,r,a,[o])}function Ww(e,t,n,r,a,o){const i=[e,...r];return ci("0x6c315f68616e646c6572",0,t,ni(n),i,0,a,[o])}var vT={};Oe(vT,{calculateDeclareTransactionHash:()=>tk,calculateDeployAccountTransactionHash:()=>ek,calculateInvokeTransactionHash:()=>nk,calculateTransactionHashCommon:()=>Vs,encodeResourceBoundsL1:()=>Yw,encodeResourceBoundsL2:()=>Jw,hashDAMode:()=>Zw,hashFeeField:()=>Qw});var dr=e=>e.map(t=>BigInt(t)),ET=32n,AT=64n,of=128n,Xw=AT+of,ST=BigInt(rt("L1_GAS")),jT=BigInt(rt("L2_GAS"));function Zw(e,t){return(BigInt(e)<<ET)+BigInt(t)}function Yw(e){return(ST<<Xw)+(BigInt(e.l1_gas.max_amount)<<of)+BigInt(e.l1_gas.max_price_per_unit)}function Jw(e){return(jT<<Xw)+(BigInt(e.l2_gas.max_amount)<<of)+BigInt(e.l2_gas.max_price_per_unit)}function Qw(e,t){const n=Yw(t),r=Jw(t);return ot([BigInt(e),n,r])}function Vs(e,t,n,r,a,o,i,s,c,u,d=[]){const h=Qw(o,u),f=Zw(s,c),l=dr([e,t,n,h,ot(dr(i)),r,a,f,...dr(d)]);return ee(ot(l))}function ek(e,t,n,r,a,o,i,s,c,u,d,h){return Vs("0x6465706c6f795f6163636f756e74",a,e,o,i,d,h,s,c,u,[ot(dr(n)),t,r])}function tk(e,t,n,r,a,o,i,s,c,u,d,h){return Vs("0x6465636c617265",r,n,a,o,d,dr(h),s,c,u,[ot(dr(i)),e,t])}function nk(e,t,n,r,a,o,i,s,c,u,d){return Vs("0x696e766f6b65",t,e,r,a,u,d,i,s,c,[ot(dr(o)),ot(dr(n))])}function xT(e){return[we.ETransactionVersion.V3,we.ETransactionVersion.F3].includes(e.version)}function TT(e){return xT(e)?nk(e.senderAddress,e.version,e.compiledCalldata,e.chainId,e.nonce,e.accountDeploymentData,e.nonceDataAvailabilityMode,e.feeDataAvailabilityMode,e.resourceBounds,e.tip,e.paymasterData):Kw(e.senderAddress,e.version,e.compiledCalldata,e.maxFee,e.chainId,e.nonce)}function IT(e){return[we.ETransactionVersion.V3,we.ETransactionVersion.F3].includes(e.version)}function CT(e){return IT(e)?tk(e.classHash,e.compiledClassHash,e.senderAddress,e.version,e.chainId,e.nonce,e.accountDeploymentData,e.nonceDataAvailabilityMode,e.feeDataAvailabilityMode,e.resourceBounds,e.tip,e.paymasterData):$w(e.classHash,e.senderAddress,e.version,e.maxFee,e.chainId,e.nonce,e.compiledClassHash)}function OT(e){return[we.ETransactionVersion.V3,we.ETransactionVersion.F3].includes(e.version)}function BT(e){return OT(e)?ek(e.contractAddress,e.classHash,e.compiledConstructorCalldata,e.salt,e.version,e.chainId,e.nonce,e.nonceDataAvailabilityMode,e.feeDataAvailabilityMode,e.resourceBounds,e.tip,e.paymasterData):Gw(e.contractAddress,e.classHash,e.constructorCalldata,e.salt,e.version,e.maxFee,e.chainId,e.nonce)}function Do(e,t){return Ra(BigInt(e),BigInt(t))}function rk(e,t){return ee(Ed(BigInt(e),BigInt(t)))}function dn(e){return[...e,e.length].reduce((t,n)=>Ra(BigInt(t),BigInt(n)),0).toString()}var ak=dn;function ok(e){return ee(ot(e.map(t=>BigInt(t))))}function ik(e,t,n,r){const a=xe.compile(n),o=dn(a),i=Mt("0x535441524b4e45545f434f4e54524143545f41444452455353"),s=dn([i,r,e,t,o]);return ee(BigInt(s)%sw)}function zT(e,t){return e==="attributes"||e==="accessible_scopes"?Array.isArray(t)&&t.length===0?void 0:t:e==="debug_info"?null:t===null?void 0:t}function Fo(e){let t=!1;const n=[];for(const r of e)r==='"'&&!(n.length>0&&n.slice(-1)[0]==="\\")&&(t=!t),t?n.push(r):n.push(r===":"?": ":r===","?", ":r);return n.join("")}function sk(e){const{abi:t,program:n}=e,a=Fo(Vt({abi:t,program:n},zT));return Ce(pr(hr(a)).toString(16))}function ck(e){const t=Qe(e)?Fa(e):e,n=ee(ow),r=dn(t.entry_points_by_type.EXTERNAL.flatMap(u=>[u.selector,u.offset])),a=dn(t.entry_points_by_type.L1_HANDLER.flatMap(u=>[u.selector,u.offset])),o=dn(t.entry_points_by_type.CONSTRUCTOR.flatMap(u=>[u.selector,u.offset])),i=dn(t.program.builtins.map(u=>rt(u))),s=sk(t),c=dn(t.program.data);return dn([n,r,a,o,i,s,c])}function PT(e){return ot(e.flatMap(t=>BigInt(rt(t))))}function Mu(e){const t=e.flatMap(n=>[BigInt(n.selector),BigInt(n.offset),PT(n.builtins)]);return ot(t)}function uk(e){const t=e.bytecode.map(o=>BigInt(o)),n=e.bytecode_segment_lengths??[];let r=0;const a=n.flatMap(o=>{const i=t.slice(r,r+=o);return[BigInt(o),ot(i)]});return 1n+ot(a)}function lk(e){const n=BigInt(rt("COMPILED_CLASS_V1")),r=Mu(e.entry_points_by_type.EXTERNAL),a=Mu(e.entry_points_by_type.L1_HANDLER),o=Mu(e.entry_points_by_type.CONSTRUCTOR),i=e.bytecode_segment_lengths?uk(e):ot(e.bytecode.map(s=>BigInt(s)));return ee(ot([n,r,a,o,i]))}function qu(e){const t=e.flatMap(n=>[BigInt(n.selector),BigInt(n.function_idx)]);return ot(t)}function RT(e){const t=Fo(Vt(e.abi,null));return BigInt(Ce(pr(hr(t)).toString(16)))}function dk(e){const n=BigInt(rt("CONTRACT_CLASS_V0.1.0")),r=qu(e.entry_points_by_type.EXTERNAL),a=qu(e.entry_points_by_type.L1_HANDLER),o=qu(e.entry_points_by_type.CONSTRUCTOR),i=RT(e),s=ot(e.sierra_program.map(c=>BigInt(c)));return ee(ot([n,r,a,o,i,s]))}function fk(e){const t=Qe(e)?Fa(e):e;return"sierra_program"in t?dk(t):ck(t)}var NT={};Oe(NT,{compressProgram:()=>sf,decompressProgram:()=>Mr,estimateFeeToBounds:()=>cf,estimatedFeeToMaxFee:()=>hk,formatSignature:()=>ui,getFullPublicKey:()=>VT,intDAM:()=>LT,makeAddress:()=>UT,randomAddress:()=>pk,reduceV2:()=>qT,signatureToDecimalArray:()=>HT,signatureToHexArray:()=>Xe,toFeeVersion:()=>FT,toTransactionVersion:()=>DT,v3Details:()=>MT});function sf(e){const t=Qe(e)?e:Vt(e),n=nS(t);return Jb(n)}function Mr(e){if(Array.isArray(e))return e;const t=Zb(rS(Yb(e)));return Fa(t)}function pk(){const e=l0.randomPrivateKey();return p0(e)}function UT(e){return Ce(e).toLowerCase()}function ui(e){if(!e)throw Error("formatSignature: provided signature is undefined");if(Array.isArray(e))return e.map(t=>ee(t));try{const{r:t,s:n}=e;return[ee(t),ee(n)]}catch{throw new Error("Signature need to be weierstrass.SignatureType or an array for custom")}}function HT(e){return Tw(ui(e))}function Xe(e){return Iw(ui(e))}function hk(e,t=50){return _o(e,t)}function cf(e,t=50,n=50){if(Un(e))return{l2_gas:{max_amount:"0x0",max_price_per_unit:"0x0"},l1_gas:{max_amount:"0x0",max_price_per_unit:"0x0"}};if(Ze(e.gas_consumed)||Ze(e.gas_price))throw Error("estimateFeeToBounds: estimate is undefined");const r=e.data_gas_consumed!==void 0&&e.data_gas_price!==void 0?ee(_o(BigInt(e.overall_fee)/BigInt(e.gas_price),t)):ee(_o(e.gas_consumed,t)),a=ee(_o(e.gas_price,n));return{l2_gas:{max_amount:"0x0",max_price_per_unit:"0x0"},l1_gas:{max_amount:r,max_price_per_unit:a}}}function LT(e){if(e===we.EDataAvailabilityMode.L1)return we.EDAMode.L1;if(e===we.EDataAvailabilityMode.L2)return we.EDAMode.L2;throw Error("EDAM conversion")}function DT(e,t){const n=t?ee(t):void 0,r=ee(e);if(t&&!Object.values(we.ETransactionVersion).includes(n))throw Error(`providedVersion ${t} is not ETransactionVersion`);if(!Object.values(we.ETransactionVersion).includes(r))throw Error(`defaultVersion ${e} is not ETransactionVersion`);return t?n:r}function FT(e){if(!e)return;const t=ee(e);if(t===we.ETransactionVersion.V0)return we.ETransactionVersion.F0;if(t===we.ETransactionVersion.V1)return we.ETransactionVersion.F1;if(t===we.ETransactionVersion.V2)return we.ETransactionVersion.F2;if(t===we.ETransactionVersion.V3)return we.ETransactionVersion.F3;throw Error(`toFeeVersion: ${t} is not supported`)}function MT(e){return{tip:e.tip||0,paymasterData:e.paymasterData||[],accountDeploymentData:e.accountDeploymentData||[],nonceDataAvailabilityMode:e.nonceDataAvailabilityMode||we.EDataAvailabilityMode.L1,feeDataAvailabilityMode:e.feeDataAvailabilityMode||we.EDataAvailabilityMode.L1,resourceBounds:e.resourceBounds??cf(Pn)}}function qT(e){return e===we.ETransactionVersion.F2?we.ETransactionVersion.F1:e===we.ETransactionVersion.V2?we.ETransactionVersion.V1:e}function VT(e){const t=ee(e);return Ce(zs(kd(t,!1)))}function tn(e){return"sierra_program"in(Qe(e)?Fa(e):e)}function $T(e){const t={...e};if(tn(e.contract)&&(!e.compiledClassHash&&e.casm&&(t.compiledClassHash=lk(e.casm)),!t.compiledClassHash))throw new Error("Extract compiledClassHash failed, provide (CairoAssembly).casm file or compiledClassHash");if(t.classHash=e.classHash??fk(e.contract),!t.classHash)throw new Error("Extract classHash failed, provide (CompiledContract).json file or classHash");return t}var GT={};Oe(GT,{ethRandomPrivateKey:()=>KT,validateAndParseEthAddress:()=>uf});function KT(){return nw(zs(yb.utils.randomPrivateKey()))}function uf(e){xw(e,Pn,2n**160n-1n,"Ethereum Address ");const t=Ce(Ut(ee(e)).padStart(40,"0"));return be(!!t.match(/^(0x)?[0-9a-f]{40}$/),"Invalid Ethereum Address Format"),t}var mk=Fd&&window.fetch.bind(window)||!Ze(global)&&qb(global.fetch)||Dj,WT={};Oe(WT,{Block:()=>je,createSierraContractClass:()=>gk,getDefaultNodeUrl:()=>Mo,isPendingBlock:()=>QT,isPendingStateUpdate:()=>tI,isPendingTransaction:()=>eI,isV3Tx:()=>Pt,isVersion:()=>lf,parseContract:()=>JT,validBlockTags:()=>yk,wait:()=>Pa});var gn,XT=(gn=class{constructor(){ie(this,"config");this.initialize()}initialize(){this.config={...mw}}static getInstance(){return gn.instance||(gn.instance=new gn),gn.instance}get(t,n){return this.config[t]??n}set(t,n){this.config[t]=n}update(t){this.config={...this.config,...t}}getAll(){return{...this.config}}reset(){this.initialize()}delete(t){delete this.config[t]}hasKey(t){return t in this.config}},ie(gn,"instance"),gn),ZT=XT.getInstance(),Ii={DEBUG:5,INFO:4,WARN:3,ERROR:2,FATAL:1,OFF:0},yn,YT=(yn=class{constructor(){ie(this,"config");this.config=ZT}static getInstance(){return yn.instance||(yn.instance=new yn),yn.instance}getTimestamp(){return new Date().toISOString()}shouldLog(t){const n=this.config.get("logLevel","INFO");return t<=Ii[n]}formatMessage(t){const{level:n,message:r,timestamp:a,data:o}=t;let i=`[${a}] ${n}: ${r}`;if(o)try{i+=`
|
|
216
216
|
${JSON.stringify(o,null,2)}`}catch(s){i+=`
|
|
217
|
-
[JSON.stringify Error/Circular]: ${s}`}return i}log(t,n,r){if(!this.shouldLog(Ii[t]))return;const a={level:t,message:n,timestamp:this.getTimestamp(),data:r},o=this.formatMessage(a);switch(t){case"DEBUG":console.debug(o);break;case"INFO":console.info(o);break;case"WARN":console.warn(o);break;case"ERROR":case"FATAL":console.error(o);break;case"OFF":break;default:console.log(o);break}}debug(t,n){this.log("DEBUG",t,n)}info(t,n){this.log("INFO",t,n)}warn(t,n){this.log("WARN",t,n)}error(t,n){this.log("ERROR",t,n)}fatal(t,n){this.log("FATAL",t,n)}setLogLevel(t){this.config.set("logLevel",t)}getLogLevel(){return this.config.get("logLevel","INFO")}getEnabledLogLevels(){return Object.keys(Ii).filter(t=>this.shouldLog(Ii[t])&&t!=="OFF")}},ie(yn,"instance"),yn),xt=YT.getInstance();function Pa(e){return new Promise(t=>{setTimeout(t,e)})}function gk(e){const t={...e};return delete t.sierra_program_debug_info,t.abi=Fo(Vt(e.abi)),t.sierra_program=Fo(Vt(e.sierra_program)),t.sierra_program=sf(t.sierra_program),t}function JT(e){const t=Qe(e)?Fa(e):e;return tn(e)?gk(t):{...t,..."program"in t&&{program:sf(t.program)}}}var Mo=(e,t=!1)=>{t||xt.info("Using default public node url, please provide nodeUrl in provider options!");const n=hw[e??"SN_SEPOLIA"],r=Math.floor(Math.random()*n.length);return n[r]},yk=Object.values(lr),je=class{constructor(e){ie(this,"hash",null);ie(this,"number",null);ie(this,"tag",null);ie(this,"valueOf",()=>this.number);ie(this,"toString",()=>this.hash);this.setIdentifier(e)}setIdentifier(e){if(Qe(e))if(Yd(e))this.number=parseInt(e,10);else if($t(e))this.hash=e;else if(yk.includes(e))this.tag=e;else throw TypeError(`Block identifier unmanaged: ${e}`);else Nn(e)?this.hash=ee(e):Yr(e)?this.number=e:this.tag=lr.PENDING;if(Yr(this.number)&&this.number<0)throw TypeError(`Block number (${this.number}) can't be negative`)}get queryIdentifier(){return this.number!==null?`blockNumber=${this.number}`:this.hash!==null?`blockHash=${this.hash}`:`blockNumber=${this.tag}`}get identifier(){return this.number!==null?{block_number:this.number}:this.hash!==null?{block_hash:this.hash}:this.tag}set identifier(e){this.setIdentifier(e)}};function Pt(e){const t=e.version?ee(e.version):we.ETransactionVersion.V3;return t===we.ETransactionVersion.V3||t===we.ETransactionVersion.F3}function lf(e,t){const[n,r]=e.split("."),[a,o]=t.split(".");return n===a&&r===o}function QT(e){return e.status==="PENDING"}function eI(e){return!("block_hash"in e)}function tI(e){return!("block_hash"in e)}var nI={};Oe(nI,{buildUDCCall:()=>iI,fromCallsToExecuteCalldata:()=>df,fromCallsToExecuteCalldataWithNonce:()=>rI,fromCallsToExecuteCalldata_cairo1:()=>wk,getExecuteCalldata:()=>oI,getVersionsByType:()=>ff,transformCallsToMulticallArrays:()=>bk,transformCallsToMulticallArrays_cairo1:()=>aI});var bk=e=>{const t=[],n=[];return e.forEach(r=>{const a=xe.compile(r.calldata||[]);t.push({to:He(r.contractAddress).toString(10),selector:He(Ke(r.entrypoint)).toString(10),data_offset:n.length.toString(),data_len:a.length.toString()}),n.push(...a)}),{callArray:t,calldata:xe.compile({calldata:n})}},df=e=>{const{callArray:t,calldata:n}=bk(e);return[...xe.compile({callArray:t}),...n]},rI=(e,t)=>[...df(e),He(t).toString()],aI=e=>e.map(n=>({to:He(n.contractAddress).toString(10),selector:He(Ke(n.entrypoint)).toString(10),calldata:xe.compile(n.calldata||[])})),wk=e=>{const t=e.map(n=>({contractAddress:n.contractAddress,entrypoint:n.entrypoint,calldata:Array.isArray(n.calldata)&&"__compiled__"in n.calldata?n.calldata:xe.compile(n.calldata)}));return xe.compile({orderCalls:t})},oI=(e,t="0")=>t==="1"?wk(e):df(e);function iI(e,t){const n=[].concat(e).map(r=>{const{classHash:a,salt:o,unique:i=!0,constructorCalldata:s=[]}=r,c=xe.compile(s),u=o??pk();return{call:{contractAddress:ko.ADDRESS,entrypoint:ko.ENTRYPOINT,calldata:[a,u,Ow(i),c.length,...c]},address:ik(i?Ra(t,u):u,a,c,i?ko.ADDRESS:0)}});return{calls:n.map(r=>r.call),addresses:n.map(r=>r.address)}}function ff(e){return e==="fee"?{v1:we.ETransactionVersion.F1,v2:we.ETransactionVersion.F2,v3:we.ETransactionVersion.F3}:{v1:we.ETransactionVersion.V1,v2:we.ETransactionVersion.V2,v3:we.ETransactionVersion.V3}}var Vu={headers:{"Content-Type":"application/json"},blockIdentifier:lr.PENDING,retries:200},sI=class{constructor(e){ie(this,"nodeUrl");ie(this,"headers");ie(this,"requestId");ie(this,"blockIdentifier");ie(this,"retries");ie(this,"waitMode");ie(this,"chainId");ie(this,"specVersion");ie(this,"transactionRetryIntervalFallback");ie(this,"batchClient");ie(this,"baseFetch");const{baseFetch:t,batch:n,blockIdentifier:r,chainId:a,headers:o,nodeUrl:i,retries:s,specVersion:c,transactionRetryIntervalFallback:u,waitMode:d}=e||{};Object.values(Ps).includes(i)?this.nodeUrl=Mo(i,e==null?void 0:e.default):i?this.nodeUrl=i:this.nodeUrl=Mo(void 0,e==null?void 0:e.default),this.baseFetch=t??mk,this.blockIdentifier=r??Vu.blockIdentifier,this.chainId=a,this.headers={...Vu.headers,...o},this.retries=s??Vu.retries,this.specVersion=c,this.transactionRetryIntervalFallback=u,this.waitMode=d??!1,this.requestId=0,typeof n=="number"&&(this.batchClient=new Ew({nodeUrl:this.nodeUrl,headers:this.headers,interval:n,baseFetch:this.baseFetch}))}get transactionRetryIntervalDefault(){return this.transactionRetryIntervalFallback??5e3}setChainId(e){this.chainId=e}fetch(e,t,n=0){const r={id:n,jsonrpc:"2.0",method:e,...t&&{params:t}};return this.baseFetch(this.nodeUrl,{method:"POST",body:Vt(r),headers:this.headers})}errorHandler(e,t,n,r){if(n)throw new yw(n,e,t);if(r instanceof No)throw r;if(r)throw Error(r.message)}async fetchEndpoint(e,t){var n;try{if(this.batchClient){const{error:i,result:s}=await this.batchClient.fetch(e,t,this.requestId+=1);return this.errorHandler(e,t,i),s}const r=await this.fetch(e,t,this.requestId+=1),{error:a,result:o}=await r.json();return this.errorHandler(e,t,a),o}catch(r){throw this.errorHandler(e,t,(n=r==null?void 0:r.response)==null?void 0:n.data,r),r}}async getChainId(){return this.chainId??(this.chainId=await this.fetchEndpoint("starknet_chainId")),this.chainId}async getSpecVersion(){return this.specVersion??(this.specVersion=await this.fetchEndpoint("starknet_specVersion")),this.specVersion}getNonceForAddress(e,t=this.blockIdentifier){const n=ee(e),r=new je(t).identifier;return this.fetchEndpoint("starknet_getNonce",{contract_address:n,block_id:r})}getBlockLatestAccepted(){return this.fetchEndpoint("starknet_blockHashAndNumber")}getBlockNumber(){return this.fetchEndpoint("starknet_blockNumber")}getBlockWithTxHashes(e=this.blockIdentifier){const t=new je(e).identifier;return this.fetchEndpoint("starknet_getBlockWithTxHashes",{block_id:t})}getBlockWithTxs(e=this.blockIdentifier){const t=new je(e).identifier;return this.fetchEndpoint("starknet_getBlockWithTxs",{block_id:t})}getBlockStateUpdate(e=this.blockIdentifier){const t=new je(e).identifier;return this.fetchEndpoint("starknet_getStateUpdate",{block_id:t})}getBlockTransactionsTraces(e=this.blockIdentifier){const t=new je(e).identifier;return this.fetchEndpoint("starknet_traceBlockTransactions",{block_id:t})}getBlockTransactionCount(e=this.blockIdentifier){const t=new je(e).identifier;return this.fetchEndpoint("starknet_getBlockTransactionCount",{block_id:t})}getTransactionByHash(e){const t=ee(e);return this.fetchEndpoint("starknet_getTransactionByHash",{transaction_hash:t})}getTransactionByBlockIdAndIndex(e,t){const n=new je(e).identifier;return this.fetchEndpoint("starknet_getTransactionByBlockIdAndIndex",{block_id:n,index:t})}getTransactionReceipt(e){const t=ee(e);return this.fetchEndpoint("starknet_getTransactionReceipt",{transaction_hash:t})}getTransactionTrace(e){const t=ee(e);return this.fetchEndpoint("starknet_traceTransaction",{transaction_hash:t})}getTransactionStatus(e){const t=ee(e);return this.fetchEndpoint("starknet_getTransactionStatus",{transaction_hash:t})}simulateTransaction(e,t={}){const{blockIdentifier:n=this.blockIdentifier,skipValidate:r=!0,skipFeeCharge:a=!0}=t,o=new je(n).identifier,i=[];return r&&i.push(Se.ESimulationFlag.SKIP_VALIDATE),a&&i.push(Se.ESimulationFlag.SKIP_FEE_CHARGE),this.fetchEndpoint("starknet_simulateTransactions",{block_id:o,transactions:e.map(s=>this.buildTransaction(s)),simulation_flags:i})}async waitForTransaction(e,t){const n=ee(e);let{retries:r}=this,a=!1,o=!1;const i=(t==null?void 0:t.retryInterval)??this.transactionRetryIntervalDefault,s=(t==null?void 0:t.errorStates)??[Se.ETransactionStatus.REJECTED],c=(t==null?void 0:t.successStates)??[Se.ETransactionExecutionStatus.SUCCEEDED,Se.ETransactionStatus.ACCEPTED_ON_L2,Se.ETransactionStatus.ACCEPTED_ON_L1];let u;for(;!a;){await Pa(i);try{u=await this.getTransactionStatus(n);const h=u.execution_status,f=u.finality_status;if(!f)throw new Error("waiting for transaction status");if(s.includes(h)||s.includes(f)){const l=`${h}: ${f}`,g=new Error(l);throw g.response=u,o=!0,g}else(c.includes(h)||c.includes(f))&&(a=!0)}catch(h){if(h instanceof Error&&o)throw h;if(r<=0)throw new Error(`waitForTransaction timed-out with retries ${this.retries}`)}r-=1}let d=null;for(;d===null;){try{d=await this.getTransactionReceipt(n)}catch{if(r<=0)throw new Error(`waitForTransaction timed-out with retries ${this.retries}`)}r-=1,await Pa(i)}return d}getStorageAt(e,t,n=this.blockIdentifier){const r=ee(e),a=Kd(t),o=new je(n).identifier;return this.fetchEndpoint("starknet_getStorageAt",{contract_address:r,key:a,block_id:o})}getClassHashAt(e,t=this.blockIdentifier){const n=ee(e),r=new je(t).identifier;return this.fetchEndpoint("starknet_getClassHashAt",{block_id:r,contract_address:n})}getClass(e,t=this.blockIdentifier){const n=ee(e),r=new je(t).identifier;return this.fetchEndpoint("starknet_getClass",{class_hash:n,block_id:r})}getClassAt(e,t=this.blockIdentifier){const n=ee(e),r=new je(t).identifier;return this.fetchEndpoint("starknet_getClassAt",{block_id:r,contract_address:n})}async getEstimateFee(e,{blockIdentifier:t=this.blockIdentifier,skipValidate:n=!0}){const r=new je(t).identifier;let a={};return lf("0.5",await this.getSpecVersion())||(a={simulation_flags:n?[Se.ESimulationFlag.SKIP_VALIDATE]:[]}),this.fetchEndpoint("starknet_estimateFee",{request:e.map(o=>this.buildTransaction(o,"fee")),block_id:r,...a})}async invoke(e,t){let n;return Pt(t)?n=this.fetchEndpoint("starknet_addInvokeTransaction",{invoke_transaction:{type:Se.ETransactionType.INVOKE,sender_address:e.contractAddress,calldata:xe.toHex(e.calldata),version:Se.ETransactionVersion.V3,signature:Xe(e.signature),nonce:ee(t.nonce),resource_bounds:t.resourceBounds,tip:ee(t.tip),paymaster_data:t.paymasterData.map(r=>ee(r)),account_deployment_data:t.accountDeploymentData.map(r=>ee(r)),nonce_data_availability_mode:t.nonceDataAvailabilityMode,fee_data_availability_mode:t.feeDataAvailabilityMode}}):(n=this.fetchEndpoint("starknet_addInvokeTransaction",{invoke_transaction:{sender_address:e.contractAddress,calldata:xe.toHex(e.calldata),type:Se.ETransactionType.INVOKE,max_fee:ee(t.maxFee||0),version:Se.ETransactionVersion.V1,signature:Xe(e.signature),nonce:ee(t.nonce)}}),xt.warn(Zt.legacyTxWarningMessage,{version:Se.ETransactionVersion.V1,type:Se.ETransactionType.INVOKE})),this.waitMode?this.waitForTransaction((await n).transaction_hash):n}async declare({contract:e,signature:t,senderAddress:n,compiledClassHash:r},a){let o;if(!tn(e)&&!Pt(a))o=this.fetchEndpoint("starknet_addDeclareTransaction",{declare_transaction:{type:Se.ETransactionType.DECLARE,contract_class:{program:e.program,entry_points_by_type:e.entry_points_by_type,abi:e.abi},version:Se.ETransactionVersion.V1,max_fee:ee(a.maxFee||0),signature:Xe(t),sender_address:n,nonce:ee(a.nonce)}}),xt.warn(Zt.legacyTxWarningMessage,{version:Se.ETransactionVersion.V1,type:Se.ETransactionType.DECLARE});else if(tn(e)&&!Pt(a))o=this.fetchEndpoint("starknet_addDeclareTransaction",{declare_transaction:{type:Se.ETransactionType.DECLARE,contract_class:{sierra_program:Mr(e.sierra_program),contract_class_version:e.contract_class_version,entry_points_by_type:e.entry_points_by_type,abi:e.abi},compiled_class_hash:r||"",version:Se.ETransactionVersion.V2,max_fee:ee(a.maxFee||0),signature:Xe(t),sender_address:n,nonce:ee(a.nonce)}}),xt.warn(Zt.legacyTxWarningMessage,{version:Se.ETransactionVersion.V2,type:Se.ETransactionType.DECLARE});else if(tn(e)&&Pt(a))o=this.fetchEndpoint("starknet_addDeclareTransaction",{declare_transaction:{type:Se.ETransactionType.DECLARE,sender_address:n,compiled_class_hash:r||"",version:Se.ETransactionVersion.V3,signature:Xe(t),nonce:ee(a.nonce),contract_class:{sierra_program:Mr(e.sierra_program),contract_class_version:e.contract_class_version,entry_points_by_type:e.entry_points_by_type,abi:e.abi},resource_bounds:a.resourceBounds,tip:ee(a.tip),paymaster_data:a.paymasterData.map(i=>ee(i)),account_deployment_data:a.accountDeploymentData.map(i=>ee(i)),nonce_data_availability_mode:a.nonceDataAvailabilityMode,fee_data_availability_mode:a.feeDataAvailabilityMode}});else throw Error("declare unspotted parameters");return this.waitMode?this.waitForTransaction((await o).transaction_hash):o}async deployAccount({classHash:e,constructorCalldata:t,addressSalt:n,signature:r},a){let o;return Pt(a)?o=this.fetchEndpoint("starknet_addDeployAccountTransaction",{deploy_account_transaction:{type:Se.ETransactionType.DEPLOY_ACCOUNT,version:Se.ETransactionVersion.V3,signature:Xe(r),nonce:ee(a.nonce),contract_address_salt:ee(n||0),constructor_calldata:xe.toHex(t||[]),class_hash:ee(e),resource_bounds:a.resourceBounds,tip:ee(a.tip),paymaster_data:a.paymasterData.map(i=>ee(i)),nonce_data_availability_mode:a.nonceDataAvailabilityMode,fee_data_availability_mode:a.feeDataAvailabilityMode}}):(o=this.fetchEndpoint("starknet_addDeployAccountTransaction",{deploy_account_transaction:{constructor_calldata:xe.toHex(t||[]),class_hash:ee(e),contract_address_salt:ee(n||0),type:Se.ETransactionType.DEPLOY_ACCOUNT,max_fee:ee(a.maxFee||0),version:Se.ETransactionVersion.V1,signature:Xe(r),nonce:ee(a.nonce)}}),xt.warn(Zt.legacyTxWarningMessage,{version:Se.ETransactionVersion.V1,type:Se.ETransactionType.DEPLOY_ACCOUNT})),this.waitMode?this.waitForTransaction((await o).transaction_hash):o}callContract(e,t=this.blockIdentifier){const n=new je(t).identifier;return this.fetchEndpoint("starknet_call",{request:{contract_address:e.contractAddress,entry_point_selector:Ke(e.entrypoint),calldata:xe.toHex(e.calldata)},block_id:n})}estimateMessageFee(e,t=this.blockIdentifier){const{from_address:n,to_address:r,entry_point_selector:a,payload:o}=e,i={from_address:uf(n),to_address:ee(r),entry_point_selector:ni(a),payload:Wd(o)},s=new je(t).identifier;return this.fetchEndpoint("starknet_estimateMessageFee",{message:i,block_id:s})}getSyncingStats(){return this.fetchEndpoint("starknet_syncing")}getEvents(e){return this.fetchEndpoint("starknet_getEvents",{filter:e})}buildTransaction(e,t){const n=ff(t);let r;if(Pt(e)?r={signature:Xe(e.signature),nonce:ee(e.nonce),resource_bounds:e.resourceBounds,tip:ee(e.tip),paymaster_data:e.paymasterData.map(a=>ee(a)),nonce_data_availability_mode:e.nonceDataAvailabilityMode,fee_data_availability_mode:e.feeDataAvailabilityMode,account_deployment_data:e.accountDeploymentData.map(a=>ee(a))}:(r={signature:Xe(e.signature),nonce:ee(e.nonce),max_fee:ee(e.maxFee||0)},xt.warn(Zt.legacyTxWarningMessage,{version:e.version,type:e.type})),e.type===Qt.INVOKE)return{type:Se.ETransactionType.INVOKE,sender_address:e.contractAddress,calldata:xe.toHex(e.calldata),version:ee(e.version||n.v3),...r};if(e.type===Qt.DECLARE)return tn(e.contract)?{type:e.type,contract_class:{...e.contract,sierra_program:Mr(e.contract.sierra_program)},compiled_class_hash:e.compiledClassHash||"",sender_address:e.senderAddress,version:ee(e.version||n.v3),...r}:{type:e.type,contract_class:e.contract,sender_address:e.senderAddress,version:ee(e.version||n.v1),...r};if(e.type===Qt.DEPLOY_ACCOUNT){const{account_deployment_data:a,...o}=r;return{type:e.type,constructor_calldata:xe.toHex(e.constructorCalldata||[]),class_hash:ee(e.classHash),contract_address_salt:ee(e.addressSalt||0),version:ee(e.version||n.v3),...o}}throw Error("RPC buildTransaction received unknown TransactionType")}},cI={};Oe(cI,{RpcChannel:()=>kk});var $u={headers:{"Content-Type":"application/json"},blockIdentifier:lr.PENDING,retries:200},kk=class{constructor(e){ie(this,"nodeUrl");ie(this,"headers");ie(this,"requestId");ie(this,"blockIdentifier");ie(this,"retries");ie(this,"waitMode");ie(this,"chainId");ie(this,"specVersion");ie(this,"transactionRetryIntervalFallback");ie(this,"batchClient");ie(this,"baseFetch");const{baseFetch:t,batch:n,blockIdentifier:r,chainId:a,headers:o,nodeUrl:i,retries:s,specVersion:c,transactionRetryIntervalFallback:u,waitMode:d}=e||{};Object.values(Ps).includes(i)?this.nodeUrl=Mo(i,e==null?void 0:e.default):i?this.nodeUrl=i:this.nodeUrl=Mo(void 0,e==null?void 0:e.default),this.baseFetch=t??mk,this.blockIdentifier=r??$u.blockIdentifier,this.chainId=a,this.headers={...$u.headers,...o},this.retries=s??$u.retries,this.specVersion=c,this.transactionRetryIntervalFallback=u,this.waitMode=d??!1,this.requestId=0,typeof n=="number"&&(this.batchClient=new Ew({nodeUrl:this.nodeUrl,headers:this.headers,interval:n,baseFetch:this.baseFetch}))}get transactionRetryIntervalDefault(){return this.transactionRetryIntervalFallback??5e3}setChainId(e){this.chainId=e}fetch(e,t,n=0){const r={id:n,jsonrpc:"2.0",method:e,...t&&{params:t}};return this.baseFetch(this.nodeUrl,{method:"POST",body:Vt(r),headers:this.headers})}errorHandler(e,t,n,r){if(n)throw new yw(n,e,t);if(r instanceof No)throw r;if(r)throw Error(r.message)}async fetchEndpoint(e,t){var n;try{if(this.batchClient){const{error:i,result:s}=await this.batchClient.fetch(e,t,this.requestId+=1);return this.errorHandler(e,t,i),s}const r=await this.fetch(e,t,this.requestId+=1),{error:a,result:o}=await r.json();return this.errorHandler(e,t,a),o}catch(r){throw this.errorHandler(e,t,(n=r==null?void 0:r.response)==null?void 0:n.data,r),r}}async getChainId(){return this.chainId??(this.chainId=await this.fetchEndpoint("starknet_chainId")),this.chainId}async getSpecVersion(){return this.specVersion??(this.specVersion=await this.fetchEndpoint("starknet_specVersion")),this.specVersion}getNonceForAddress(e,t=this.blockIdentifier){const n=ee(e),r=new je(t).identifier;return this.fetchEndpoint("starknet_getNonce",{contract_address:n,block_id:r})}getBlockLatestAccepted(){return this.fetchEndpoint("starknet_blockHashAndNumber")}getBlockNumber(){return this.fetchEndpoint("starknet_blockNumber")}getBlockWithTxHashes(e=this.blockIdentifier){const t=new je(e).identifier;return this.fetchEndpoint("starknet_getBlockWithTxHashes",{block_id:t})}getBlockWithTxs(e=this.blockIdentifier){const t=new je(e).identifier;return this.fetchEndpoint("starknet_getBlockWithTxs",{block_id:t})}getBlockWithReceipts(e=this.blockIdentifier){const t=new je(e).identifier;return this.fetchEndpoint("starknet_getBlockWithReceipts",{block_id:t})}getBlockStateUpdate(e=this.blockIdentifier){const t=new je(e).identifier;return this.fetchEndpoint("starknet_getStateUpdate",{block_id:t})}getBlockTransactionsTraces(e=this.blockIdentifier){const t=new je(e).identifier;return this.fetchEndpoint("starknet_traceBlockTransactions",{block_id:t})}getBlockTransactionCount(e=this.blockIdentifier){const t=new je(e).identifier;return this.fetchEndpoint("starknet_getBlockTransactionCount",{block_id:t})}getTransactionByHash(e){const t=ee(e);return this.fetchEndpoint("starknet_getTransactionByHash",{transaction_hash:t})}getTransactionByBlockIdAndIndex(e,t){const n=new je(e).identifier;return this.fetchEndpoint("starknet_getTransactionByBlockIdAndIndex",{block_id:n,index:t})}getTransactionReceipt(e){const t=ee(e);return this.fetchEndpoint("starknet_getTransactionReceipt",{transaction_hash:t})}getTransactionTrace(e){const t=ee(e);return this.fetchEndpoint("starknet_traceTransaction",{transaction_hash:t})}getTransactionStatus(e){const t=ee(e);return this.fetchEndpoint("starknet_getTransactionStatus",{transaction_hash:t})}simulateTransaction(e,t={}){const{blockIdentifier:n=this.blockIdentifier,skipValidate:r=!0,skipFeeCharge:a=!0}=t,o=new je(n).identifier,i=[];return r&&i.push(ho.SKIP_VALIDATE),a&&i.push(ho.SKIP_FEE_CHARGE),this.fetchEndpoint("starknet_simulateTransactions",{block_id:o,transactions:e.map(s=>this.buildTransaction(s)),simulation_flags:i})}async waitForTransaction(e,t){const n=ee(e);let{retries:r}=this,a=!1,o=!1;const i=(t==null?void 0:t.retryInterval)??this.transactionRetryIntervalDefault,s=(t==null?void 0:t.errorStates)??[mo.REJECTED],c=(t==null?void 0:t.successStates)??[Ql.SUCCEEDED,mo.ACCEPTED_ON_L2,mo.ACCEPTED_ON_L1];let u;for(;!a;){await Pa(i);try{u=await this.getTransactionStatus(n);const h=u.execution_status,f=u.finality_status;if(!f)throw new Error("waiting for transaction status");if(s.includes(h)||s.includes(f)){const l=`${h}: ${f}`,g=new Error(l);throw g.response=u,o=!0,g}else(c.includes(h)||c.includes(f))&&(a=!0)}catch(h){if(h instanceof Error&&o)throw h;if(r<=0)throw new Error(`waitForTransaction timed-out with retries ${this.retries}`)}r-=1}let d=null;for(;d===null;){try{d=await this.getTransactionReceipt(n)}catch{if(r<=0)throw new Error(`waitForTransaction timed-out with retries ${this.retries}`)}r-=1,await Pa(i)}return d}getStorageAt(e,t,n=this.blockIdentifier){const r=ee(e),a=Kd(t),o=new je(n).identifier;return this.fetchEndpoint("starknet_getStorageAt",{contract_address:r,key:a,block_id:o})}getClassHashAt(e,t=this.blockIdentifier){const n=ee(e),r=new je(t).identifier;return this.fetchEndpoint("starknet_getClassHashAt",{block_id:r,contract_address:n})}getClass(e,t=this.blockIdentifier){const n=ee(e),r=new je(t).identifier;return this.fetchEndpoint("starknet_getClass",{class_hash:n,block_id:r})}getClassAt(e,t=this.blockIdentifier){const n=ee(e),r=new je(t).identifier;return this.fetchEndpoint("starknet_getClassAt",{block_id:r,contract_address:n})}async getEstimateFee(e,{blockIdentifier:t=this.blockIdentifier,skipValidate:n=!0}){const r=new je(t).identifier;let a={};return lf("0.5",await this.getSpecVersion())||(a={simulation_flags:n?[ho.SKIP_VALIDATE]:[]}),this.fetchEndpoint("starknet_estimateFee",{request:e.map(o=>this.buildTransaction(o,"fee")),block_id:r,...a})}async invoke(e,t){let n;return Pt(t)?n=this.fetchEndpoint("starknet_addInvokeTransaction",{invoke_transaction:{type:Et.INVOKE,sender_address:e.contractAddress,calldata:xe.toHex(e.calldata),version:Ct.V3,signature:Xe(e.signature),nonce:ee(t.nonce),resource_bounds:t.resourceBounds,tip:ee(t.tip),paymaster_data:t.paymasterData.map(r=>ee(r)),account_deployment_data:t.accountDeploymentData.map(r=>ee(r)),nonce_data_availability_mode:t.nonceDataAvailabilityMode,fee_data_availability_mode:t.feeDataAvailabilityMode}}):(n=this.fetchEndpoint("starknet_addInvokeTransaction",{invoke_transaction:{sender_address:e.contractAddress,calldata:xe.toHex(e.calldata),type:Et.INVOKE,max_fee:ee(t.maxFee||0),version:Ct.V1,signature:Xe(e.signature),nonce:ee(t.nonce)}}),xt.warn(Zt.legacyTxWarningMessage,{version:Ct.V1,type:Et.INVOKE})),this.waitMode?this.waitForTransaction((await n).transaction_hash):n}async declare({contract:e,signature:t,senderAddress:n,compiledClassHash:r},a){let o;if(!tn(e)&&!Pt(a))o=this.fetchEndpoint("starknet_addDeclareTransaction",{declare_transaction:{type:Et.DECLARE,contract_class:{program:e.program,entry_points_by_type:e.entry_points_by_type,abi:e.abi},version:Ct.V1,max_fee:ee(a.maxFee||0),signature:Xe(t),sender_address:n,nonce:ee(a.nonce)}}),xt.warn(Zt.legacyTxWarningMessage,{version:Ct.V1,type:Et.DECLARE});else if(tn(e)&&!Pt(a))o=this.fetchEndpoint("starknet_addDeclareTransaction",{declare_transaction:{type:Et.DECLARE,contract_class:{sierra_program:Mr(e.sierra_program),contract_class_version:e.contract_class_version,entry_points_by_type:e.entry_points_by_type,abi:e.abi},compiled_class_hash:r||"",version:Ct.V2,max_fee:ee(a.maxFee||0),signature:Xe(t),sender_address:n,nonce:ee(a.nonce)}}),xt.warn(Zt.legacyTxWarningMessage,{version:Ct.V2,type:Et.DECLARE});else if(tn(e)&&Pt(a))o=this.fetchEndpoint("starknet_addDeclareTransaction",{declare_transaction:{type:Et.DECLARE,sender_address:n,compiled_class_hash:r||"",version:Ct.V3,signature:Xe(t),nonce:ee(a.nonce),contract_class:{sierra_program:Mr(e.sierra_program),contract_class_version:e.contract_class_version,entry_points_by_type:e.entry_points_by_type,abi:e.abi},resource_bounds:a.resourceBounds,tip:ee(a.tip),paymaster_data:a.paymasterData.map(i=>ee(i)),account_deployment_data:a.accountDeploymentData.map(i=>ee(i)),nonce_data_availability_mode:a.nonceDataAvailabilityMode,fee_data_availability_mode:a.feeDataAvailabilityMode}});else throw Error("declare unspotted parameters");return this.waitMode?this.waitForTransaction((await o).transaction_hash):o}async deployAccount({classHash:e,constructorCalldata:t,addressSalt:n,signature:r},a){let o;return Pt(a)?o=this.fetchEndpoint("starknet_addDeployAccountTransaction",{deploy_account_transaction:{type:Et.DEPLOY_ACCOUNT,version:Ct.V3,signature:Xe(r),nonce:ee(a.nonce),contract_address_salt:ee(n||0),constructor_calldata:xe.toHex(t||[]),class_hash:ee(e),resource_bounds:a.resourceBounds,tip:ee(a.tip),paymaster_data:a.paymasterData.map(i=>ee(i)),nonce_data_availability_mode:a.nonceDataAvailabilityMode,fee_data_availability_mode:a.feeDataAvailabilityMode}}):(o=this.fetchEndpoint("starknet_addDeployAccountTransaction",{deploy_account_transaction:{constructor_calldata:xe.toHex(t||[]),class_hash:ee(e),contract_address_salt:ee(n||0),type:Et.DEPLOY_ACCOUNT,max_fee:ee(a.maxFee||0),version:Ct.V1,signature:Xe(r),nonce:ee(a.nonce)}}),xt.warn(Zt.legacyTxWarningMessage,{version:Ct.V1,type:Et.DEPLOY_ACCOUNT})),this.waitMode?this.waitForTransaction((await o).transaction_hash):o}callContract(e,t=this.blockIdentifier){const n=new je(t).identifier;return this.fetchEndpoint("starknet_call",{request:{contract_address:e.contractAddress,entry_point_selector:Ke(e.entrypoint),calldata:xe.toHex(e.calldata)},block_id:n})}estimateMessageFee(e,t=this.blockIdentifier){const{from_address:n,to_address:r,entry_point_selector:a,payload:o}=e,i={from_address:uf(n),to_address:ee(r),entry_point_selector:ni(a),payload:Wd(o)},s=new je(t).identifier;return this.fetchEndpoint("starknet_estimateMessageFee",{message:i,block_id:s})}getSyncingStats(){return this.fetchEndpoint("starknet_syncing")}getEvents(e){return this.fetchEndpoint("starknet_getEvents",{filter:e})}buildTransaction(e,t){const n=ff(t);let r;if(Pt(e)?r={signature:Xe(e.signature),nonce:ee(e.nonce),resource_bounds:e.resourceBounds,tip:ee(e.tip),paymaster_data:e.paymasterData.map(a=>ee(a)),nonce_data_availability_mode:e.nonceDataAvailabilityMode,fee_data_availability_mode:e.feeDataAvailabilityMode,account_deployment_data:e.accountDeploymentData.map(a=>ee(a))}:(r={signature:Xe(e.signature),nonce:ee(e.nonce),max_fee:ee(e.maxFee||0)},xt.warn(Zt.legacyTxWarningMessage,{version:e.version,type:e.type})),e.type===Qt.INVOKE)return{type:Et.INVOKE,sender_address:e.contractAddress,calldata:xe.toHex(e.calldata),version:ee(e.version||n.v3),...r};if(e.type===Qt.DECLARE)return tn(e.contract)?{type:e.type,contract_class:{...e.contract,sierra_program:Mr(e.contract.sierra_program)},compiled_class_hash:e.compiledClassHash||"",sender_address:e.senderAddress,version:ee(e.version||n.v3),...r}:{type:e.type,contract_class:e.contract,sender_address:e.senderAddress,version:ee(e.version||n.v1),...r};if(e.type===Qt.DEPLOY_ACCOUNT){const{account_deployment_data:a,...o}=r;return{type:e.type,constructor_calldata:xe.toHex(e.constructorCalldata||[]),class_hash:ee(e.classHash),contract_address_salt:ee(e.addressSalt||0),version:ee(e.version||n.v3),...o}}throw Error("RPC buildTransaction received unknown TransactionType")}},jm=class{constructor(e){ie(this,"margin");this.margin=e}estimatedFeeToMaxFee(e){var t;return hk(e,(t=this.margin)==null?void 0:t.maxFee)}estimateFeeToBounds(e){var t,n;return cf(e,(t=this.margin)==null?void 0:t.l1BoundMaxAmount,(n=this.margin)==null?void 0:n.l1BoundMaxPricePerUnit)}parseGetBlockResponse(e){return{status:"PENDING",...e}}parseTransactionReceipt(e){return"actual_fee"in e&&Qe(e.actual_fee)?{...e,actual_fee:{amount:e.actual_fee,unit:"FRI"}}:e}parseFeeEstimateResponse(e){const t=e[0];return{overall_fee:He(t.overall_fee),gas_consumed:He(t.gas_consumed),gas_price:He(t.gas_price),unit:t.unit,suggestedMaxFee:this.estimatedFeeToMaxFee(t.overall_fee),resourceBounds:this.estimateFeeToBounds(t),data_gas_consumed:t.data_gas_consumed?He(t.data_gas_consumed):0n,data_gas_price:t.data_gas_price?He(t.data_gas_price):0n}}parseFeeEstimateBulkResponse(e){return e.map(t=>({overall_fee:He(t.overall_fee),gas_consumed:He(t.gas_consumed),gas_price:He(t.gas_price),unit:t.unit,suggestedMaxFee:this.estimatedFeeToMaxFee(t.overall_fee),resourceBounds:this.estimateFeeToBounds(t),data_gas_consumed:t.data_gas_consumed?He(t.data_gas_consumed):0n,data_gas_price:t.data_gas_price?He(t.data_gas_price):0n}))}parseSimulateTransactionResponse(e){return e.map(t=>({...t,suggestedMaxFee:this.estimatedFeeToMaxFee(t.fee_estimation.overall_fee),resourceBounds:this.estimateFeeToBounds(t.fee_estimation)}))}parseContractClassResponse(e){return{...e,abi:Qe(e.abi)?JSON.parse(e.abi):e.abi}}parseL1GasPriceResponse(e){return e.l1_gas_price.price_in_wei}},xm=class Yi{constructor(t){ie(this,"statusReceipt");ie(this,"value");[this.statusReceipt,this.value]=Yi.isSuccess(t)?["success",t]:Yi.isReverted(t)?["reverted",t]:Yi.isRejected(t)?["rejected",t]:["error",new Error("Unknown response type")];for(const[n]of Object.entries(this))Object.defineProperty(this,n,{enumerable:!1});for(const[n,r]of Object.entries(t))Object.defineProperty(this,n,{enumerable:!0,writable:!1,value:r})}match(t){return this.statusReceipt in t?t[this.statusReceipt](this.value):t._()}isSuccess(){return this.statusReceipt==="success"}isReverted(){return this.statusReceipt==="reverted"}isRejected(){return this.statusReceipt==="rejected"}isError(){return this.statusReceipt==="error"}static isSuccess(t){return t.execution_status===Xi.SUCCEEDED}static isReverted(t){return t.execution_status===Xi.REVERTED}static isRejected(t){return t.status===Xi.REJECTED}},_k={};Oe(_k,{TypedDataRevision:()=>Ie,encodeData:()=>Tk,encodeType:()=>jk,encodeValue:()=>vo,getDependencies:()=>hf,getMessageHash:()=>mf,getStructHash:()=>qo,getTypeHash:()=>xk,isMerkleTreeType:()=>Sk,prepareSelector:()=>Ak,validateTypedData:()=>$s,verifyMessage:()=>fI});var uI={};Oe(uI,{MerkleTree:()=>pf,proofMerklePath:()=>vk});var pf=class Ji{constructor(t,n=Do){ie(this,"leaves");ie(this,"branches",[]);ie(this,"root");ie(this,"hashMethod");this.hashMethod=n,this.leaves=t,this.root=this.build(t)}build(t){if(t.length===1)return t[0];t.length!==this.leaves.length&&this.branches.push(t);const n=[];for(let r=0;r<t.length;r+=2)r+1===t.length?n.push(Ji.hash(t[r],"0x0",this.hashMethod)):n.push(Ji.hash(t[r],t[r+1],this.hashMethod));return this.build(n)}static hash(t,n,r=Do){const[a,o]=[BigInt(t),BigInt(n)].sort((i,s)=>i>=s?1:-1);return r(a,o)}getProof(t,n=this.leaves,r=[]){const a=n.indexOf(t);if(a===-1)throw new Error("leaf not found");if(n.length===1)return r;const o=a%2===0,i=(o?n[a+1]:n[a-1])??"0x0",s=[...r,i],c=this.leaves.length===n.length?-1:this.branches.findIndex(d=>d.length===n.length),u=this.branches[c+1]??[this.root];return this.getProof(Ji.hash(o?t:i,o?i:t,this.hashMethod),u,s)}};function vk(e,t,n,r=Do){if(n.length===0)return e===t;const[a,...o]=n;return vk(e,pf.hash(t,a,r),o,r)}var lI={u256:JSON.parse('[{ "name": "low", "type": "u128" }, { "name": "high", "type": "u128" }]'),TokenAmount:JSON.parse('[{ "name": "token_address", "type": "ContractAddress" }, { "name": "amount", "type": "u256" }]'),NftId:JSON.parse('[{ "name": "collection_address", "type": "ContractAddress" }, { "name": "token_id", "type": "u256" }]')},Rt={[Ie.ACTIVE]:{domain:"StarknetDomain",hashMethod:ok,hashMerkleMethod:rk,escapeTypeString:e=>`"${e}"`,presetTypes:lI},[Ie.LEGACY]:{domain:"StarkNetDomain",hashMethod:ak,hashMerkleMethod:Do,escapeTypeString:e=>e,presetTypes:{}}};function Ci(e,t,{min:n,max:r}){const a=BigInt(e);be(a>=n&&a<=r,`${a} (${t}) is out of bounds [${n}, ${r}]`)}function Ek({types:e,domain:t}){if(Rt[Ie.ACTIVE].domain in e&&t.revision===Ie.ACTIVE)return Ie.ACTIVE;if(Rt[Ie.LEGACY].domain in e&&(t.revision??Ie.LEGACY)===Ie.LEGACY)return Ie.LEGACY}function sn(e){try{return ee(e)}catch{if(Qe(e))return ee(rt(e));throw new Error(`Invalid BigNumberish: ${e}`)}}function $s(e){const t=e;return!!(t.message&&t.primaryType&&t.types&&Ek(t))}function Ak(e){return $t(e)?e:Ke(e)}function Sk(e){return e.type==="merkletree"}function hf(e,t,n=[],r="",a=Ie.LEGACY){let o=[t];return t[t.length-1]==="*"?o=[t.slice(0,-1)]:a===Ie.ACTIVE&&(t==="enum"?o=[r]:t.match(/^\(.*\)$/)&&(o=t.slice(1,-1).split(",").map(i=>i[i.length-1]==="*"?i.slice(0,-1):i))),o.filter(i=>!n.includes(i)&&e[i]).reduce((i,s)=>[...i,...[s,...e[s].reduce((c,u)=>[...c,...hf(e,u.type,c,u.contains,a).filter(d=>!c.includes(d))],[])].filter(c=>!i.includes(c))],[])}function dI(e,t){if(t.parent&&t.key){const r=e[t.parent].find(o=>o.name===t.key);if(!Sk(r))throw new Error(`${t.key} is not a merkle tree`);if(r.contains.endsWith("*"))throw new Error(`Merkle tree contain property must not be an array but was given ${t.key}`);return r.contains}return"raw"}function jk(e,t,n=Ie.LEGACY){const r=n===Ie.ACTIVE?{...e,...Rt[n].presetTypes}:e,[a,...o]=hf(r,t,void 0,void 0,n),i=a?[a,...o.sort()]:[],s=Rt[n].escapeTypeString;return i.map(c=>{const u=r[c].map(d=>{const h=d.type==="enum"&&n===Ie.ACTIVE?d.contains:d.type,f=h.match(/^\(.*\)$/)?`(${h.slice(1,-1).split(",").map(l=>l&&s(l)).join(",")})`:s(h);return`${s(d.name)}:${f}`});return`${s(c)}(${u})`}).join("")}function xk(e,t,n=Ie.LEGACY){return Ke(jk(e,t,n))}function vo(e,t,n,r={},a=Ie.LEGACY){if(e[t])return[t,qo(e,t,n,a)];if(Rt[a].presetTypes[t])return[t,qo(Rt[a].presetTypes,t,n,a)];if(t.endsWith("*")){const o=n.map(i=>vo(e,t.slice(0,-1),i,void 0,a)[1]);return[t,Rt[a].hashMethod(o)]}switch(t){case"enum":{if(a===Ie.ACTIVE){const[o,i]=Object.entries(n)[0],s=e[r.parent].find(f=>f.name===r.key),c=e[s.contains],u=c.find(f=>f.name===o),d=c.indexOf(u),h=u.type.slice(1,-1).split(",").map((f,l)=>{if(!f)return f;const g=i[l];return vo(e,f,g,void 0,a)[1]});return[t,Rt[a].hashMethod([d,...h])]}return[t,sn(n)]}case"merkletree":{const o=dI(e,r),i=n.map(c=>vo(e,o,c,void 0,a)[1]),{root:s}=new pf(i,Rt[a].hashMerkleMethod);return["felt",s]}case"selector":return["felt",Ak(n)];case"string":{if(a===Ie.ACTIVE){const o=Us(n),i=[o.data.length,...o.data,o.pending_word,o.pending_word_len];return[t,Rt[a].hashMethod(i)]}return[t,sn(n)]}case"i128":{if(a===Ie.ACTIVE){const o=BigInt(n);return Ci(o,t,cw),[t,sn(o<0n?Vd+o:o)]}return[t,sn(n)]}case"timestamp":case"u128":return a===Ie.ACTIVE&&Ci(n,t,uw),[t,sn(n)];case"felt":case"shortstring":return a===Ie.ACTIVE&&Ci(sn(n),t,Nl),[t,sn(n)];case"ClassHash":case"ContractAddress":return a===Ie.ACTIVE&&Ci(n,t,Nl),[t,sn(n)];case"bool":return a===Ie.ACTIVE&&be(Gd(n),`Type mismatch for ${t} ${n}`),[t,sn(n)];default:{if(a===Ie.ACTIVE)throw new Error(`Unsupported type: ${t}`);return[t,sn(n)]}}}function Tk(e,t,n,r=Ie.LEGACY){const a=e[t]??Rt[r].presetTypes[t],[o,i]=a.reduce(([s,c],u)=>{if(n[u.name]===void 0||n[u.name]===null&&u.type!=="enum")throw new Error(`Cannot encode data: missing data for '${u.name}'`);const d=n[u.name],h={parent:t,key:u.name},[f,l]=vo(e,u.type,d,h,r);return[[...s,f],[...c,l]]},[["felt"],[xk(e,t,r)]]);return[o,i]}function qo(e,t,n,r=Ie.LEGACY){return Rt[r].hashMethod(Tk(e,t,n,r)[1])}function mf(e,t){if(!$s(e))throw new Error("Typed data does not match JSON schema");const n=Ek(e),{domain:r,hashMethod:a}=Rt[n],o=[rt("StarkNet Message"),qo(e.types,r,e.domain,n),t,qo(e.types,e.primaryType,e.message,n)];return a(o)}function fI(e,t,n,r){const a=$s(e);if(!Ho(e)&&!a)throw new Error("message has a wrong format.");if(a&&r===void 0)throw new Error("When providing a TypedData in message parameter, the accountAddress parameter has to be provided.");if(a&&!Ho(r))throw new Error("accountAddress shall be a BigNumberish");const o=a?mf(e,r):ee(e),i=Array.isArray(t)?new go(BigInt(t[0]),BigInt(t[1])):t,s=ee(n);return u0(i,o,s)}var Ik=class{constructor(e){ie(this,"responseParser");ie(this,"channel");ie(this,"getStateUpdate",this.getBlockStateUpdate);e&&"channel"in e?(this.channel=e.channel,this.responseParser="responseParser"in e?e.responseParser:new jm):(this.channel=new kk({...e,waitMode:!1}),this.responseParser=new jm(e==null?void 0:e.feeMarginPercentage))}fetch(e,t,n=0){return this.channel.fetch(e,t,n)}async getChainId(){return this.channel.getChainId()}async getSpecVersion(){return this.channel.getSpecVersion()}async getNonceForAddress(e,t){return this.channel.getNonceForAddress(e,t)}async getBlock(e){return this.channel.getBlockWithTxHashes(e).then(this.responseParser.parseGetBlockResponse)}async getBlockLatestAccepted(){return this.channel.getBlockLatestAccepted()}async getBlockNumber(){return this.channel.getBlockNumber()}async getBlockWithTxHashes(e){return this.channel.getBlockWithTxHashes(e)}async getBlockWithTxs(e){return this.channel.getBlockWithTxs(e)}async waitForBlock(e="pending",t=5e3){if(e===lr.LATEST)return;const n=await this.getBlockNumber(),r=e===lr.PENDING?n+1:Number(ee(e));if(r<=n)return;const{retries:a}=this.channel;let o=a,i=!1;for(;!i;)if(await this.getBlockNumber()===r?i=!0:await Pa(t),o-=1,o<=0)throw new Error(`waitForBlock() timed-out after ${a} tries.`)}async getL1GasPrice(e){return this.channel.getBlockWithTxHashes(e).then(this.responseParser.parseL1GasPriceResponse)}async getL1MessageHash(e){const t=await this.channel.getTransactionByHash(e);be(t.type==="L1_HANDLER","This L2 transaction is not a L1 message.");const{calldata:n,contract_address:r,entry_point_selector:a,nonce:o}=t,i=[n[0],r,o,a,n.length-1,...n.slice(1)];return Ns(i)}async getBlockWithReceipts(e){if(this.channel instanceof gw.RpcChannel)throw new No("Unsupported method for RPC version");return this.channel.getBlockWithReceipts(e)}async getBlockStateUpdate(e){return this.channel.getBlockStateUpdate(e)}async getBlockTransactionsTraces(e){return this.channel.getBlockTransactionsTraces(e)}async getBlockTransactionCount(e){return this.channel.getBlockTransactionCount(e)}async getPendingTransactions(){const{transactions:e}=await this.getBlockWithTxHashes(lr.PENDING).then(this.responseParser.parseGetBlockResponse);return Promise.all(e.map(t=>this.getTransactionByHash(t)))}async getTransaction(e){return this.channel.getTransactionByHash(e)}async getTransactionByHash(e){return this.channel.getTransactionByHash(e)}async getTransactionByBlockIdAndIndex(e,t){return this.channel.getTransactionByBlockIdAndIndex(e,t)}async getTransactionReceipt(e){const t=await this.channel.getTransactionReceipt(e),n=this.responseParser.parseTransactionReceipt(t);return new xm(n)}async getTransactionTrace(e){return this.channel.getTransactionTrace(e)}async getTransactionStatus(e){return this.channel.getTransactionStatus(e)}async getSimulateTransaction(e,t){return this.channel.simulateTransaction(e,t).then(n=>this.responseParser.parseSimulateTransactionResponse(n))}async waitForTransaction(e,t){const n=await this.channel.waitForTransaction(e,t);return new xm(n)}async getStorageAt(e,t,n){return this.channel.getStorageAt(e,t,n)}async getClassHashAt(e,t){return this.channel.getClassHashAt(e,t)}async getClassByHash(e){return this.getClass(e)}async getClass(e,t){return this.channel.getClass(e,t).then(this.responseParser.parseContractClassResponse)}async getClassAt(e,t){return this.channel.getClassAt(e,t).then(this.responseParser.parseContractClassResponse)}async getContractVersion(e,t,{blockIdentifier:n=this.channel.blockIdentifier,compiler:r=!0}={}){let a;if(e)a=await this.getClassAt(e,n);else if(t)a=await this.getClass(t,n);else throw Error("getContractVersion require contractAddress or classHash");return tn(a)?r?{cairo:"1",compiler:nf(a.abi).compiler}:{cairo:"1",compiler:void 0}:{cairo:"0",compiler:"0"}}async getEstimateFee(e,t,n,r){return this.getInvokeEstimateFee(e,t,n,r)}async getInvokeEstimateFee(e,t,n,r){return this.channel.getEstimateFee([{type:Qt.INVOKE,...e,...t}],{blockIdentifier:n,skipValidate:r}).then(a=>this.responseParser.parseFeeEstimateResponse(a))}async getDeclareEstimateFee(e,t,n,r){return this.channel.getEstimateFee([{type:Qt.DECLARE,...e,...t}],{blockIdentifier:n,skipValidate:r}).then(a=>this.responseParser.parseFeeEstimateResponse(a))}async getDeployAccountEstimateFee(e,t,n,r){return this.channel.getEstimateFee([{type:Qt.DEPLOY_ACCOUNT,...e,...t}],{blockIdentifier:n,skipValidate:r}).then(a=>this.responseParser.parseFeeEstimateResponse(a))}async getEstimateFeeBulk(e,t){return this.channel.getEstimateFee(e,t).then(n=>this.responseParser.parseFeeEstimateBulkResponse(n))}async invokeFunction(e,t){return this.channel.invoke(e,t)}async declareContract(e,t){return this.channel.declare(e,t)}async deployAccountContract(e,t){return this.channel.deployAccount(e,t)}async callContract(e,t){return this.channel.callContract(e,t)}async estimateMessageFee(e,t){return this.channel.estimateMessageFee(e,t)}async getSyncingStats(){return this.channel.getSyncingStats()}async getEvents(e){return this.channel.getEvents(e)}async verifyMessageInStarknet(e,t,n,r,a){const o=$s(e);if(!Ho(e)&&!o)throw new Error("message has a wrong format.");if(!Ho(n))throw new Error("accountAddress shall be a BigNumberish");const i=o?mf(e,n):ee(e),s=r?[r]:["isValidSignature","is_valid_signature"],c=a||{okResponse:[],nokResponse:["0x0","0x00"],error:["argent/invalid-signature","is invalid, with respect to the public key","INVALID_SIG"]};let u;for(const d of s)try{const h=await this.callContract({contractAddress:ee(n),entrypoint:d,calldata:xe.compile({hash:He(i).toString(),signature:ui(t)})});if(c.nokResponse.includes(h[0].toString()))return!1;if(c.okResponse.length===0||c.okResponse.includes(h[0].toString()))return!0;throw Error("signatureVerificationResponse Error: response is not part of known responses")}catch(h){if(c.error.some(f=>h.message.includes(f)))return!1;u=h}throw Error(`Signature verification Error: ${u}`)}async isClassDeclared(e,t){let n;if(!e.classHash&&"contract"in e)n=$T(e).classHash;else if(e.classHash)n=e.classHash;else throw Error("contractClassIdentifier type not satisfied");try{return await this.getClass(n,t)instanceof Object}catch(r){if(r instanceof No)return!1;throw r}}async prepareInvocations(e){const t=[];for(const n of e)n.type===Qt.DECLARE?await this.isClassDeclared("payload"in n?n.payload:n)||t.unshift(n):t.push(n);return t}},pI={};Oe(pI,{StarknetIdContract:()=>$l,StarknetIdIdentityContract:()=>Gl,StarknetIdMulticallContract:()=>Kl,StarknetIdPfpContract:()=>Xl,StarknetIdPopContract:()=>Zl,StarknetIdVerifierContract:()=>Wl,dynamicCallData:()=>Ee,dynamicFelt:()=>st,execution:()=>cn,getStarknetIdContract:()=>Qi,getStarknetIdIdentityContract:()=>Ok,getStarknetIdMulticallContract:()=>Bk,getStarknetIdPfpContract:()=>Pk,getStarknetIdPopContract:()=>Rk,getStarknetIdVerifierContract:()=>zk,isStarkDomain:()=>Nk,useDecoded:()=>Vl,useEncoded:()=>Ck});var mn="abcdefghijklmnopqrstuvwxyz0123456789-",ba=BigInt(mn.length+1),nt="这来",Tm=BigInt(mn.length),Ml=BigInt(nt.length),Im=BigInt(nt.length+1);function ql(e){let t=0;for(;e.endsWith(nt[nt.length-1]);)e=e.substring(0,e.length-1),t+=1;return[e,t]}function Vl(e){let t="";return e.forEach(n=>{for(;n!==Pn;){const o=n%ba;if(n/=ba,o===BigInt(mn.length)){const i=n/Im;if(i===Pn){const s=n%Im;n=i,s===Pn?t+=mn[0]:t+=nt[Number(s)-1]}else{const s=n%Ml;t+=nt[Number(s)],n/=Ml}}else t+=mn[Number(o)]}const[r,a]=ql(t);a&&(t=r+(a%2===0?nt[nt.length-1].repeat(a/2-1)+nt[0]+mn[1]:nt[nt.length-1].repeat((a-1)/2+1))),t+="."}),t&&t.concat("stark")}function Ck(e){let t=BigInt(0),n=BigInt(1);if(e.endsWith(nt[0]+mn[1])){const[r,a]=ql(e.substring(0,e.length-2));e=r+nt[nt.length-1].repeat(2*(a+1))}else{const[r,a]=ql(e);a&&(e=r+nt[nt.length-1].repeat(1+2*(a-1)))}for(let r=0;r<e.length;r+=1){const a=e[r],o=mn.indexOf(a),i=BigInt(mn.indexOf(a));if(o!==-1)r===e.length-1&&e[r]===mn[0]?(t+=n*Tm,n*=ba,n*=ba):(t+=n*i,n*=ba);else if(nt.indexOf(a)!==-1){t+=n*Tm,n*=ba;const s=(r===e.length-1?1:0)+nt.indexOf(a);t+=n*BigInt(s),n*=Ml}}return t}var $l={MAINNET:"0x6ac597f8116f886fa1c97a23fa4e08299975ecaf6b598873ca6792b9bbfb678",TESTNET_SEPOLIA:"0x154bc2e1af9260b9e66af0e9c46fc757ff893b3ff6a85718a810baf1474"};function Qi(e){switch(e){case"0x534e5f4d41494e":return $l.MAINNET;case"0x534e5f5345504f4c4941":return $l.TESTNET_SEPOLIA;default:throw new Error("Starknet.id is not yet deployed on this network")}}var Gl={MAINNET:"0x05dbdedc203e92749e2e746e2d40a768d966bd243df04a6b712e222bc040a9af",TESTNET_SEPOLIA:"0x3697660a0981d734780731949ecb2b4a38d6a58fc41629ed611e8defda"};function Ok(e){switch(e){case"0x534e5f4d41494e":return Gl.MAINNET;case"0x534e5f5345504f4c4941":return Gl.TESTNET_SEPOLIA;default:throw new Error("Starknet.id verifier contract is not yet deployed on this network")}}var Kl="0x034ffb8f4452df7a613a0210824d6414dbadcddce6c6e19bf4ddc9e22ce5f970";function Bk(e){switch(e){case"0x534e5f4d41494e":return Kl;case"0x534e5f5345504f4c4941":return Kl;default:throw new Error("Starknet.id multicall contract is not yet deployed on this network")}}var Wl={MAINNET:"0x07d14dfd8ee95b41fce179170d88ba1f0d5a512e13aeb232f19cfeec0a88f8bf",TESTNET_SEPOLIA:"0x60B94fEDe525f815AE5E8377A463e121C787cCCf3a36358Aa9B18c12c4D566"};function zk(e){switch(e){case"0x534e5f4d41494e":return Wl.MAINNET;case"0x534e5f5345504f4c4941":return Wl.TESTNET_SEPOLIA;default:throw new Error("Starknet.id verifier contract is not yet deployed on this network")}}var Xl={MAINNET:"0x070aaa20ec4a46da57c932d9fd89ca5e6bb9ca3188d3df361a32306aff7d59c7",TESTNET_SEPOLIA:"0x9e7bdb8dabd02ea8cfc23b1d1c5278e46490f193f87516ed5ff2dfec02"};function Pk(e){switch(e){case"0x534e5f4d41494e":return Xl.MAINNET;case"0x534e5f5345504f4c4941":return Xl.TESTNET_SEPOLIA;default:throw new Error("Starknet.id profile picture verifier contract is not yet deployed on this network")}}var Zl={MAINNET:"0x0293eb2ba9862f762bd3036586d5755a782bd22e6f5028320f1d0405fd47bff4",TESTNET_SEPOLIA:"0x15ae88ae054caa74090b89025c1595683f12edf7a4ed2ad0274de3e1d4a"};function Rk(e){switch(e){case"0x534e5f4d41494e":return Zl.MAINNET;case"0x534e5f5345504f4c4941":return Zl.TESTNET_SEPOLIA;default:throw new Error("Starknet.id proof of personhood verifier contract is not yet deployed on this network")}}function cn(e,t=void 0,n=void 0){return new si({Static:e,IfEqual:t?za(t[0],t[1],t[2]):void 0,IfNotEqual:n?za(n[0],n[1],n[2]):void 0})}function st(e,t=void 0){return new si({Hardcoded:e,Reference:t?za(t[0],t[1]):void 0})}function Ee(e,t=void 0,n=void 0){return new si({Hardcoded:e,Reference:t?za(t[0],t[1]):void 0,ArrayReference:n?za(n[0],n[1]):void 0})}function Nk(e){return/^(?:[a-z0-9-]{1,48}(?:[a-z0-9-]{1,48}[a-z0-9-])?\.)*[a-z0-9-]{1,48}\.stark$/.test(e)}var hI=class es{async getStarkName(t,n){return es.getStarkName(this,t,n)}async getAddressFromStarkName(t,n){return es.getAddressFromStarkName(this,t,n)}async getStarkProfile(t,n,r,a,o,i,s){return es.getStarkProfile(this,t,n,r,a,o,i,s)}static async getStarkName(t,n,r){const a=await t.getChainId(),o=r??Qi(a);try{const s=(await t.callContract({contractAddress:o,entrypoint:"address_to_domain",calldata:xe.compile({address:n,hint:[]})})).map(u=>BigInt(u)).slice(1),c=Vl(s);if(!c)throw Error("Starkname not found");return c}catch(i){throw i instanceof Error&&i.message==="Starkname not found"?i:Error("Could not get stark name")}}static async getAddressFromStarkName(t,n,r){const a=n.endsWith(".stark")?n:`${n}.stark`;if(!Nk(a))throw new Error("Invalid domain, must be a valid .stark domain");const o=await t.getChainId(),i=r??Qi(o);try{const s=a.replace(".stark","").split(".").map(u=>Ck(u).toString(10));return(await t.callContract({contractAddress:i,entrypoint:"domain_to_address",calldata:xe.compile({domain:s,hint:[]})}))[0]}catch{throw Error("Could not get address from stark name")}}static async getStarkProfile(t,n,r,a,o,i,s,c){const u=await t.getChainId(),d=r??Qi(u),h=a??Ok(u),f=o??zk(u),l=i??Pk(u),g=s??Rk(u),b=c??Bk(u);try{const y=[{execution:cn({}),to:Ee(d),selector:Ee(Ke("address_to_domain")),calldata:[Ee(n),Ee("0")]},{execution:cn({}),to:st(d),selector:st(Ke("domain_to_id")),calldata:[Ee(void 0,void 0,[0,0])]},{execution:cn({}),to:st(h),selector:st(Ke("get_verifier_data")),calldata:[Ee(void 0,[1,0]),Ee(rt("twitter")),Ee(f),Ee("0")]},{execution:cn({}),to:st(h),selector:st(Ke("get_verifier_data")),calldata:[Ee(void 0,[1,0]),Ee(rt("github")),Ee(f),Ee("0")]},{execution:cn({}),to:st(h),selector:st(Ke("get_verifier_data")),calldata:[Ee(void 0,[1,0]),Ee(rt("discord")),Ee(f),Ee("0")]},{execution:cn({}),to:st(h),selector:st(Ke("get_verifier_data")),calldata:[Ee(void 0,[1,0]),Ee(rt("proof_of_personhood")),Ee(g),Ee("0")]},{execution:cn({}),to:st(h),selector:st(Ke("get_verifier_data")),calldata:[Ee(void 0,[1,0]),Ee(rt("nft_pp_contract")),Ee(l),Ee("0")]},{execution:cn({}),to:st(h),selector:st(Ke("get_extended_verifier_data")),calldata:[Ee(void 0,[1,0]),Ee(rt("nft_pp_id")),Ee("2"),Ee(l),Ee("0")]},{execution:cn(void 0,void 0,[6,0,0]),to:st(void 0,[6,0]),selector:st(Ke("tokenURI")),calldata:[Ee(void 0,[7,1]),Ee(void 0,[7,2])]}],_=await t.callContract({contractAddress:b,entrypoint:"aggregate",calldata:xe.compile({calls:y})});if(Array.isArray(_)){const k=parseInt(_[0],16),w=[];let v=1;for(let M=0;M<k&&v<_.length;M+=1){const D=parseInt(_[v],16);v+=1;const R=_.slice(v,v+D);w.push(R),v+=D}const A=Vl(w[0].slice(1).map(M=>BigInt(M))),T=w[2][0]!=="0x0"?BigInt(w[2][0]).toString():void 0,I=w[3][0]!=="0x0"?BigInt(w[3][0]).toString():void 0,z=w[4][0]!=="0x0"?BigInt(w[4][0]).toString():void 0,S=w[5][0]==="0x1",P=(_[0]==="0x9"?w[8].slice(1).map(M=>Jr(M)).join(""):void 0)||`https://starknet.id/api/identicons/${BigInt(w[1][0]).toString()}`;return{name:A,twitter:T,github:I,discord:z,proofOfPersonhood:S,profilePicture:P}}throw Error("Error while calling aggregate function")}catch(y){throw y instanceof Error?y:Error("Could not get user stark profile data from address")}}},mI=class extends Wj(Ik,hI){},gI=new Ik({default:!0}),ms={};Oe(ms,{UINT_128_MAX:()=>ya,UINT_256_MAX:()=>Nw,bnToUint256:()=>wI,isUint256:()=>bI,uint256ToBN:()=>yI});function yI(e){return new Ye(e).toBigInt()}function bI(e){return Ye.is(e)}function wI(e){return new Ye(e).toUint256HexString()}var kI={};Oe(kI,{getAbiEvents:()=>Uk,isAbiEvent:()=>Yl,parseEvents:()=>Lk,parseUDCEvent:()=>EI});function Yl(e){return e.type==="event"}function _I(e){return e.filter(t=>t.type==="event").reduce((t,n)=>{const r=n.name,a={...n};return a.name=r,{...t,[Ce(pr(hr(r)).toString(16))]:a}},{})}function vI(e){const t=e.filter(a=>Yl(a)&&a.kind==="struct"),n=e.filter(a=>Yl(a)&&a.kind==="enum");return t.reduce((a,o)=>{let i=[],{name:s}=o,c=!1;const u=f=>f.type===s;for(;;){const f=n.find(g=>g.variants.some(u));if(Ze(f))break;const l=f.variants.find(u);i.unshift(l.name),l.kind==="flat"&&(c=!0),s=f.name}if(i.length===0)throw new Error("inconsistency in ABI events definition.");c&&(i=[i[i.length-1]]);const d=i.pop();let h={[Ce(pr(hr(d)).toString(16))]:o};for(;i.length>0;)h={[Ce(pr(hr(i.pop())).toString(16))]:h};return h={...h},Hk(a,h)},{})}function Uk(e){return tf(e)?vI(e):_I(e)}function Hk(e,t){const n={...e};return kn(e)&&kn(t)&&Object.keys(t).forEach(r=>{kn(t[r])?r in e?n[r]=Hk(e[r],t[r]):Object.assign(n,{[r]:t[r]}):Object.assign(n,{[r]:t[r]})}),n}function Lk(e,t,n,r){return e.flat().reduce((o,i)=>{var l,g;let s=t[i.keys.shift()??0];if(!s)return o;for(;!s.name;){const b=i.keys.shift();be(!!b,'Not enough data in "keys" property of this event.'),s=s[b]}const c={};c[s.name]={};const u=i.keys[Symbol.iterator](),d=i.data[Symbol.iterator](),h=((l=s.members)==null?void 0:l.filter(b=>b.kind==="key"))||s.keys,f=((g=s.members)==null?void 0:g.filter(b=>b.kind==="data"))||s.data;return h.forEach(b=>{c[s.name][b.name]=ps(u,b,n,r,c[s.name])}),f.forEach(b=>{c[s.name][b.name]=ps(d,b,n,r,c[s.name])}),"block_hash"in i&&(c.block_hash=i.block_hash),"block_number"in i&&(c.block_number=i.block_number),"transaction_hash"in i&&(c.transaction_hash=i.transaction_hash),o.push(c),o},[])}function EI(e){var n;if(!((n=e.events)!=null&&n.length))throw new Error("UDC emitted event is empty");const t=e.events.find(r=>Uo(r.from_address)===Uo(ko.ADDRESS))||{data:[]};return{transaction_hash:e.transaction_hash,contract_address:t.data[0],address:t.data[0],deployer:t.data[1],unique:t.data[2],classHash:t.data[3],calldata_len:t.data[4],calldata:t.data.slice(5,5+parseInt(t.data[4],16)),salt:t.data[t.data.length-1]}}var AI={};Oe(AI,{buildExecuteFromOutsideCall:()=>jI,buildExecuteFromOutsideCallData:()=>Fk,getOutsideCall:()=>Dk,getTypedData:()=>SI});function Dk(e){const t=e.calldata??[],n=Array.isArray(t)?t:xe.compile(t);return{to:e.contractAddress,selector:Ke(e.entrypoint),calldata:n}}function Cm(e,t){const n=Dk(e);return t==="1"?{...n,calldata_len:n.calldata.length,calldata:n.calldata}:{To:n.to,Selector:n.selector,Calldata:n.calldata}}function Om(e,t){return{name:"Account.execute_from_outside",version:t,chainId:e,...t==="2"?{revision:"1"}:{}}}function SI(e,t,n,r,a){return a==="1"?{types:kw,primaryType:"OutsideExecution",domain:Om(e,a),message:{...t,nonce:n,calls_len:r.length,calls:r.map(o=>Cm(o,a))}}:{types:_w,primaryType:"OutsideExecution",domain:Om(e,a),message:{Caller:t.caller,Nonce:n,"Execute After":t.execute_after,"Execute Before":t.execute_before,Calls:r.map(o=>Cm(o,a))}}}function Fk(e){const t=e.outsideExecution,n=ui(e.signature);return xe.compile({outside_execution:t,signature:n})}function jI(e){return(Array.isArray(e)?e:[e]).map(r=>{let a;if(r.version==="1")a="execute_from_outside";else if(r.version==="2")a="execute_from_outside_v2";else throw new Error("Unsupported OutsideExecution version");return{contractAddress:ee(r.signerAddress),entrypoint:a,calldata:Fk(r)}})}var xI={};Oe(xI,{supportsInterface:()=>TI});async function TI(e,t,n){const r={contractAddress:ee(t),entrypoint:"supports_interface",calldata:[ee(n)]};try{const a=await e.callContract(r);return BigInt(a[0])!==0n}catch{return!1}}var II={};Oe(II,{addDeclareTransaction:()=>HI,addInvokeTransaction:()=>UI,addStarknetChain:()=>zI,deploymentData:()=>NI,getPermissions:()=>OI,onAccountChange:()=>FI,onNetworkChanged:()=>MI,requestAccounts:()=>CI,requestChainId:()=>RI,signMessage:()=>LI,supportedSpecs:()=>DI,switchStarknetChain:()=>PI,watchAsset:()=>BI});function CI(e,t=!1){return e.request({type:"wallet_requestAccounts",params:{silent_mode:t}})}function OI(e){return e.request({type:"wallet_getPermissions"})}function BI(e,t){return e.request({type:"wallet_watchAsset",params:t})}function zI(e,t){return e.request({type:"wallet_addStarknetChain",params:t})}function PI(e,t){return e.request({type:"wallet_switchStarknetChain",params:{chainId:t}})}function RI(e){return e.request({type:"wallet_requestChainId"})}function NI(e){return e.request({type:"wallet_deploymentData"})}function UI(e,t){return e.request({type:"wallet_addInvokeTransaction",params:t})}function HI(e,t){return e.request({type:"wallet_addDeclareTransaction",params:t})}function LI(e,t){return e.request({type:"wallet_signTypedData",params:t})}function DI(e){return e.request({type:"wallet_supportedSpecs"})}function FI(e,t){e.on("accountsChanged",t)}function MI(e,t){e.on("networkChanged",t)}var Mk=e=>{const t=["blockIdentifier","parseRequest","parseResponse","formatResponse","maxFee","nonce","signature","addressSalt"],n=e[e.length-1];return typeof n=="object"&&t.some(r=>r in n)?{args:e,options:e.pop()}:{args:e}};function qk(e,t){return async function(...n){const r=Mk(n);return e.call(t.name,r.args,{parseRequest:!0,parseResponse:!0,...r.options})}}function qI(e,t){return async function(...n){const r=Mk(n);return e.invoke(t.name,r.args,{parseRequest:!0,...r.options})}}function Bm(e,t){return t.stateMutability==="view"||t.state_mutability==="view"?qk(e,t):qI(e,t)}function VI(e,t){return function(...n){return e.populate(t.name,n)}}function $I(e,t){return function(...n){return e.estimate(t.name,n)}}function Oi(e,t){return Array.isArray(e)&&"__compiled__"in e?e:Array.isArray(e)&&Array.isArray(e[0])&&"__compiled__"in e[0]?e[0]:t()}var GI=class{constructor(e,t,n=gI){ie(this,"abi");ie(this,"address");ie(this,"providerOrAccount");ie(this,"deployTransactionHash");ie(this,"structs");ie(this,"events");ie(this,"functions");ie(this,"callStatic");ie(this,"populateTransaction");ie(this,"estimateFee");ie(this,"callData");this.address=t&&t.toLowerCase(),this.providerOrAccount=n,this.callData=new xe(e),this.structs=xe.getAbiStruct(e),this.events=Uk(e);const r=Lw(e);this.abi=r.getLegacyFormat();const a={enumerable:!0,value:{},writable:!1};Object.defineProperties(this,{functions:{enumerable:!0,value:{},writable:!1},callStatic:{enumerable:!0,value:{},writable:!1},populateTransaction:{enumerable:!0,value:{},writable:!1},estimateFee:{enumerable:!0,value:{},writable:!1}}),this.abi.forEach(o=>{if(o.type!=="function")return;const i=o.name;this[i]||Object.defineProperty(this,i,{...a,value:Bm(this,o)}),this.functions[i]||Object.defineProperty(this.functions,i,{...a,value:Bm(this,o)}),this.callStatic[i]||Object.defineProperty(this.callStatic,i,{...a,value:qk(this,o)}),this.populateTransaction[i]||Object.defineProperty(this.populateTransaction,i,{...a,value:VI(this,o)}),this.estimateFee[i]||Object.defineProperty(this.estimateFee,i,{...a,value:$I(this,o)})})}attach(e){this.address=e}connect(e){this.providerOrAccount=e}async deployed(){return this.deployTransactionHash&&(await this.providerOrAccount.waitForTransaction(this.deployTransactionHash),this.deployTransactionHash=void 0),this}async call(e,t=[],{parseRequest:n=!0,parseResponse:r=!0,formatResponse:a=void 0,blockIdentifier:o=void 0}={}){be(this.address!==null,"contract is not connected to an address");const i=Oi(t,()=>n?(this.callData.validate(or.CALL,e,t),this.callData.compile(e,t)):(xt.warn("Call skipped parsing but provided rawArgs, possible malfunction request"),t));return this.providerOrAccount.callContract({contractAddress:this.address,calldata:i,entrypoint:e},o).then(s=>r?a?this.callData.format(e,s,a):this.callData.parse(e,s):s)}invoke(e,t=[],{parseRequest:n=!0,maxFee:r,nonce:a,signature:o}={}){be(this.address!==null,"contract is not connected to an address");const i=Oi(t,()=>n?(this.callData.validate(or.INVOKE,e,t),this.callData.compile(e,t)):(xt.warn("Invoke skipped parsing but provided rawArgs, possible malfunction request"),t)),s={contractAddress:this.address,calldata:i,entrypoint:e};if("execute"in this.providerOrAccount)return this.providerOrAccount.execute(s,void 0,{maxFee:r,nonce:a});if(!a)throw new Error("Nonce is required when invoking a function without an account");return xt.warn(`Invoking ${e} without an account. This will not work on a public node.`),this.providerOrAccount.invokeFunction({...s,signature:o},{nonce:a})}async estimate(e,t=[]){be(this.address!==null,"contract is not connected to an address"),Oi(t,()=>!1)||this.callData.validate(or.INVOKE,e,t);const n=this.populate(e,t);if("estimateInvokeFee"in this.providerOrAccount)return this.providerOrAccount.estimateInvokeFee(n);throw Error("Contract must be connected to the account contract to estimate")}populate(e,t=[]){const n=Oi(t,()=>this.callData.compile(e,t));return{contractAddress:this.address,entrypoint:e,calldata:n}}parseEvents(e){let t;return e.match({success:n=>{var a;const r=((a=n.events)==null?void 0:a.map(o=>({block_hash:n.block_hash,block_number:n.block_number,transaction_hash:n.transaction_hash,...o})).filter(o=>Uo(o.from_address)===Uo(this.address),[]))||[];t=Lk(r,this.events,this.structs,xe.getAbiEnum(this.abi))},_:()=>{throw Error("This transaction was not successful.")}}),t}isCairo1(){return Rw.isCairo1Abi(this.abi)}async getVersion(){return this.providerOrAccount.getContractVersion(this.address)}typedv2(e){return this}};const KI="0x534e5f4d41494e",WI="0x534e5f5345504f4c4941";function gf(e){const n=`0x04${BigInt(e).toString(16).padStart(64,"0").slice(2)}`;return Hr(n).toFixed(0)}const _e={SN_MAIN:KI,SN_SEPOLIA:WI};var Vk=(e=>(e.Mainnet="starknet:mainnet",e.Sepolia="starknet:sepolia",e))(Vk||{});function XI(e){if(typeof e=="string")return e;if((n=>n===null||typeof n!="object"||!("data"in n)||n.data===null||typeof n.data!="object"||!("message"in n.data)?!1:typeof n.data.message=="string")(e))return e.data.message;if(e instanceof Error)return"isAxiosError"in e&&e.isAxiosError?ZI(e):e.message;if(e!==null&&typeof e=="object"){if("message"in e&&typeof e.message=="string")return e.message;try{return JSON.stringify(e)}catch{return"Unknown error object"}}return"Unknown error"}function ZI(e){if(e.response){const t=e.response.data;if(t&&typeof t=="object"){if("message"in t&&t.message&&typeof t.message=="string")return t.message;try{return JSON.stringify(t)}catch{return"Error in API response"}}return`HTTP error ${e.response.status}: ${e.response.statusText}`}return e.message?e.message:"Network error"}class En extends Error{constructor(n,r,a){super(n);ie(this,"cause");this.code=r,this.name="StarknetSdkError",a!=null&&a.cause&&(this.cause=a.cause)}static wrap(n,r="UNKNOWN_ERROR",a="Unknown error occurred."){if(n instanceof En)return n;const o=XI(n),i=n instanceof Error?{cause:n}:void 0;return new En(o||a,r,i)}}const YI=e=>new En(`Could not determine the RPC provider for given chain: ${e||"undefined"}`,"NO_PROVIDER"),JI=e=>new En(`Could not retrieve the token information for given token: ${e||"undefined"}`,"NO_TOKEN"),QI=(e,t)=>new En(`Could not retrieve pubKey for ${e} on ${t}`,"NO_PUBKEY"),e3=()=>new En("Unknown signature format, known formats are [r, s], [version, r, s], [version, type, r, s, ...]","UNKNOWN_SIGNATURE_FORMAT"),t3=()=>new En("The output script for provided BTC address is invalid","UNEXPECTED_OUTPUT_SCRIPT"),n3=e=>new En(`The wallet ${e||""} is not supported`,"UNSUPPORTED_WALLET"),r3=(e,t)=>{const n=e==="0x534e5f4d41494e"?"Starknet Mainnet":e==="0x534e5f5345504f4c4941"?"Starknet Sepolia":`unknown chain (${e})`,r=t==="prod"?"Starknet Mainnet":"Starknet Sepolia";return new En(`Wallet network mismatch: Your wallet is connected to ${n}, but the SDK is configured for ${r}. Please switch your wallet to ${r}.`,"CHAIN_MISMATCH")},a3={[_e.SN_MAIN]:"https://rpc.starknet.lava.build:443",[_e.SN_SEPOLIA]:"https://starknet-sepolia.drpc.org"},zm=new Map,gr=(e=_e.SN_MAIN)=>{let t=zm.get(e);return t||(t=new mI({nodeUrl:a3[e]}),zm.set(e,t)),t},gs=[{name:"LockingContract",type:"impl",interface_name:"src::mintable_lock_interface::ILockingContract"},{name:"src::mintable_lock_interface::ILockingContract",type:"interface",items:[{name:"set_locking_contract",type:"function",inputs:[{name:"locking_contract",type:"core::starknet::contract_address::ContractAddress"}],outputs:[],state_mutability:"external"},{name:"get_locking_contract",type:"function",inputs:[],outputs:[{type:"core::starknet::contract_address::ContractAddress"}],state_mutability:"view"}]},{name:"LockAndDelegate",type:"impl",interface_name:"src::mintable_lock_interface::ILockAndDelegate"},{name:"core::integer::u256",type:"struct",members:[{name:"low",type:"core::integer::u128"},{name:"high",type:"core::integer::u128"}]},{name:"src::mintable_lock_interface::ILockAndDelegate",type:"interface",items:[{name:"lock_and_delegate",type:"function",inputs:[{name:"delegatee",type:"core::starknet::contract_address::ContractAddress"},{name:"amount",type:"core::integer::u256"}],outputs:[],state_mutability:"external"},{name:"lock_and_delegate_by_sig",type:"function",inputs:[{name:"account",type:"core::starknet::contract_address::ContractAddress"},{name:"delegatee",type:"core::starknet::contract_address::ContractAddress"},{name:"amount",type:"core::integer::u256"},{name:"nonce",type:"core::felt252"},{name:"expiry",type:"core::integer::u64"},{name:"signature",type:"core::array::Array::<core::felt252>"}],outputs:[],state_mutability:"external"}]},{name:"MintableToken",type:"impl",interface_name:"src::mintable_token_interface::IMintableToken"},{name:"src::mintable_token_interface::IMintableToken",type:"interface",items:[{name:"permissioned_mint",type:"function",inputs:[{name:"account",type:"core::starknet::contract_address::ContractAddress"},{name:"amount",type:"core::integer::u256"}],outputs:[],state_mutability:"external"},{name:"permissioned_burn",type:"function",inputs:[{name:"account",type:"core::starknet::contract_address::ContractAddress"},{name:"amount",type:"core::integer::u256"}],outputs:[],state_mutability:"external"}]},{name:"MintableTokenCamelImpl",type:"impl",interface_name:"src::mintable_token_interface::IMintableTokenCamel"},{name:"src::mintable_token_interface::IMintableTokenCamel",type:"interface",items:[{name:"permissionedMint",type:"function",inputs:[{name:"account",type:"core::starknet::contract_address::ContractAddress"},{name:"amount",type:"core::integer::u256"}],outputs:[],state_mutability:"external"},{name:"permissionedBurn",type:"function",inputs:[{name:"account",type:"core::starknet::contract_address::ContractAddress"},{name:"amount",type:"core::integer::u256"}],outputs:[],state_mutability:"external"}]},{name:"Replaceable",type:"impl",interface_name:"src::replaceability_interface::IReplaceable"},{name:"core::array::Span::<core::felt252>",type:"struct",members:[{name:"snapshot",type:"@core::array::Array::<core::felt252>"}]},{name:"src::replaceability_interface::EICData",type:"struct",members:[{name:"eic_hash",type:"core::starknet::class_hash::ClassHash"},{name:"eic_init_data",type:"core::array::Span::<core::felt252>"}]},{name:"core::option::Option::<src::replaceability_interface::EICData>",type:"enum",variants:[{name:"Some",type:"src::replaceability_interface::EICData"},{name:"None",type:"()"}]},{name:"core::bool",type:"enum",variants:[{name:"False",type:"()"},{name:"True",type:"()"}]},{name:"src::replaceability_interface::ImplementationData",type:"struct",members:[{name:"impl_hash",type:"core::starknet::class_hash::ClassHash"},{name:"eic_data",type:"core::option::Option::<src::replaceability_interface::EICData>"},{name:"final",type:"core::bool"}]},{name:"src::replaceability_interface::IReplaceable",type:"interface",items:[{name:"get_upgrade_delay",type:"function",inputs:[],outputs:[{type:"core::integer::u64"}],state_mutability:"view"},{name:"get_impl_activation_time",type:"function",inputs:[{name:"implementation_data",type:"src::replaceability_interface::ImplementationData"}],outputs:[{type:"core::integer::u64"}],state_mutability:"view"},{name:"add_new_implementation",type:"function",inputs:[{name:"implementation_data",type:"src::replaceability_interface::ImplementationData"}],outputs:[],state_mutability:"external"},{name:"remove_implementation",type:"function",inputs:[{name:"implementation_data",type:"src::replaceability_interface::ImplementationData"}],outputs:[],state_mutability:"external"},{name:"replace_to",type:"function",inputs:[{name:"implementation_data",type:"src::replaceability_interface::ImplementationData"}],outputs:[],state_mutability:"external"}]},{name:"AccessControlImplExternal",type:"impl",interface_name:"src::access_control_interface::IAccessControl"},{name:"src::access_control_interface::IAccessControl",type:"interface",items:[{name:"has_role",type:"function",inputs:[{name:"role",type:"core::felt252"},{name:"account",type:"core::starknet::contract_address::ContractAddress"}],outputs:[{type:"core::bool"}],state_mutability:"view"},{name:"get_role_admin",type:"function",inputs:[{name:"role",type:"core::felt252"}],outputs:[{type:"core::felt252"}],state_mutability:"view"}]},{name:"RolesImpl",type:"impl",interface_name:"src::roles_interface::IMinimalRoles"},{name:"src::roles_interface::IMinimalRoles",type:"interface",items:[{name:"is_governance_admin",type:"function",inputs:[{name:"account",type:"core::starknet::contract_address::ContractAddress"}],outputs:[{type:"core::bool"}],state_mutability:"view"},{name:"is_upgrade_governor",type:"function",inputs:[{name:"account",type:"core::starknet::contract_address::ContractAddress"}],outputs:[{type:"core::bool"}],state_mutability:"view"},{name:"register_governance_admin",type:"function",inputs:[{name:"account",type:"core::starknet::contract_address::ContractAddress"}],outputs:[],state_mutability:"external"},{name:"remove_governance_admin",type:"function",inputs:[{name:"account",type:"core::starknet::contract_address::ContractAddress"}],outputs:[],state_mutability:"external"},{name:"register_upgrade_governor",type:"function",inputs:[{name:"account",type:"core::starknet::contract_address::ContractAddress"}],outputs:[],state_mutability:"external"},{name:"remove_upgrade_governor",type:"function",inputs:[{name:"account",type:"core::starknet::contract_address::ContractAddress"}],outputs:[],state_mutability:"external"},{name:"renounce",type:"function",inputs:[{name:"role",type:"core::felt252"}],outputs:[],state_mutability:"external"}]},{name:"ERC20Impl",type:"impl",interface_name:"openzeppelin::token::erc20::interface::IERC20"},{name:"openzeppelin::token::erc20::interface::IERC20",type:"interface",items:[{name:"name",type:"function",inputs:[],outputs:[{type:"core::felt252"}],state_mutability:"view"},{name:"symbol",type:"function",inputs:[],outputs:[{type:"core::felt252"}],state_mutability:"view"},{name:"decimals",type:"function",inputs:[],outputs:[{type:"core::integer::u8"}],state_mutability:"view"},{name:"total_supply",type:"function",inputs:[],outputs:[{type:"core::integer::u256"}],state_mutability:"view"},{name:"balance_of",type:"function",inputs:[{name:"account",type:"core::starknet::contract_address::ContractAddress"}],outputs:[{type:"core::integer::u256"}],state_mutability:"view"},{name:"allowance",type:"function",inputs:[{name:"owner",type:"core::starknet::contract_address::ContractAddress"},{name:"spender",type:"core::starknet::contract_address::ContractAddress"}],outputs:[{type:"core::integer::u256"}],state_mutability:"view"},{name:"transfer",type:"function",inputs:[{name:"recipient",type:"core::starknet::contract_address::ContractAddress"},{name:"amount",type:"core::integer::u256"}],outputs:[{type:"core::bool"}],state_mutability:"external"},{name:"transfer_from",type:"function",inputs:[{name:"sender",type:"core::starknet::contract_address::ContractAddress"},{name:"recipient",type:"core::starknet::contract_address::ContractAddress"},{name:"amount",type:"core::integer::u256"}],outputs:[{type:"core::bool"}],state_mutability:"external"},{name:"approve",type:"function",inputs:[{name:"spender",type:"core::starknet::contract_address::ContractAddress"},{name:"amount",type:"core::integer::u256"}],outputs:[{type:"core::bool"}],state_mutability:"external"}]},{name:"ERC20CamelOnlyImpl",type:"impl",interface_name:"openzeppelin::token::erc20::interface::IERC20CamelOnly"},{name:"openzeppelin::token::erc20::interface::IERC20CamelOnly",type:"interface",items:[{name:"totalSupply",type:"function",inputs:[],outputs:[{type:"core::integer::u256"}],state_mutability:"view"},{name:"balanceOf",type:"function",inputs:[{name:"account",type:"core::starknet::contract_address::ContractAddress"}],outputs:[{type:"core::integer::u256"}],state_mutability:"view"},{name:"transferFrom",type:"function",inputs:[{name:"sender",type:"core::starknet::contract_address::ContractAddress"},{name:"recipient",type:"core::starknet::contract_address::ContractAddress"},{name:"amount",type:"core::integer::u256"}],outputs:[{type:"core::bool"}],state_mutability:"external"}]},{name:"constructor",type:"constructor",inputs:[{name:"name",type:"core::felt252"},{name:"symbol",type:"core::felt252"},{name:"decimals",type:"core::integer::u8"},{name:"initial_supply",type:"core::integer::u256"},{name:"recipient",type:"core::starknet::contract_address::ContractAddress"},{name:"permitted_minter",type:"core::starknet::contract_address::ContractAddress"},{name:"provisional_governance_admin",type:"core::starknet::contract_address::ContractAddress"},{name:"upgrade_delay",type:"core::integer::u64"}]},{name:"increase_allowance",type:"function",inputs:[{name:"spender",type:"core::starknet::contract_address::ContractAddress"},{name:"added_value",type:"core::integer::u256"}],outputs:[{type:"core::bool"}],state_mutability:"external"},{name:"decrease_allowance",type:"function",inputs:[{name:"spender",type:"core::starknet::contract_address::ContractAddress"},{name:"subtracted_value",type:"core::integer::u256"}],outputs:[{type:"core::bool"}],state_mutability:"external"},{name:"increaseAllowance",type:"function",inputs:[{name:"spender",type:"core::starknet::contract_address::ContractAddress"},{name:"addedValue",type:"core::integer::u256"}],outputs:[{type:"core::bool"}],state_mutability:"external"},{name:"decreaseAllowance",type:"function",inputs:[{name:"spender",type:"core::starknet::contract_address::ContractAddress"},{name:"subtractedValue",type:"core::integer::u256"}],outputs:[{type:"core::bool"}],state_mutability:"external"},{kind:"struct",name:"src::strk::erc20_lockable::ERC20Lockable::Transfer",type:"event",members:[{kind:"data",name:"from",type:"core::starknet::contract_address::ContractAddress"},{kind:"data",name:"to",type:"core::starknet::contract_address::ContractAddress"},{kind:"data",name:"value",type:"core::integer::u256"}]},{kind:"struct",name:"src::strk::erc20_lockable::ERC20Lockable::Approval",type:"event",members:[{kind:"data",name:"owner",type:"core::starknet::contract_address::ContractAddress"},{kind:"data",name:"spender",type:"core::starknet::contract_address::ContractAddress"},{kind:"data",name:"value",type:"core::integer::u256"}]},{kind:"struct",name:"src::replaceability_interface::ImplementationAdded",type:"event",members:[{kind:"data",name:"implementation_data",type:"src::replaceability_interface::ImplementationData"}]},{kind:"struct",name:"src::replaceability_interface::ImplementationRemoved",type:"event",members:[{kind:"data",name:"implementation_data",type:"src::replaceability_interface::ImplementationData"}]},{kind:"struct",name:"src::replaceability_interface::ImplementationReplaced",type:"event",members:[{kind:"data",name:"implementation_data",type:"src::replaceability_interface::ImplementationData"}]},{kind:"struct",name:"src::replaceability_interface::ImplementationFinalized",type:"event",members:[{kind:"data",name:"impl_hash",type:"core::starknet::class_hash::ClassHash"}]},{kind:"struct",name:"src::access_control_interface::RoleGranted",type:"event",members:[{kind:"data",name:"role",type:"core::felt252"},{kind:"data",name:"account",type:"core::starknet::contract_address::ContractAddress"},{kind:"data",name:"sender",type:"core::starknet::contract_address::ContractAddress"}]},{kind:"struct",name:"src::access_control_interface::RoleRevoked",type:"event",members:[{kind:"data",name:"role",type:"core::felt252"},{kind:"data",name:"account",type:"core::starknet::contract_address::ContractAddress"},{kind:"data",name:"sender",type:"core::starknet::contract_address::ContractAddress"}]},{kind:"struct",name:"src::access_control_interface::RoleAdminChanged",type:"event",members:[{kind:"data",name:"role",type:"core::felt252"},{kind:"data",name:"previous_admin_role",type:"core::felt252"},{kind:"data",name:"new_admin_role",type:"core::felt252"}]},{kind:"struct",name:"src::roles_interface::GovernanceAdminAdded",type:"event",members:[{kind:"data",name:"added_account",type:"core::starknet::contract_address::ContractAddress"},{kind:"data",name:"added_by",type:"core::starknet::contract_address::ContractAddress"}]},{kind:"struct",name:"src::roles_interface::GovernanceAdminRemoved",type:"event",members:[{kind:"data",name:"removed_account",type:"core::starknet::contract_address::ContractAddress"},{kind:"data",name:"removed_by",type:"core::starknet::contract_address::ContractAddress"}]},{kind:"struct",name:"src::roles_interface::UpgradeGovernorAdded",type:"event",members:[{kind:"data",name:"added_account",type:"core::starknet::contract_address::ContractAddress"},{kind:"data",name:"added_by",type:"core::starknet::contract_address::ContractAddress"}]},{kind:"struct",name:"src::roles_interface::UpgradeGovernorRemoved",type:"event",members:[{kind:"data",name:"removed_account",type:"core::starknet::contract_address::ContractAddress"},{kind:"data",name:"removed_by",type:"core::starknet::contract_address::ContractAddress"}]},{kind:"enum",name:"src::strk::erc20_lockable::ERC20Lockable::Event",type:"event",variants:[{kind:"nested",name:"Transfer",type:"src::strk::erc20_lockable::ERC20Lockable::Transfer"},{kind:"nested",name:"Approval",type:"src::strk::erc20_lockable::ERC20Lockable::Approval"},{kind:"nested",name:"ImplementationAdded",type:"src::replaceability_interface::ImplementationAdded"},{kind:"nested",name:"ImplementationRemoved",type:"src::replaceability_interface::ImplementationRemoved"},{kind:"nested",name:"ImplementationReplaced",type:"src::replaceability_interface::ImplementationReplaced"},{kind:"nested",name:"ImplementationFinalized",type:"src::replaceability_interface::ImplementationFinalized"},{kind:"nested",name:"RoleGranted",type:"src::access_control_interface::RoleGranted"},{kind:"nested",name:"RoleRevoked",type:"src::access_control_interface::RoleRevoked"},{kind:"nested",name:"RoleAdminChanged",type:"src::access_control_interface::RoleAdminChanged"},{kind:"nested",name:"GovernanceAdminAdded",type:"src::roles_interface::GovernanceAdminAdded"},{kind:"nested",name:"GovernanceAdminRemoved",type:"src::roles_interface::GovernanceAdminRemoved"},{kind:"nested",name:"UpgradeGovernorAdded",type:"src::roles_interface::UpgradeGovernorAdded"},{kind:"nested",name:"UpgradeGovernorRemoved",type:"src::roles_interface::UpgradeGovernorRemoved"}]}],Bi=[{name:"MintableTokenImpl",type:"impl",interface_name:"starkware_utils::interfaces::mintable_token::IMintableToken"},{name:"core::integer::u256",type:"struct",members:[{name:"low",type:"core::integer::u128"},{name:"high",type:"core::integer::u128"}]},{name:"core::bool",type:"enum",variants:[{name:"False",type:"()"},{name:"True",type:"()"}]},{name:"starkware_utils::interfaces::mintable_token::IMintableToken",type:"interface",items:[{name:"permissioned_mint",type:"function",inputs:[{name:"account",type:"core::starknet::contract_address::ContractAddress"},{name:"amount",type:"core::integer::u256"}],outputs:[],state_mutability:"external"},{name:"permissioned_burn",type:"function",inputs:[{name:"account",type:"core::starknet::contract_address::ContractAddress"},{name:"amount",type:"core::integer::u256"}],outputs:[],state_mutability:"external"},{name:"is_permitted_minter",type:"function",inputs:[{name:"account",type:"core::starknet::contract_address::ContractAddress"}],outputs:[{type:"core::bool"}],state_mutability:"view"}]},{name:"ERC20Impl",type:"impl",interface_name:"openzeppelin_token::erc20::interface::IERC20"},{name:"openzeppelin_token::erc20::interface::IERC20",type:"interface",items:[{name:"total_supply",type:"function",inputs:[],outputs:[{type:"core::integer::u256"}],state_mutability:"view"},{name:"balance_of",type:"function",inputs:[{name:"account",type:"core::starknet::contract_address::ContractAddress"}],outputs:[{type:"core::integer::u256"}],state_mutability:"view"},{name:"allowance",type:"function",inputs:[{name:"owner",type:"core::starknet::contract_address::ContractAddress"},{name:"spender",type:"core::starknet::contract_address::ContractAddress"}],outputs:[{type:"core::integer::u256"}],state_mutability:"view"},{name:"transfer",type:"function",inputs:[{name:"recipient",type:"core::starknet::contract_address::ContractAddress"},{name:"amount",type:"core::integer::u256"}],outputs:[{type:"core::bool"}],state_mutability:"external"},{name:"transfer_from",type:"function",inputs:[{name:"sender",type:"core::starknet::contract_address::ContractAddress"},{name:"recipient",type:"core::starknet::contract_address::ContractAddress"},{name:"amount",type:"core::integer::u256"}],outputs:[{type:"core::bool"}],state_mutability:"external"},{name:"approve",type:"function",inputs:[{name:"spender",type:"core::starknet::contract_address::ContractAddress"},{name:"amount",type:"core::integer::u256"}],outputs:[{type:"core::bool"}],state_mutability:"external"}]},{name:"ReplaceabilityImpl",type:"impl",interface_name:"starkware_utils::components::replaceability::interface::IReplaceable"},{name:"core::array::Span::<core::felt252>",type:"struct",members:[{name:"snapshot",type:"@core::array::Array::<core::felt252>"}]},{name:"starkware_utils::components::replaceability::interface::EICData",type:"struct",members:[{name:"eic_hash",type:"core::starknet::class_hash::ClassHash"},{name:"eic_init_data",type:"core::array::Span::<core::felt252>"}]},{name:"core::option::Option::<starkware_utils::components::replaceability::interface::EICData>",type:"enum",variants:[{name:"Some",type:"starkware_utils::components::replaceability::interface::EICData"},{name:"None",type:"()"}]},{name:"starkware_utils::components::replaceability::interface::ImplementationData",type:"struct",members:[{name:"impl_hash",type:"core::starknet::class_hash::ClassHash"},{name:"eic_data",type:"core::option::Option::<starkware_utils::components::replaceability::interface::EICData>"},{name:"final",type:"core::bool"}]},{name:"starkware_utils::components::replaceability::interface::IReplaceable",type:"interface",items:[{name:"get_upgrade_delay",type:"function",inputs:[],outputs:[{type:"core::integer::u64"}],state_mutability:"view"},{name:"get_impl_activation_time",type:"function",inputs:[{name:"implementation_data",type:"starkware_utils::components::replaceability::interface::ImplementationData"}],outputs:[{type:"core::integer::u64"}],state_mutability:"view"},{name:"add_new_implementation",type:"function",inputs:[{name:"implementation_data",type:"starkware_utils::components::replaceability::interface::ImplementationData"}],outputs:[],state_mutability:"external"},{name:"remove_implementation",type:"function",inputs:[{name:"implementation_data",type:"starkware_utils::components::replaceability::interface::ImplementationData"}],outputs:[],state_mutability:"external"},{name:"replace_to",type:"function",inputs:[{name:"implementation_data",type:"starkware_utils::components::replaceability::interface::ImplementationData"}],outputs:[],state_mutability:"external"}]},{name:"RolesImpl",type:"impl",interface_name:"starkware_utils::components::roles::interface::IRoles"},{name:"starkware_utils::components::roles::interface::IRoles",type:"interface",items:[{name:"is_app_governor",type:"function",inputs:[{name:"account",type:"core::starknet::contract_address::ContractAddress"}],outputs:[{type:"core::bool"}],state_mutability:"view"},{name:"is_app_role_admin",type:"function",inputs:[{name:"account",type:"core::starknet::contract_address::ContractAddress"}],outputs:[{type:"core::bool"}],state_mutability:"view"},{name:"is_governance_admin",type:"function",inputs:[{name:"account",type:"core::starknet::contract_address::ContractAddress"}],outputs:[{type:"core::bool"}],state_mutability:"view"},{name:"is_operator",type:"function",inputs:[{name:"account",type:"core::starknet::contract_address::ContractAddress"}],outputs:[{type:"core::bool"}],state_mutability:"view"},{name:"is_token_admin",type:"function",inputs:[{name:"account",type:"core::starknet::contract_address::ContractAddress"}],outputs:[{type:"core::bool"}],state_mutability:"view"},{name:"is_upgrade_governor",type:"function",inputs:[{name:"account",type:"core::starknet::contract_address::ContractAddress"}],outputs:[{type:"core::bool"}],state_mutability:"view"},{name:"is_security_admin",type:"function",inputs:[{name:"account",type:"core::starknet::contract_address::ContractAddress"}],outputs:[{type:"core::bool"}],state_mutability:"view"},{name:"is_security_agent",type:"function",inputs:[{name:"account",type:"core::starknet::contract_address::ContractAddress"}],outputs:[{type:"core::bool"}],state_mutability:"view"},{name:"register_app_governor",type:"function",inputs:[{name:"account",type:"core::starknet::contract_address::ContractAddress"}],outputs:[],state_mutability:"external"},{name:"remove_app_governor",type:"function",inputs:[{name:"account",type:"core::starknet::contract_address::ContractAddress"}],outputs:[],state_mutability:"external"},{name:"register_app_role_admin",type:"function",inputs:[{name:"account",type:"core::starknet::contract_address::ContractAddress"}],outputs:[],state_mutability:"external"},{name:"remove_app_role_admin",type:"function",inputs:[{name:"account",type:"core::starknet::contract_address::ContractAddress"}],outputs:[],state_mutability:"external"},{name:"register_governance_admin",type:"function",inputs:[{name:"account",type:"core::starknet::contract_address::ContractAddress"}],outputs:[],state_mutability:"external"},{name:"remove_governance_admin",type:"function",inputs:[{name:"account",type:"core::starknet::contract_address::ContractAddress"}],outputs:[],state_mutability:"external"},{name:"register_operator",type:"function",inputs:[{name:"account",type:"core::starknet::contract_address::ContractAddress"}],outputs:[],state_mutability:"external"},{name:"remove_operator",type:"function",inputs:[{name:"account",type:"core::starknet::contract_address::ContractAddress"}],outputs:[],state_mutability:"external"},{name:"register_token_admin",type:"function",inputs:[{name:"account",type:"core::starknet::contract_address::ContractAddress"}],outputs:[],state_mutability:"external"},{name:"remove_token_admin",type:"function",inputs:[{name:"account",type:"core::starknet::contract_address::ContractAddress"}],outputs:[],state_mutability:"external"},{name:"register_upgrade_governor",type:"function",inputs:[{name:"account",type:"core::starknet::contract_address::ContractAddress"}],outputs:[],state_mutability:"external"},{name:"remove_upgrade_governor",type:"function",inputs:[{name:"account",type:"core::starknet::contract_address::ContractAddress"}],outputs:[],state_mutability:"external"},{name:"renounce",type:"function",inputs:[{name:"role",type:"core::felt252"}],outputs:[],state_mutability:"external"},{name:"register_security_admin",type:"function",inputs:[{name:"account",type:"core::starknet::contract_address::ContractAddress"}],outputs:[],state_mutability:"external"},{name:"remove_security_admin",type:"function",inputs:[{name:"account",type:"core::starknet::contract_address::ContractAddress"}],outputs:[],state_mutability:"external"},{name:"register_security_agent",type:"function",inputs:[{name:"account",type:"core::starknet::contract_address::ContractAddress"}],outputs:[],state_mutability:"external"},{name:"remove_security_agent",type:"function",inputs:[{name:"account",type:"core::starknet::contract_address::ContractAddress"}],outputs:[],state_mutability:"external"}]},{name:"PausableImpl",type:"impl",interface_name:"starkware_utils::components::pausable::interface::IPausable"},{name:"starkware_utils::components::pausable::interface::IPausable",type:"interface",items:[{name:"is_paused",type:"function",inputs:[],outputs:[{type:"core::bool"}],state_mutability:"view"},{name:"pause",type:"function",inputs:[],outputs:[],state_mutability:"external"},{name:"unpause",type:"function",inputs:[],outputs:[],state_mutability:"external"}]},{name:"ERC20MetadataImpl",type:"impl",interface_name:"openzeppelin_token::erc20::interface::IERC20Metadata"},{name:"core::byte_array::ByteArray",type:"struct",members:[{name:"data",type:"core::array::Array::<core::bytes_31::bytes31>"},{name:"pending_word",type:"core::felt252"},{name:"pending_word_len",type:"core::integer::u32"}]},{name:"openzeppelin_token::erc20::interface::IERC20Metadata",type:"interface",items:[{name:"name",type:"function",inputs:[],outputs:[{type:"core::byte_array::ByteArray"}],state_mutability:"view"},{name:"symbol",type:"function",inputs:[],outputs:[{type:"core::byte_array::ByteArray"}],state_mutability:"view"},{name:"decimals",type:"function",inputs:[],outputs:[{type:"core::integer::u8"}],state_mutability:"view"}]},{name:"ERC20PermitImpl",type:"impl",interface_name:"openzeppelin_token::erc20::interface::IERC20Permit"},{name:"openzeppelin_token::erc20::interface::IERC20Permit",type:"interface",items:[{name:"permit",type:"function",inputs:[{name:"owner",type:"core::starknet::contract_address::ContractAddress"},{name:"spender",type:"core::starknet::contract_address::ContractAddress"},{name:"amount",type:"core::integer::u256"},{name:"deadline",type:"core::integer::u64"},{name:"signature",type:"core::array::Span::<core::felt252>"}],outputs:[],state_mutability:"external"},{name:"nonces",type:"function",inputs:[{name:"owner",type:"core::starknet::contract_address::ContractAddress"}],outputs:[{type:"core::felt252"}],state_mutability:"view"},{name:"DOMAIN_SEPARATOR",type:"function",inputs:[],outputs:[{type:"core::felt252"}],state_mutability:"view"}]},{name:"SNIP12MetadataExternal",type:"impl",interface_name:"openzeppelin_utils::cryptography::interface::ISNIP12Metadata"},{name:"openzeppelin_utils::cryptography::interface::ISNIP12Metadata",type:"interface",items:[{name:"snip12_metadata",type:"function",inputs:[],outputs:[{type:"(core::felt252, core::felt252)"}],state_mutability:"view"}]},{name:"constructor",type:"constructor",inputs:[{name:"governance_admin",type:"core::starknet::contract_address::ContractAddress"},{name:"upgrade_delay",type:"core::integer::u64"}]},{kind:"struct",name:"openzeppelin_token::erc20::erc20::ERC20Component::Transfer",type:"event",members:[{kind:"key",name:"from",type:"core::starknet::contract_address::ContractAddress"},{kind:"key",name:"to",type:"core::starknet::contract_address::ContractAddress"},{kind:"data",name:"value",type:"core::integer::u256"}]},{kind:"struct",name:"openzeppelin_token::erc20::erc20::ERC20Component::Approval",type:"event",members:[{kind:"key",name:"owner",type:"core::starknet::contract_address::ContractAddress"},{kind:"key",name:"spender",type:"core::starknet::contract_address::ContractAddress"},{kind:"data",name:"value",type:"core::integer::u256"}]},{kind:"enum",name:"openzeppelin_token::erc20::erc20::ERC20Component::Event",type:"event",variants:[{kind:"nested",name:"Transfer",type:"openzeppelin_token::erc20::erc20::ERC20Component::Transfer"},{kind:"nested",name:"Approval",type:"openzeppelin_token::erc20::erc20::ERC20Component::Approval"}]},{kind:"struct",name:"openzeppelin_access::accesscontrol::accesscontrol::AccessControlComponent::RoleGranted",type:"event",members:[{kind:"data",name:"role",type:"core::felt252"},{kind:"data",name:"account",type:"core::starknet::contract_address::ContractAddress"},{kind:"data",name:"sender",type:"core::starknet::contract_address::ContractAddress"}]},{kind:"struct",name:"openzeppelin_access::accesscontrol::accesscontrol::AccessControlComponent::RoleGrantedWithDelay",type:"event",members:[{kind:"data",name:"role",type:"core::felt252"},{kind:"data",name:"account",type:"core::starknet::contract_address::ContractAddress"},{kind:"data",name:"sender",type:"core::starknet::contract_address::ContractAddress"},{kind:"data",name:"delay",type:"core::integer::u64"}]},{kind:"struct",name:"openzeppelin_access::accesscontrol::accesscontrol::AccessControlComponent::RoleRevoked",type:"event",members:[{kind:"data",name:"role",type:"core::felt252"},{kind:"data",name:"account",type:"core::starknet::contract_address::ContractAddress"},{kind:"data",name:"sender",type:"core::starknet::contract_address::ContractAddress"}]},{kind:"struct",name:"openzeppelin_access::accesscontrol::accesscontrol::AccessControlComponent::RoleAdminChanged",type:"event",members:[{kind:"data",name:"role",type:"core::felt252"},{kind:"data",name:"previous_admin_role",type:"core::felt252"},{kind:"data",name:"new_admin_role",type:"core::felt252"}]},{kind:"enum",name:"openzeppelin_access::accesscontrol::accesscontrol::AccessControlComponent::Event",type:"event",variants:[{kind:"nested",name:"RoleGranted",type:"openzeppelin_access::accesscontrol::accesscontrol::AccessControlComponent::RoleGranted"},{kind:"nested",name:"RoleGrantedWithDelay",type:"openzeppelin_access::accesscontrol::accesscontrol::AccessControlComponent::RoleGrantedWithDelay"},{kind:"nested",name:"RoleRevoked",type:"openzeppelin_access::accesscontrol::accesscontrol::AccessControlComponent::RoleRevoked"},{kind:"nested",name:"RoleAdminChanged",type:"openzeppelin_access::accesscontrol::accesscontrol::AccessControlComponent::RoleAdminChanged"}]},{kind:"enum",name:"openzeppelin_utils::cryptography::nonces::NoncesComponent::Event",type:"event",variants:[]},{kind:"enum",name:"openzeppelin_introspection::src5::SRC5Component::Event",type:"event",variants:[]},{kind:"struct",name:"starkware_utils::components::pausable::pausable::PausableComponent::Paused",type:"event",members:[{kind:"data",name:"account",type:"core::starknet::contract_address::ContractAddress"}]},{kind:"struct",name:"starkware_utils::components::pausable::pausable::PausableComponent::Unpaused",type:"event",members:[{kind:"data",name:"account",type:"core::starknet::contract_address::ContractAddress"}]},{kind:"enum",name:"starkware_utils::components::pausable::pausable::PausableComponent::Event",type:"event",variants:[{kind:"nested",name:"Paused",type:"starkware_utils::components::pausable::pausable::PausableComponent::Paused"},{kind:"nested",name:"Unpaused",type:"starkware_utils::components::pausable::pausable::PausableComponent::Unpaused"}]},{kind:"struct",name:"starkware_utils::components::replaceability::interface::ImplementationAdded",type:"event",members:[{kind:"data",name:"implementation_data",type:"starkware_utils::components::replaceability::interface::ImplementationData"}]},{kind:"struct",name:"starkware_utils::components::replaceability::interface::ImplementationRemoved",type:"event",members:[{kind:"data",name:"implementation_data",type:"starkware_utils::components::replaceability::interface::ImplementationData"}]},{kind:"struct",name:"starkware_utils::components::replaceability::interface::ImplementationReplaced",type:"event",members:[{kind:"data",name:"implementation_data",type:"starkware_utils::components::replaceability::interface::ImplementationData"}]},{kind:"struct",name:"starkware_utils::components::replaceability::interface::ImplementationFinalized",type:"event",members:[{kind:"data",name:"impl_hash",type:"core::starknet::class_hash::ClassHash"}]},{kind:"enum",name:"starkware_utils::components::replaceability::replaceability::ReplaceabilityComponent::Event",type:"event",variants:[{kind:"nested",name:"ImplementationAdded",type:"starkware_utils::components::replaceability::interface::ImplementationAdded"},{kind:"nested",name:"ImplementationRemoved",type:"starkware_utils::components::replaceability::interface::ImplementationRemoved"},{kind:"nested",name:"ImplementationReplaced",type:"starkware_utils::components::replaceability::interface::ImplementationReplaced"},{kind:"nested",name:"ImplementationFinalized",type:"starkware_utils::components::replaceability::interface::ImplementationFinalized"}]},{kind:"struct",name:"starkware_utils::components::roles::interface::AppGovernorAdded",type:"event",members:[{kind:"data",name:"added_account",type:"core::starknet::contract_address::ContractAddress"},{kind:"data",name:"added_by",type:"core::starknet::contract_address::ContractAddress"}]},{kind:"struct",name:"starkware_utils::components::roles::interface::AppGovernorRemoved",type:"event",members:[{kind:"data",name:"removed_account",type:"core::starknet::contract_address::ContractAddress"},{kind:"data",name:"removed_by",type:"core::starknet::contract_address::ContractAddress"}]},{kind:"struct",name:"starkware_utils::components::roles::interface::AppRoleAdminAdded",type:"event",members:[{kind:"data",name:"added_account",type:"core::starknet::contract_address::ContractAddress"},{kind:"data",name:"added_by",type:"core::starknet::contract_address::ContractAddress"}]},{kind:"struct",name:"starkware_utils::components::roles::interface::AppRoleAdminRemoved",type:"event",members:[{kind:"data",name:"removed_account",type:"core::starknet::contract_address::ContractAddress"},{kind:"data",name:"removed_by",type:"core::starknet::contract_address::ContractAddress"}]},{kind:"struct",name:"starkware_utils::components::roles::interface::GovernanceAdminAdded",type:"event",members:[{kind:"data",name:"added_account",type:"core::starknet::contract_address::ContractAddress"},{kind:"data",name:"added_by",type:"core::starknet::contract_address::ContractAddress"}]},{kind:"struct",name:"starkware_utils::components::roles::interface::GovernanceAdminRemoved",type:"event",members:[{kind:"data",name:"removed_account",type:"core::starknet::contract_address::ContractAddress"},{kind:"data",name:"removed_by",type:"core::starknet::contract_address::ContractAddress"}]},{kind:"struct",name:"starkware_utils::components::roles::interface::OperatorAdded",type:"event",members:[{kind:"data",name:"added_account",type:"core::starknet::contract_address::ContractAddress"},{kind:"data",name:"added_by",type:"core::starknet::contract_address::ContractAddress"}]},{kind:"struct",name:"starkware_utils::components::roles::interface::OperatorRemoved",type:"event",members:[{kind:"data",name:"removed_account",type:"core::starknet::contract_address::ContractAddress"},{kind:"data",name:"removed_by",type:"core::starknet::contract_address::ContractAddress"}]},{kind:"struct",name:"starkware_utils::components::roles::interface::SecurityAdminAdded",type:"event",members:[{kind:"data",name:"added_account",type:"core::starknet::contract_address::ContractAddress"},{kind:"data",name:"added_by",type:"core::starknet::contract_address::ContractAddress"}]},{kind:"struct",name:"starkware_utils::components::roles::interface::SecurityAdminRemoved",type:"event",members:[{kind:"data",name:"removed_account",type:"core::starknet::contract_address::ContractAddress"},{kind:"data",name:"removed_by",type:"core::starknet::contract_address::ContractAddress"}]},{kind:"struct",name:"starkware_utils::components::roles::interface::SecurityAgentAdded",type:"event",members:[{kind:"data",name:"added_account",type:"core::starknet::contract_address::ContractAddress"},{kind:"data",name:"added_by",type:"core::starknet::contract_address::ContractAddress"}]},{kind:"struct",name:"starkware_utils::components::roles::interface::SecurityAgentRemoved",type:"event",members:[{kind:"data",name:"removed_account",type:"core::starknet::contract_address::ContractAddress"},{kind:"data",name:"removed_by",type:"core::starknet::contract_address::ContractAddress"}]},{kind:"struct",name:"starkware_utils::components::roles::interface::TokenAdminAdded",type:"event",members:[{kind:"data",name:"added_account",type:"core::starknet::contract_address::ContractAddress"},{kind:"data",name:"added_by",type:"core::starknet::contract_address::ContractAddress"}]},{kind:"struct",name:"starkware_utils::components::roles::interface::TokenAdminRemoved",type:"event",members:[{kind:"data",name:"removed_account",type:"core::starknet::contract_address::ContractAddress"},{kind:"data",name:"removed_by",type:"core::starknet::contract_address::ContractAddress"}]},{kind:"struct",name:"starkware_utils::components::roles::interface::UpgradeGovernorAdded",type:"event",members:[{kind:"data",name:"added_account",type:"core::starknet::contract_address::ContractAddress"},{kind:"data",name:"added_by",type:"core::starknet::contract_address::ContractAddress"}]},{kind:"struct",name:"starkware_utils::components::roles::interface::UpgradeGovernorRemoved",type:"event",members:[{kind:"data",name:"removed_account",type:"core::starknet::contract_address::ContractAddress"},{kind:"data",name:"removed_by",type:"core::starknet::contract_address::ContractAddress"}]},{kind:"enum",name:"starkware_utils::components::roles::roles::RolesComponent::Event",type:"event",variants:[{kind:"nested",name:"AppGovernorAdded",type:"starkware_utils::components::roles::interface::AppGovernorAdded"},{kind:"nested",name:"AppGovernorRemoved",type:"starkware_utils::components::roles::interface::AppGovernorRemoved"},{kind:"nested",name:"AppRoleAdminAdded",type:"starkware_utils::components::roles::interface::AppRoleAdminAdded"},{kind:"nested",name:"AppRoleAdminRemoved",type:"starkware_utils::components::roles::interface::AppRoleAdminRemoved"},{kind:"nested",name:"GovernanceAdminAdded",type:"starkware_utils::components::roles::interface::GovernanceAdminAdded"},{kind:"nested",name:"GovernanceAdminRemoved",type:"starkware_utils::components::roles::interface::GovernanceAdminRemoved"},{kind:"nested",name:"OperatorAdded",type:"starkware_utils::components::roles::interface::OperatorAdded"},{kind:"nested",name:"OperatorRemoved",type:"starkware_utils::components::roles::interface::OperatorRemoved"},{kind:"nested",name:"SecurityAdminAdded",type:"starkware_utils::components::roles::interface::SecurityAdminAdded"},{kind:"nested",name:"SecurityAdminRemoved",type:"starkware_utils::components::roles::interface::SecurityAdminRemoved"},{kind:"nested",name:"SecurityAgentAdded",type:"starkware_utils::components::roles::interface::SecurityAgentAdded"},{kind:"nested",name:"SecurityAgentRemoved",type:"starkware_utils::components::roles::interface::SecurityAgentRemoved"},{kind:"nested",name:"TokenAdminAdded",type:"starkware_utils::components::roles::interface::TokenAdminAdded"},{kind:"nested",name:"TokenAdminRemoved",type:"starkware_utils::components::roles::interface::TokenAdminRemoved"},{kind:"nested",name:"UpgradeGovernorAdded",type:"starkware_utils::components::roles::interface::UpgradeGovernorAdded"},{kind:"nested",name:"UpgradeGovernorRemoved",type:"starkware_utils::components::roles::interface::UpgradeGovernorRemoved"}]},{kind:"struct",name:"lbtc_token::lbtc::events::MinterAdded",type:"event",members:[{kind:"data",name:"minter",type:"core::starknet::contract_address::ContractAddress"}]},{kind:"enum",name:"lbtc_token::lbtc::token::lbtc::Event",type:"event",variants:[{kind:"flat",name:"ERC20Event",type:"openzeppelin_token::erc20::erc20::ERC20Component::Event"},{kind:"flat",name:"AccessControlEvent",type:"openzeppelin_access::accesscontrol::accesscontrol::AccessControlComponent::Event"},{kind:"flat",name:"NoncesEvent",type:"openzeppelin_utils::cryptography::nonces::NoncesComponent::Event"},{kind:"flat",name:"SRC5Event",type:"openzeppelin_introspection::src5::SRC5Component::Event"},{kind:"flat",name:"PausableEvent",type:"starkware_utils::components::pausable::pausable::PausableComponent::Event"},{kind:"flat",name:"ReplaceabilityEvent",type:"starkware_utils::components::replaceability::replaceability::ReplaceabilityComponent::Event"},{kind:"flat",name:"RolesEvent",type:"starkware_utils::components::roles::roles::RolesComponent::Event"},{kind:"nested",name:"MinterAdded",type:"lbtc_token::lbtc::events::MinterAdded"}]}],zi=[{name:"BasculeImpl",type:"impl",interface_name:"lbtc_bascule::interface::IBascule"},{name:"core::integer::u256",type:"struct",members:[{name:"low",type:"core::integer::u128"},{name:"high",type:"core::integer::u128"}]},{name:"core::array::Span::<core::integer::u256>",type:"struct",members:[{name:"snapshot",type:"@core::array::Array::<core::integer::u256>"}]},{name:"lbtc_bascule::interface::DepositState",type:"enum",variants:[{name:"Unreported",type:"()"},{name:"Reported",type:"()"},{name:"Withdrawn",type:"()"}]},{name:"core::bool",type:"enum",variants:[{name:"False",type:"()"},{name:"True",type:"()"}]},{name:"lbtc_bascule::interface::IBascule",type:"interface",items:[{name:"validate_withdrawal",type:"function",inputs:[{name:"to_chain",type:"core::integer::u256"},{name:"recipient",type:"core::starknet::contract_address::ContractAddress"},{name:"withdrawal_amount",type:"core::integer::u256"},{name:"tx_id",type:"core::integer::u256"},{name:"vout",type:"core::integer::u32"}],outputs:[],state_mutability:"external"},{name:"update_validation_threshold",type:"function",inputs:[{name:"new_threshold",type:"core::integer::u256"}],outputs:[],state_mutability:"external"},{name:"set_max_deposits",type:"function",inputs:[{name:"max_deposits",type:"core::integer::u32"}],outputs:[],state_mutability:"external"},{name:"report_deposits",type:"function",inputs:[{name:"report_id",type:"core::integer::u256"},{name:"deposit_ids",type:"core::array::Span::<core::integer::u256>"}],outputs:[],state_mutability:"external"},{name:"get_validation_threshold",type:"function",inputs:[],outputs:[{type:"core::integer::u256"}],state_mutability:"view"},{name:"get_max_deposits",type:"function",inputs:[],outputs:[{type:"core::integer::u32"}],state_mutability:"view"},{name:"get_deposit_status",type:"function",inputs:[{name:"deposit_id",type:"core::integer::u256"}],outputs:[{type:"lbtc_bascule::interface::DepositState"}],state_mutability:"view"},{name:"is_deposit_reporter",type:"function",inputs:[{name:"account",type:"core::starknet::contract_address::ContractAddress"}],outputs:[{type:"core::bool"}],state_mutability:"view"},{name:"register_deposit_reporter",type:"function",inputs:[{name:"account",type:"core::starknet::contract_address::ContractAddress"}],outputs:[],state_mutability:"external"},{name:"remove_deposit_reporter",type:"function",inputs:[{name:"account",type:"core::starknet::contract_address::ContractAddress"}],outputs:[],state_mutability:"external"},{name:"is_withdrawal_validator",type:"function",inputs:[{name:"account",type:"core::starknet::contract_address::ContractAddress"}],outputs:[{type:"core::bool"}],state_mutability:"view"},{name:"register_withdrawal_validator",type:"function",inputs:[{name:"account",type:"core::starknet::contract_address::ContractAddress"}],outputs:[],state_mutability:"external"},{name:"remove_withdrawal_validator",type:"function",inputs:[{name:"account",type:"core::starknet::contract_address::ContractAddress"}],outputs:[],state_mutability:"external"},{name:"is_validation_guardian",type:"function",inputs:[{name:"account",type:"core::starknet::contract_address::ContractAddress"}],outputs:[{type:"core::bool"}],state_mutability:"view"},{name:"register_validation_guardian",type:"function",inputs:[{name:"account",type:"core::starknet::contract_address::ContractAddress"}],outputs:[],state_mutability:"external"},{name:"remove_validation_guardian",type:"function",inputs:[{name:"account",type:"core::starknet::contract_address::ContractAddress"}],outputs:[],state_mutability:"external"},{name:"is_pauser",type:"function",inputs:[{name:"account",type:"core::starknet::contract_address::ContractAddress"}],outputs:[{type:"core::bool"}],state_mutability:"view"},{name:"register_pauser",type:"function",inputs:[{name:"account",type:"core::starknet::contract_address::ContractAddress"}],outputs:[],state_mutability:"external"},{name:"remove_pauser",type:"function",inputs:[{name:"account",type:"core::starknet::contract_address::ContractAddress"}],outputs:[],state_mutability:"external"}]},{name:"PausableImpl",type:"impl",interface_name:"starkware_utils::components::pausable::interface::IPausable"},{name:"starkware_utils::components::pausable::interface::IPausable",type:"interface",items:[{name:"is_paused",type:"function",inputs:[],outputs:[{type:"core::bool"}],state_mutability:"view"},{name:"pause",type:"function",inputs:[],outputs:[],state_mutability:"external"},{name:"unpause",type:"function",inputs:[],outputs:[],state_mutability:"external"}]},{name:"constructor",type:"constructor",inputs:[{name:"governance_admin",type:"core::starknet::contract_address::ContractAddress"},{name:"pauser",type:"core::starknet::contract_address::ContractAddress"},{name:"deposit_reporter",type:"core::starknet::contract_address::ContractAddress"},{name:"withdrawal_validator",type:"core::starknet::contract_address::ContractAddress"},{name:"max_deposits",type:"core::integer::u32"}]},{kind:"struct",name:"openzeppelin_access::accesscontrol::accesscontrol::AccessControlComponent::RoleGranted",type:"event",members:[{kind:"data",name:"role",type:"core::felt252"},{kind:"data",name:"account",type:"core::starknet::contract_address::ContractAddress"},{kind:"data",name:"sender",type:"core::starknet::contract_address::ContractAddress"}]},{kind:"struct",name:"openzeppelin_access::accesscontrol::accesscontrol::AccessControlComponent::RoleGrantedWithDelay",type:"event",members:[{kind:"data",name:"role",type:"core::felt252"},{kind:"data",name:"account",type:"core::starknet::contract_address::ContractAddress"},{kind:"data",name:"sender",type:"core::starknet::contract_address::ContractAddress"},{kind:"data",name:"delay",type:"core::integer::u64"}]},{kind:"struct",name:"openzeppelin_access::accesscontrol::accesscontrol::AccessControlComponent::RoleRevoked",type:"event",members:[{kind:"data",name:"role",type:"core::felt252"},{kind:"data",name:"account",type:"core::starknet::contract_address::ContractAddress"},{kind:"data",name:"sender",type:"core::starknet::contract_address::ContractAddress"}]},{kind:"struct",name:"openzeppelin_access::accesscontrol::accesscontrol::AccessControlComponent::RoleAdminChanged",type:"event",members:[{kind:"data",name:"role",type:"core::felt252"},{kind:"data",name:"previous_admin_role",type:"core::felt252"},{kind:"data",name:"new_admin_role",type:"core::felt252"}]},{kind:"enum",name:"openzeppelin_access::accesscontrol::accesscontrol::AccessControlComponent::Event",type:"event",variants:[{kind:"nested",name:"RoleGranted",type:"openzeppelin_access::accesscontrol::accesscontrol::AccessControlComponent::RoleGranted"},{kind:"nested",name:"RoleGrantedWithDelay",type:"openzeppelin_access::accesscontrol::accesscontrol::AccessControlComponent::RoleGrantedWithDelay"},{kind:"nested",name:"RoleRevoked",type:"openzeppelin_access::accesscontrol::accesscontrol::AccessControlComponent::RoleRevoked"},{kind:"nested",name:"RoleAdminChanged",type:"openzeppelin_access::accesscontrol::accesscontrol::AccessControlComponent::RoleAdminChanged"}]},{kind:"struct",name:"openzeppelin_security::pausable::PausableComponent::Paused",type:"event",members:[{kind:"data",name:"account",type:"core::starknet::contract_address::ContractAddress"}]},{kind:"struct",name:"openzeppelin_security::pausable::PausableComponent::Unpaused",type:"event",members:[{kind:"data",name:"account",type:"core::starknet::contract_address::ContractAddress"}]},{kind:"enum",name:"openzeppelin_security::pausable::PausableComponent::Event",type:"event",variants:[{kind:"nested",name:"Paused",type:"openzeppelin_security::pausable::PausableComponent::Paused"},{kind:"nested",name:"Unpaused",type:"openzeppelin_security::pausable::PausableComponent::Unpaused"}]},{kind:"enum",name:"openzeppelin_introspection::src5::SRC5Component::Event",type:"event",variants:[]},{kind:"struct",name:"lbtc_bascule::events::DepositAlreadyReported",type:"event",members:[{kind:"key",name:"deposit_id",type:"core::integer::u256"}]},{kind:"struct",name:"lbtc_bascule::events::DepositsReported",type:"event",members:[{kind:"key",name:"report_id",type:"core::integer::u256"},{kind:"data",name:"num_deposits",type:"core::integer::u32"}]},{kind:"struct",name:"lbtc_bascule::events::MaxDepositsUpdated",type:"event",members:[{kind:"data",name:"num_deposits",type:"core::integer::u32"}]},{kind:"struct",name:"lbtc_bascule::events::UpdateValidateThreshold",type:"event",members:[{kind:"data",name:"old_threshold",type:"core::integer::u256"},{kind:"data",name:"new_threshold",type:"core::integer::u256"}]},{kind:"struct",name:"lbtc_bascule::events::WithdrawalNotValidated",type:"event",members:[{kind:"key",name:"deposit_id",type:"core::integer::u256"},{kind:"data",name:"withdrawal_amount",type:"core::integer::u256"}]},{kind:"struct",name:"lbtc_bascule::events::WithdrawalValidated",type:"event",members:[{kind:"key",name:"deposit_id",type:"core::integer::u256"},{kind:"data",name:"withdrawal_amount",type:"core::integer::u256"}]},{kind:"enum",name:"lbtc_bascule::bascule::bascule::Event",type:"event",variants:[{kind:"flat",name:"AccessControlEvent",type:"openzeppelin_access::accesscontrol::accesscontrol::AccessControlComponent::Event"},{kind:"flat",name:"PausableEvent",type:"openzeppelin_security::pausable::PausableComponent::Event"},{kind:"flat",name:"SRC5Event",type:"openzeppelin_introspection::src5::SRC5Component::Event"},{kind:"nested",name:"DepositAlreadyReported",type:"lbtc_bascule::events::DepositAlreadyReported"},{kind:"nested",name:"DepositsReported",type:"lbtc_bascule::events::DepositsReported"},{kind:"nested",name:"MaxDepositsUpdated",type:"lbtc_bascule::events::MaxDepositsUpdated"},{kind:"nested",name:"UpdateValidateThreshold",type:"lbtc_bascule::events::UpdateValidateThreshold"},{kind:"nested",name:"WithdrawalNotValidated",type:"lbtc_bascule::events::WithdrawalNotValidated"},{kind:"nested",name:"WithdrawalValidated",type:"lbtc_bascule::events::WithdrawalValidated"}]}],Pi=[{name:"AssetRouterImpl",type:"impl",interface_name:"lbtc_asset_router::interface::IAssetRouter"},{name:"core::integer::u256",type:"struct",members:[{name:"low",type:"core::integer::u128"},{name:"high",type:"core::integer::u128"}]},{name:"core::array::Span::<(core::integer::u256, core::integer::u256)>",type:"struct",members:[{name:"snapshot",type:"@core::array::Array::<(core::integer::u256, core::integer::u256)>"}]},{name:"core::byte_array::ByteArray",type:"struct",members:[{name:"data",type:"core::array::Array::<core::bytes_31::bytes31>"},{name:"pending_word",type:"core::felt252"},{name:"pending_word_len",type:"core::integer::u32"}]},{name:"core::bool",type:"enum",variants:[{name:"False",type:"()"},{name:"True",type:"()"}]},{name:"lbtc_asset_router::interface::IAssetRouter",type:"interface",items:[{name:"change_bascule",type:"function",inputs:[{name:"new_bascule",type:"core::starknet::contract_address::ContractAddress"}],outputs:[],state_mutability:"external"},{name:"change_treasury",type:"function",inputs:[{name:"new_treasury",type:"core::starknet::contract_address::ContractAddress"}],outputs:[],state_mutability:"external"},{name:"change_burn_commission",type:"function",inputs:[{name:"new_burn_commission",type:"core::integer::u64"}],outputs:[],state_mutability:"external"},{name:"enable_withdrawals",type:"function",inputs:[],outputs:[],state_mutability:"external"},{name:"disable_withdrawals",type:"function",inputs:[],outputs:[],state_mutability:"external"},{name:"change_dust_fee_rate",type:"function",inputs:[{name:"new_rate",type:"core::integer::u128"}],outputs:[],state_mutability:"external"},{name:"mint",type:"function",inputs:[{name:"to_chain",type:"core::integer::u256"},{name:"recipient",type:"core::starknet::contract_address::ContractAddress"},{name:"amount",type:"core::integer::u256"},{name:"tx_id",type:"core::integer::u256"},{name:"vout",type:"core::integer::u32"},{name:"proof",type:"core::array::Span::<(core::integer::u256, core::integer::u256)>"}],outputs:[],state_mutability:"external"},{name:"redeem",type:"function",inputs:[{name:"script_pub_key",type:"core::byte_array::ByteArray"},{name:"amount",type:"core::integer::u256"}],outputs:[],state_mutability:"external"},{name:"get_lbtc_token_address",type:"function",inputs:[],outputs:[{type:"core::starknet::contract_address::ContractAddress"}],state_mutability:"view"},{name:"get_bascule",type:"function",inputs:[],outputs:[{type:"core::starknet::contract_address::ContractAddress"}],state_mutability:"view"},{name:"get_consortium",type:"function",inputs:[],outputs:[{type:"core::starknet::contract_address::ContractAddress"}],state_mutability:"view"},{name:"get_treasury",type:"function",inputs:[],outputs:[{type:"core::starknet::contract_address::ContractAddress"}],state_mutability:"view"},{name:"get_burn_commission",type:"function",inputs:[],outputs:[{type:"core::integer::u64"}],state_mutability:"view"},{name:"calculate_unstake_request_amount",type:"function",inputs:[{name:"script_pub_key",type:"core::byte_array::ByteArray"},{name:"amount",type:"core::integer::u256"}],outputs:[{type:"(core::integer::u256, core::bool)"}],state_mutability:"view"},{name:"get_dust_fee_rate",type:"function",inputs:[],outputs:[{type:"core::integer::u128"}],state_mutability:"view"},{name:"is_payload_used",type:"function",inputs:[{name:"payload_hash",type:"core::integer::u256"}],outputs:[{type:"core::bool"}],state_mutability:"view"},{name:"is_withdrawals_enabled",type:"function",inputs:[],outputs:[{type:"core::bool"}],state_mutability:"view"}]},{name:"RolesImpl",type:"impl",interface_name:"starkware_utils::components::roles::interface::IRoles"},{name:"starkware_utils::components::roles::interface::IRoles",type:"interface",items:[{name:"is_app_governor",type:"function",inputs:[{name:"account",type:"core::starknet::contract_address::ContractAddress"}],outputs:[{type:"core::bool"}],state_mutability:"view"},{name:"is_app_role_admin",type:"function",inputs:[{name:"account",type:"core::starknet::contract_address::ContractAddress"}],outputs:[{type:"core::bool"}],state_mutability:"view"},{name:"is_governance_admin",type:"function",inputs:[{name:"account",type:"core::starknet::contract_address::ContractAddress"}],outputs:[{type:"core::bool"}],state_mutability:"view"},{name:"is_operator",type:"function",inputs:[{name:"account",type:"core::starknet::contract_address::ContractAddress"}],outputs:[{type:"core::bool"}],state_mutability:"view"},{name:"is_token_admin",type:"function",inputs:[{name:"account",type:"core::starknet::contract_address::ContractAddress"}],outputs:[{type:"core::bool"}],state_mutability:"view"},{name:"is_upgrade_governor",type:"function",inputs:[{name:"account",type:"core::starknet::contract_address::ContractAddress"}],outputs:[{type:"core::bool"}],state_mutability:"view"},{name:"is_security_admin",type:"function",inputs:[{name:"account",type:"core::starknet::contract_address::ContractAddress"}],outputs:[{type:"core::bool"}],state_mutability:"view"},{name:"is_security_agent",type:"function",inputs:[{name:"account",type:"core::starknet::contract_address::ContractAddress"}],outputs:[{type:"core::bool"}],state_mutability:"view"},{name:"register_app_governor",type:"function",inputs:[{name:"account",type:"core::starknet::contract_address::ContractAddress"}],outputs:[],state_mutability:"external"},{name:"remove_app_governor",type:"function",inputs:[{name:"account",type:"core::starknet::contract_address::ContractAddress"}],outputs:[],state_mutability:"external"},{name:"register_app_role_admin",type:"function",inputs:[{name:"account",type:"core::starknet::contract_address::ContractAddress"}],outputs:[],state_mutability:"external"},{name:"remove_app_role_admin",type:"function",inputs:[{name:"account",type:"core::starknet::contract_address::ContractAddress"}],outputs:[],state_mutability:"external"},{name:"register_governance_admin",type:"function",inputs:[{name:"account",type:"core::starknet::contract_address::ContractAddress"}],outputs:[],state_mutability:"external"},{name:"remove_governance_admin",type:"function",inputs:[{name:"account",type:"core::starknet::contract_address::ContractAddress"}],outputs:[],state_mutability:"external"},{name:"register_operator",type:"function",inputs:[{name:"account",type:"core::starknet::contract_address::ContractAddress"}],outputs:[],state_mutability:"external"},{name:"remove_operator",type:"function",inputs:[{name:"account",type:"core::starknet::contract_address::ContractAddress"}],outputs:[],state_mutability:"external"},{name:"register_token_admin",type:"function",inputs:[{name:"account",type:"core::starknet::contract_address::ContractAddress"}],outputs:[],state_mutability:"external"},{name:"remove_token_admin",type:"function",inputs:[{name:"account",type:"core::starknet::contract_address::ContractAddress"}],outputs:[],state_mutability:"external"},{name:"register_upgrade_governor",type:"function",inputs:[{name:"account",type:"core::starknet::contract_address::ContractAddress"}],outputs:[],state_mutability:"external"},{name:"remove_upgrade_governor",type:"function",inputs:[{name:"account",type:"core::starknet::contract_address::ContractAddress"}],outputs:[],state_mutability:"external"},{name:"renounce",type:"function",inputs:[{name:"role",type:"core::felt252"}],outputs:[],state_mutability:"external"},{name:"register_security_admin",type:"function",inputs:[{name:"account",type:"core::starknet::contract_address::ContractAddress"}],outputs:[],state_mutability:"external"},{name:"remove_security_admin",type:"function",inputs:[{name:"account",type:"core::starknet::contract_address::ContractAddress"}],outputs:[],state_mutability:"external"},{name:"register_security_agent",type:"function",inputs:[{name:"account",type:"core::starknet::contract_address::ContractAddress"}],outputs:[],state_mutability:"external"},{name:"remove_security_agent",type:"function",inputs:[{name:"account",type:"core::starknet::contract_address::ContractAddress"}],outputs:[],state_mutability:"external"}]},{name:"ReplaceabilityImpl",type:"impl",interface_name:"starkware_utils::components::replaceability::interface::IReplaceable"},{name:"core::array::Span::<core::felt252>",type:"struct",members:[{name:"snapshot",type:"@core::array::Array::<core::felt252>"}]},{name:"starkware_utils::components::replaceability::interface::EICData",type:"struct",members:[{name:"eic_hash",type:"core::starknet::class_hash::ClassHash"},{name:"eic_init_data",type:"core::array::Span::<core::felt252>"}]},{name:"core::option::Option::<starkware_utils::components::replaceability::interface::EICData>",type:"enum",variants:[{name:"Some",type:"starkware_utils::components::replaceability::interface::EICData"},{name:"None",type:"()"}]},{name:"starkware_utils::components::replaceability::interface::ImplementationData",type:"struct",members:[{name:"impl_hash",type:"core::starknet::class_hash::ClassHash"},{name:"eic_data",type:"core::option::Option::<starkware_utils::components::replaceability::interface::EICData>"},{name:"final",type:"core::bool"}]},{name:"starkware_utils::components::replaceability::interface::IReplaceable",type:"interface",items:[{name:"get_upgrade_delay",type:"function",inputs:[],outputs:[{type:"core::integer::u64"}],state_mutability:"view"},{name:"get_impl_activation_time",type:"function",inputs:[{name:"implementation_data",type:"starkware_utils::components::replaceability::interface::ImplementationData"}],outputs:[{type:"core::integer::u64"}],state_mutability:"view"},{name:"add_new_implementation",type:"function",inputs:[{name:"implementation_data",type:"starkware_utils::components::replaceability::interface::ImplementationData"}],outputs:[],state_mutability:"external"},{name:"remove_implementation",type:"function",inputs:[{name:"implementation_data",type:"starkware_utils::components::replaceability::interface::ImplementationData"}],outputs:[],state_mutability:"external"},{name:"replace_to",type:"function",inputs:[{name:"implementation_data",type:"starkware_utils::components::replaceability::interface::ImplementationData"}],outputs:[],state_mutability:"external"}]},{name:"constructor",type:"constructor",inputs:[{name:"governance_admin",type:"core::starknet::contract_address::ContractAddress"},{name:"upgrade_delay",type:"core::integer::u64"},{name:"bascule",type:"core::starknet::contract_address::ContractAddress"},{name:"consortium",type:"core::starknet::contract_address::ContractAddress"},{name:"lbtc_token",type:"core::starknet::contract_address::ContractAddress"},{name:"treasury",type:"core::starknet::contract_address::ContractAddress"},{name:"burn_commission",type:"core::integer::u64"}]},{kind:"struct",name:"openzeppelin_access::accesscontrol::accesscontrol::AccessControlComponent::RoleGranted",type:"event",members:[{kind:"data",name:"role",type:"core::felt252"},{kind:"data",name:"account",type:"core::starknet::contract_address::ContractAddress"},{kind:"data",name:"sender",type:"core::starknet::contract_address::ContractAddress"}]},{kind:"struct",name:"openzeppelin_access::accesscontrol::accesscontrol::AccessControlComponent::RoleGrantedWithDelay",type:"event",members:[{kind:"data",name:"role",type:"core::felt252"},{kind:"data",name:"account",type:"core::starknet::contract_address::ContractAddress"},{kind:"data",name:"sender",type:"core::starknet::contract_address::ContractAddress"},{kind:"data",name:"delay",type:"core::integer::u64"}]},{kind:"struct",name:"openzeppelin_access::accesscontrol::accesscontrol::AccessControlComponent::RoleRevoked",type:"event",members:[{kind:"data",name:"role",type:"core::felt252"},{kind:"data",name:"account",type:"core::starknet::contract_address::ContractAddress"},{kind:"data",name:"sender",type:"core::starknet::contract_address::ContractAddress"}]},{kind:"struct",name:"openzeppelin_access::accesscontrol::accesscontrol::AccessControlComponent::RoleAdminChanged",type:"event",members:[{kind:"data",name:"role",type:"core::felt252"},{kind:"data",name:"previous_admin_role",type:"core::felt252"},{kind:"data",name:"new_admin_role",type:"core::felt252"}]},{kind:"enum",name:"openzeppelin_access::accesscontrol::accesscontrol::AccessControlComponent::Event",type:"event",variants:[{kind:"nested",name:"RoleGranted",type:"openzeppelin_access::accesscontrol::accesscontrol::AccessControlComponent::RoleGranted"},{kind:"nested",name:"RoleGrantedWithDelay",type:"openzeppelin_access::accesscontrol::accesscontrol::AccessControlComponent::RoleGrantedWithDelay"},{kind:"nested",name:"RoleRevoked",type:"openzeppelin_access::accesscontrol::accesscontrol::AccessControlComponent::RoleRevoked"},{kind:"nested",name:"RoleAdminChanged",type:"openzeppelin_access::accesscontrol::accesscontrol::AccessControlComponent::RoleAdminChanged"}]},{kind:"struct",name:"starkware_utils::components::roles::interface::AppGovernorAdded",type:"event",members:[{kind:"data",name:"added_account",type:"core::starknet::contract_address::ContractAddress"},{kind:"data",name:"added_by",type:"core::starknet::contract_address::ContractAddress"}]},{kind:"struct",name:"starkware_utils::components::roles::interface::AppGovernorRemoved",type:"event",members:[{kind:"data",name:"removed_account",type:"core::starknet::contract_address::ContractAddress"},{kind:"data",name:"removed_by",type:"core::starknet::contract_address::ContractAddress"}]},{kind:"struct",name:"starkware_utils::components::roles::interface::AppRoleAdminAdded",type:"event",members:[{kind:"data",name:"added_account",type:"core::starknet::contract_address::ContractAddress"},{kind:"data",name:"added_by",type:"core::starknet::contract_address::ContractAddress"}]},{kind:"struct",name:"starkware_utils::components::roles::interface::AppRoleAdminRemoved",type:"event",members:[{kind:"data",name:"removed_account",type:"core::starknet::contract_address::ContractAddress"},{kind:"data",name:"removed_by",type:"core::starknet::contract_address::ContractAddress"}]},{kind:"struct",name:"starkware_utils::components::roles::interface::GovernanceAdminAdded",type:"event",members:[{kind:"data",name:"added_account",type:"core::starknet::contract_address::ContractAddress"},{kind:"data",name:"added_by",type:"core::starknet::contract_address::ContractAddress"}]},{kind:"struct",name:"starkware_utils::components::roles::interface::GovernanceAdminRemoved",type:"event",members:[{kind:"data",name:"removed_account",type:"core::starknet::contract_address::ContractAddress"},{kind:"data",name:"removed_by",type:"core::starknet::contract_address::ContractAddress"}]},{kind:"struct",name:"starkware_utils::components::roles::interface::OperatorAdded",type:"event",members:[{kind:"data",name:"added_account",type:"core::starknet::contract_address::ContractAddress"},{kind:"data",name:"added_by",type:"core::starknet::contract_address::ContractAddress"}]},{kind:"struct",name:"starkware_utils::components::roles::interface::OperatorRemoved",type:"event",members:[{kind:"data",name:"removed_account",type:"core::starknet::contract_address::ContractAddress"},{kind:"data",name:"removed_by",type:"core::starknet::contract_address::ContractAddress"}]},{kind:"struct",name:"starkware_utils::components::roles::interface::SecurityAdminAdded",type:"event",members:[{kind:"data",name:"added_account",type:"core::starknet::contract_address::ContractAddress"},{kind:"data",name:"added_by",type:"core::starknet::contract_address::ContractAddress"}]},{kind:"struct",name:"starkware_utils::components::roles::interface::SecurityAdminRemoved",type:"event",members:[{kind:"data",name:"removed_account",type:"core::starknet::contract_address::ContractAddress"},{kind:"data",name:"removed_by",type:"core::starknet::contract_address::ContractAddress"}]},{kind:"struct",name:"starkware_utils::components::roles::interface::SecurityAgentAdded",type:"event",members:[{kind:"data",name:"added_account",type:"core::starknet::contract_address::ContractAddress"},{kind:"data",name:"added_by",type:"core::starknet::contract_address::ContractAddress"}]},{kind:"struct",name:"starkware_utils::components::roles::interface::SecurityAgentRemoved",type:"event",members:[{kind:"data",name:"removed_account",type:"core::starknet::contract_address::ContractAddress"},{kind:"data",name:"removed_by",type:"core::starknet::contract_address::ContractAddress"}]},{kind:"struct",name:"starkware_utils::components::roles::interface::TokenAdminAdded",type:"event",members:[{kind:"data",name:"added_account",type:"core::starknet::contract_address::ContractAddress"},{kind:"data",name:"added_by",type:"core::starknet::contract_address::ContractAddress"}]},{kind:"struct",name:"starkware_utils::components::roles::interface::TokenAdminRemoved",type:"event",members:[{kind:"data",name:"removed_account",type:"core::starknet::contract_address::ContractAddress"},{kind:"data",name:"removed_by",type:"core::starknet::contract_address::ContractAddress"}]},{kind:"struct",name:"starkware_utils::components::roles::interface::UpgradeGovernorAdded",type:"event",members:[{kind:"data",name:"added_account",type:"core::starknet::contract_address::ContractAddress"},{kind:"data",name:"added_by",type:"core::starknet::contract_address::ContractAddress"}]},{kind:"struct",name:"starkware_utils::components::roles::interface::UpgradeGovernorRemoved",type:"event",members:[{kind:"data",name:"removed_account",type:"core::starknet::contract_address::ContractAddress"},{kind:"data",name:"removed_by",type:"core::starknet::contract_address::ContractAddress"}]},{kind:"enum",name:"starkware_utils::components::roles::roles::RolesComponent::Event",type:"event",variants:[{kind:"nested",name:"AppGovernorAdded",type:"starkware_utils::components::roles::interface::AppGovernorAdded"},{kind:"nested",name:"AppGovernorRemoved",type:"starkware_utils::components::roles::interface::AppGovernorRemoved"},{kind:"nested",name:"AppRoleAdminAdded",type:"starkware_utils::components::roles::interface::AppRoleAdminAdded"},{kind:"nested",name:"AppRoleAdminRemoved",type:"starkware_utils::components::roles::interface::AppRoleAdminRemoved"},{kind:"nested",name:"GovernanceAdminAdded",type:"starkware_utils::components::roles::interface::GovernanceAdminAdded"},{kind:"nested",name:"GovernanceAdminRemoved",type:"starkware_utils::components::roles::interface::GovernanceAdminRemoved"},{kind:"nested",name:"OperatorAdded",type:"starkware_utils::components::roles::interface::OperatorAdded"},{kind:"nested",name:"OperatorRemoved",type:"starkware_utils::components::roles::interface::OperatorRemoved"},{kind:"nested",name:"SecurityAdminAdded",type:"starkware_utils::components::roles::interface::SecurityAdminAdded"},{kind:"nested",name:"SecurityAdminRemoved",type:"starkware_utils::components::roles::interface::SecurityAdminRemoved"},{kind:"nested",name:"SecurityAgentAdded",type:"starkware_utils::components::roles::interface::SecurityAgentAdded"},{kind:"nested",name:"SecurityAgentRemoved",type:"starkware_utils::components::roles::interface::SecurityAgentRemoved"},{kind:"nested",name:"TokenAdminAdded",type:"starkware_utils::components::roles::interface::TokenAdminAdded"},{kind:"nested",name:"TokenAdminRemoved",type:"starkware_utils::components::roles::interface::TokenAdminRemoved"},{kind:"nested",name:"UpgradeGovernorAdded",type:"starkware_utils::components::roles::interface::UpgradeGovernorAdded"},{kind:"nested",name:"UpgradeGovernorRemoved",type:"starkware_utils::components::roles::interface::UpgradeGovernorRemoved"}]},{kind:"enum",name:"openzeppelin_introspection::src5::SRC5Component::Event",type:"event",variants:[]},{kind:"struct",name:"starkware_utils::components::replaceability::interface::ImplementationAdded",type:"event",members:[{kind:"data",name:"implementation_data",type:"starkware_utils::components::replaceability::interface::ImplementationData"}]},{kind:"struct",name:"starkware_utils::components::replaceability::interface::ImplementationRemoved",type:"event",members:[{kind:"data",name:"implementation_data",type:"starkware_utils::components::replaceability::interface::ImplementationData"}]},{kind:"struct",name:"starkware_utils::components::replaceability::interface::ImplementationReplaced",type:"event",members:[{kind:"data",name:"implementation_data",type:"starkware_utils::components::replaceability::interface::ImplementationData"}]},{kind:"struct",name:"starkware_utils::components::replaceability::interface::ImplementationFinalized",type:"event",members:[{kind:"data",name:"impl_hash",type:"core::starknet::class_hash::ClassHash"}]},{kind:"enum",name:"starkware_utils::components::replaceability::replaceability::ReplaceabilityComponent::Event",type:"event",variants:[{kind:"nested",name:"ImplementationAdded",type:"starkware_utils::components::replaceability::interface::ImplementationAdded"},{kind:"nested",name:"ImplementationRemoved",type:"starkware_utils::components::replaceability::interface::ImplementationRemoved"},{kind:"nested",name:"ImplementationReplaced",type:"starkware_utils::components::replaceability::interface::ImplementationReplaced"},{kind:"nested",name:"ImplementationFinalized",type:"starkware_utils::components::replaceability::interface::ImplementationFinalized"}]},{kind:"struct",name:"lbtc_asset_router::events::BasculeChanged",type:"event",members:[{kind:"data",name:"old_bascule",type:"core::starknet::contract_address::ContractAddress"},{kind:"data",name:"new_bascule",type:"core::starknet::contract_address::ContractAddress"}]},{kind:"struct",name:"lbtc_asset_router::events::ConsortiumChanged",type:"event",members:[{kind:"data",name:"old_consortium",type:"core::starknet::contract_address::ContractAddress"},{kind:"data",name:"new_consortium",type:"core::starknet::contract_address::ContractAddress"}]},{kind:"struct",name:"lbtc_asset_router::events::TreasuryChanged",type:"event",members:[{kind:"data",name:"old_treasury",type:"core::starknet::contract_address::ContractAddress"},{kind:"data",name:"new_treasury",type:"core::starknet::contract_address::ContractAddress"}]},{kind:"struct",name:"lbtc_asset_router::events::BurnCommissionChanged",type:"event",members:[{kind:"data",name:"old_burn_commission",type:"core::integer::u64"},{kind:"data",name:"new_burn_commission",type:"core::integer::u64"}]},{kind:"struct",name:"lbtc_asset_router::events::WithdrawalsEnabled",type:"event",members:[{kind:"data",name:"is_withdrawals_enabled",type:"core::bool"}]},{kind:"struct",name:"lbtc_asset_router::events::UnstakeRequest",type:"event",members:[{kind:"data",name:"from_address",type:"core::starknet::contract_address::ContractAddress"},{kind:"data",name:"script_pub_key",type:"core::byte_array::ByteArray"},{kind:"data",name:"amount_after_fee",type:"core::integer::u256"}]},{kind:"struct",name:"lbtc_asset_router::events::DustFeeRateChanged",type:"event",members:[{kind:"data",name:"old_rate",type:"core::integer::u128"},{kind:"data",name:"new_rate",type:"core::integer::u128"}]},{kind:"struct",name:"lbtc_asset_router::events::MintProofConsumed",type:"event",members:[{kind:"key",name:"recipient",type:"core::starknet::contract_address::ContractAddress"},{kind:"key",name:"payload_hash",type:"core::integer::u256"},{kind:"data",name:"payload",type:"core::byte_array::ByteArray"}]},{kind:"enum",name:"lbtc_asset_router::asset_router::asset_router::Event",type:"event",variants:[{kind:"flat",name:"AccessControlEvent",type:"openzeppelin_access::accesscontrol::accesscontrol::AccessControlComponent::Event"},{kind:"flat",name:"RolesEvent",type:"starkware_utils::components::roles::roles::RolesComponent::Event"},{kind:"flat",name:"SRC5Event",type:"openzeppelin_introspection::src5::SRC5Component::Event"},{kind:"flat",name:"ReplaceabilityEvent",type:"starkware_utils::components::replaceability::replaceability::ReplaceabilityComponent::Event"},{kind:"nested",name:"BasculeChanged",type:"lbtc_asset_router::events::BasculeChanged"},{kind:"nested",name:"ConsortiumChanged",type:"lbtc_asset_router::events::ConsortiumChanged"},{kind:"nested",name:"TreasuryChanged",type:"lbtc_asset_router::events::TreasuryChanged"},{kind:"nested",name:"BurnCommissionChanged",type:"lbtc_asset_router::events::BurnCommissionChanged"},{kind:"nested",name:"WithdrawalsEnabled",type:"lbtc_asset_router::events::WithdrawalsEnabled"},{kind:"nested",name:"UnstakeRequest",type:"lbtc_asset_router::events::UnstakeRequest"},{kind:"nested",name:"DustFeeRateChanged",type:"lbtc_asset_router::events::DustFeeRateChanged"},{kind:"nested",name:"MintProofConsumed",type:"lbtc_asset_router::events::MintProofConsumed"}]}];var yf=(e=>(e.ETH="ETH",e.LBTC="LBTC",e.STRK="STRK",e))(yf||{});const o3={[_e.SN_SEPOLIA]:{address:"0x049d36570d4e46f48e99674bd3fcc84644ddd6b96f7c741b1562b82f9e004dc7",classHash:"0x076791ef97c042f81fbf352ad95f39a22554ee8d7927b2ce3c681f3418b5206a",abi:gs},[_e.SN_MAIN]:{address:"0x049D36570D4e46f48e99674bd3fcc84644DdD6b96F7C741B1562B82f9e004dC7",classHash:"",abi:gs}},Gu={[We.stage]:{[_e.SN_SEPOLIA]:{address:"0x00b442f5420860e937a99659326e81a97e07bfd538b3cee65b90029c9da38a5f",classHash:"0x01f12942315b6dd05a21392ced7890a380affa81066741de6ac31af4dcb0d468",abi:Bi},[_e.SN_MAIN]:void 0},[We.testnet]:{[_e.SN_SEPOLIA]:{address:"0x00456a829ab75ba5e97534dc70d7fc617cfda244f8dcda47b11624de67c6e70c",classHash:"0x01f12942315b6dd05a21392ced7890a380affa81066741de6ac31af4dcb0d468",abi:Bi},[_e.SN_MAIN]:void 0},[We.dev]:{[_e.SN_SEPOLIA]:{address:"0x0723de0c550b7bfbb5051dade72966d71a08bef952c0197462a5244497eb57c1",classHash:"0x01f12942315b6dd05a21392ced7890a380affa81066741de6ac31af4dcb0d468",abi:Bi},[_e.SN_MAIN]:void 0},[We.prod]:{[_e.SN_SEPOLIA]:void 0,[_e.SN_MAIN]:{address:"0x036834a40984312f7f7de8d31e3f6305b325389eaeea5b1c0664b2fb936461a4",classHash:"",abi:Bi}},[We.ibc]:void 0},Ku={[We.stage]:{[_e.SN_SEPOLIA]:{address:"0x01d27f156092746d0d7cd9d9deec5e937f27c3c7c1c28365e9e5efac459880b3",classHash:"0x0524d80f999f690bbb302f37a36abdf82ea2135391c3d1a5090e7665c20e2159",abi:Pi},[_e.SN_MAIN]:void 0},[We.testnet]:{[_e.SN_SEPOLIA]:{address:"0x063b7b5c8b114ebd5b9602fbd5d0ffd2cc3a598f1d91c6904cc0997cd8fea760",classHash:"0x0524d80f999f690bbb302f37a36abdf82ea2135391c3d1a5090e7665c20e2159",abi:Pi},[_e.SN_MAIN]:void 0},[We.dev]:{[_e.SN_SEPOLIA]:{address:"0x04838a05c798dc57e01e85526979841c84f1f3c732a525cff53adb3e8bee3d24",classHash:"0x0524d80f999f690bbb302f37a36abdf82ea2135391c3d1a5090e7665c20e2159",abi:Pi},[_e.SN_MAIN]:void 0},[We.prod]:{[_e.SN_SEPOLIA]:void 0,[_e.SN_MAIN]:{address:"0x05b1886d0f844ab930fc0ee066f1655a873437f15a5d2c41ee3e884fd5299976",classHash:"",abi:Pi}},[We.ibc]:void 0},Wu={[We.stage]:{[_e.SN_SEPOLIA]:{address:"0x001d16d02a4ed6f5673635b1ad3b27ead190904b83fafde7b4c55282ef57492a",classHash:"0x0083965992f591e5979068d8a12a09a1f13949e1d1f65f495e7a5503d2f1e519",abi:zi},[_e.SN_MAIN]:void 0},[We.testnet]:{[_e.SN_SEPOLIA]:{address:"0x01757fb630a6cc4e3607fc1d92e0f91c5b3eedd71420f1fa7dc6d1764827b012",classHash:"0x0083965992f591e5979068d8a12a09a1f13949e1d1f65f495e7a5503d2f1e519",abi:zi},[_e.SN_MAIN]:void 0},[We.dev]:{[_e.SN_SEPOLIA]:{address:"0x01757fb630a6cc4e3607fc1d92e0f91c5b3eedd71420f1fa7dc6d1764827b012",classHash:"0x0083965992f591e5979068d8a12a09a1f13949e1d1f65f495e7a5503d2f1e519",abi:zi},[_e.SN_MAIN]:void 0},[We.prod]:{[_e.SN_SEPOLIA]:void 0,[_e.SN_MAIN]:{address:"0x76b68231c1bddb7c981c5a19d9c6a28c5cb14161b8fcd3a857aa8a396d31f95",classHash:"",abi:zi}},[We.ibc]:void 0},i3={[_e.SN_SEPOLIA]:{address:"0x04718f5a0fc34cc1af16a1cdee98ffb20c31f5cd61d6ab07201858f4287c938d",classHash:"0x009524a94b41c4440a16fd96d7c1ef6ad6f44c1c013e96662734502cd4ee9b1f",abi:gs},[_e.SN_MAIN]:{address:"0x04718f5a0fc34cc1af16a1cdee98ffb20c31f5cd61d6ab07201858f4287c938d",classHash:"0x009524a94b41c4440a16fd96d7c1ef6ad6f44c1c013e96662734502cd4ee9b1f",abi:gs}},$k=(e,t=_e.SN_MAIN,n="token",r=h_)=>{var a,o,i;if(n==="bridge")switch(e){case"LBTC":return(a=Ku==null?void 0:Ku[r])==null?void 0:a[t];default:return}if(n==="bascule")switch(e){case"LBTC":return(o=Wu==null?void 0:Wu[r])==null?void 0:o[t];default:return}switch(e){case"ETH":return o3[t];case"LBTC":return(i=Gu==null?void 0:Gu[r])==null?void 0:i[t];case"STRK":return i3[t]}},yr=({token:e,chainId:t,provider:n,contractType:r="token",env:a})=>{const o=$k(e,t,r,a);if(!o){const c=a==="prod",u=t===_e.SN_MAIN;throw c&&!u||!c&&u?r3(t??"unknown",a??"unknown"):JI(e)}const i=n||gr(t);if(!i)throw YI(t);return new GI(o.abi,o.address,i)};function Gk(e,t){return Hr(e).multipliedBy(Hr(10).pow(t)).decimalPlaces(0,Hr.ROUND_HALF_UP)}function s3(e,t){return Hr(e).dividedBy(Hr(10).pow(t))}async function c3({amount:e,spender:t,token:n,walletAccount:r,env:a}){const o=await r.getChainId(),i=gr(o),c=await yr({chainId:o,contractType:"token",provider:i,token:n,env:a}).decimals(),u=Gk(e,Number(c));return(await yr({chainId:o,contractType:"token",provider:r,token:n,env:a}).approve(t,u.toNumber())).transaction_hash}async function u3({account:e,token:t,chainId:n,env:r}){const a=gr(n),o=yr({chainId:n,contractType:"token",provider:a,token:t,env:r}),i=await o.balance_of(e),s=Hr.BigNumber(String(i)),c=await o.decimals();return s3(s,c)}const Ri=BigInt(2**32-1),Pm=BigInt(32);function l3(e,t=!1){return t?{h:Number(e&Ri),l:Number(e>>Pm&Ri)}:{h:Number(e>>Pm&Ri)|0,l:Number(e&Ri)|0}}function d3(e,t=!1){const n=e.length;let r=new Uint32Array(n),a=new Uint32Array(n);for(let o=0;o<n;o++){const{h:i,l:s}=l3(e[o],t);[r[o],a[o]]=[i,s]}return[r,a]}const f3=(e,t,n)=>e<<n|t>>>32-n,p3=(e,t,n)=>t<<n|e>>>32-n,h3=(e,t,n)=>t<<n-32|e>>>64-n,m3=(e,t,n)=>e<<n-32|t>>>64-n;/*! noble-hashes - MIT License (c) 2022 Paul Miller (paulmillr.com) */function g3(e){return e instanceof Uint8Array||ArrayBuffer.isView(e)&&e.constructor.name==="Uint8Array"}function Rm(e){if(!Number.isSafeInteger(e)||e<0)throw new Error("positive integer expected, got "+e)}function ys(e,...t){if(!g3(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 Nm(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 y3(e,t){ys(e);const n=t.outputLen;if(e.length<n)throw new Error("digestInto() expects output buffer of length at least "+n)}function b3(e){return new Uint32Array(e.buffer,e.byteOffset,Math.floor(e.byteLength/4))}function Kk(...e){for(let t=0;t<e.length;t++)e[t].fill(0)}const w3=new Uint8Array(new Uint32Array([287454020]).buffer)[0]===68;function k3(e){return e<<24&4278190080|e<<8&16711680|e>>>8&65280|e>>>24&255}function _3(e){for(let t=0;t<e.length;t++)e[t]=k3(e[t]);return e}const Um=w3?e=>e:_3;function v3(e){if(typeof e!="string")throw new Error("string expected");return new Uint8Array(new TextEncoder().encode(e))}function Wk(e){return typeof e=="string"&&(e=v3(e)),ys(e),e}class E3{}function A3(e){const t=r=>e().update(Wk(r)).digest(),n=e();return t.outputLen=n.outputLen,t.blockLen=n.blockLen,t.create=()=>e(),t}const S3=BigInt(0),$a=BigInt(1),j3=BigInt(2),x3=BigInt(7),T3=BigInt(256),I3=BigInt(113),Xk=[],Zk=[],Yk=[];for(let e=0,t=$a,n=1,r=0;e<24;e++){[n,r]=[r,(2*n+3*r)%5],Xk.push(2*(5*r+n)),Zk.push((e+1)*(e+2)/2%64);let a=S3;for(let o=0;o<7;o++)t=(t<<$a^(t>>x3)*I3)%T3,t&j3&&(a^=$a<<($a<<BigInt(o))-$a);Yk.push(a)}const Jk=d3(Yk,!0),C3=Jk[0],O3=Jk[1],Hm=(e,t,n)=>n>32?h3(e,t,n):f3(e,t,n),Lm=(e,t,n)=>n>32?m3(e,t,n):p3(e,t,n);function B3(e,t=24){const n=new Uint32Array(10);for(let r=24-t;r<24;r++){for(let i=0;i<10;i++)n[i]=e[i]^e[i+10]^e[i+20]^e[i+30]^e[i+40];for(let i=0;i<10;i+=2){const s=(i+8)%10,c=(i+2)%10,u=n[c],d=n[c+1],h=Hm(u,d,1)^n[s],f=Lm(u,d,1)^n[s+1];for(let l=0;l<50;l+=10)e[i+l]^=h,e[i+l+1]^=f}let a=e[2],o=e[3];for(let i=0;i<24;i++){const s=Zk[i],c=Hm(a,o,s),u=Lm(a,o,s),d=Xk[i];a=e[d],o=e[d+1],e[d]=c,e[d+1]=u}for(let i=0;i<50;i+=10){for(let s=0;s<10;s++)n[s]=e[i+s];for(let s=0;s<10;s++)e[i+s]^=~n[(s+2)%10]&n[(s+4)%10]}e[0]^=C3[r],e[1]^=O3[r]}Kk(n)}class bf extends E3{constructor(t,n,r,a=!1,o=24){if(super(),this.pos=0,this.posOut=0,this.finished=!1,this.destroyed=!1,this.enableXOF=!1,this.blockLen=t,this.suffix=n,this.outputLen=r,this.enableXOF=a,this.rounds=o,Rm(r),!(0<t&&t<200))throw new Error("only keccak-f1600 function is supported");this.state=new Uint8Array(200),this.state32=b3(this.state)}clone(){return this._cloneInto()}keccak(){Um(this.state32),B3(this.state32,this.rounds),Um(this.state32),this.posOut=0,this.pos=0}update(t){Nm(this),t=Wk(t),ys(t);const{blockLen:n,state:r}=this,a=t.length;for(let o=0;o<a;){const i=Math.min(n-this.pos,a-o);for(let s=0;s<i;s++)r[this.pos++]^=t[o++];this.pos===n&&this.keccak()}return this}finish(){if(this.finished)return;this.finished=!0;const{state:t,suffix:n,pos:r,blockLen:a}=this;t[r]^=n,(n&128)!==0&&r===a-1&&this.keccak(),t[a-1]^=128,this.keccak()}writeInto(t){Nm(this,!1),ys(t),this.finish();const n=this.state,{blockLen:r}=this;for(let a=0,o=t.length;a<o;){this.posOut>=r&&this.keccak();const i=Math.min(r-this.posOut,o-a);t.set(n.subarray(this.posOut,this.posOut+i),a),this.posOut+=i,a+=i}return t}xofInto(t){if(!this.enableXOF)throw new Error("XOF is not possible for this instance");return this.writeInto(t)}xof(t){return Rm(t),this.xofInto(new Uint8Array(t))}digestInto(t){if(y3(t,this),this.finished)throw new Error("digest() was already called");return this.writeInto(t),this.destroy(),t}digest(){return this.digestInto(new Uint8Array(this.outputLen))}destroy(){this.destroyed=!0,Kk(this.state)}_cloneInto(t){const{blockLen:n,suffix:r,outputLen:a,rounds:o,enableXOF:i}=this;return t||(t=new bf(n,r,a,i,o)),t.state32.set(this.state32),t.pos=this.pos,t.posOut=this.posOut,t.finished=this.finished,t.rounds=o,t.suffix=r,t.outputLen=a,t.enableXOF=i,t.destroyed=this.destroyed,t}}const z3=(e,t,n)=>A3(()=>new bf(t,e,n)),P3=z3(1,136,256/8);function R3(e){return e.startsWith("0x")}function Dm(e){return R3(e)?e:`0x${e}`}function N3(e){let t=e;t.startsWith("0x")&&(t=t.slice(2));const n=t.match(/.{64}/g);if(!n)throw new Error("Invalid hex string");const r=Number.parseInt(n[0],16)/32,a=Number.parseInt(n[r],16),o=r+1,i=[];for(let s=0;s<a;s++){const d=Number.parseInt(n[o+s],16)/32+o+1,h=`0x${n[d]}`,f=`0x${n[d+1]}`,l=ms.bnToUint256(h),g=ms.bnToUint256(f);i.push({0:l,1:g})}return i}async function U3({amount:e,depositPayload:t,depositTxId:n,depositIndex:r,depositProofSignature:a,token:o,walletAccount:i,recipientAddress:s,env:c}){const u=await i.getChainId(),d=(n.startsWith("0x")?n.slice(2):n).match(/.{2}/g);if(!d)throw new Error("Missing deposit tx id");const h=gr(u),l=yr({...{chainId:u,provider:h,token:o},contractType:"bascule",env:c}),g=Dm(Buffer.from(P3(Buffer.from(t.slice(8),"hex"))).toString("hex")),b=await l.get_deposit_status(BigInt(g));if(b.activeVariant()!=="Reported"){const I=`The deposit cannot be claimed. Bascule status: ${b.activeVariant()}`;console.warn(I)}const y=BigInt(gf(u)),_=s||i.address,k=BigInt(Dm(d.reverse().join(""))),w=Number(r),v=N3(a),A=yr({chainId:u,provider:i,token:o,contractType:"bridge",env:c}),{transaction_hash:T}=await A.mint(y,_,BigInt(e.toString()),k,w,v);return T}var Xu={},mt={},xn={},Fm;function nn(){return Fm||(Fm=1,Object.defineProperty(xn,"__esModule",{value:!0}),xn.testnet=xn.regtest=xn.bitcoin=void 0,xn.bitcoin={messagePrefix:`Bitcoin Signed Message:
|
|
217
|
+
[JSON.stringify Error/Circular]: ${s}`}return i}log(t,n,r){if(!this.shouldLog(Ii[t]))return;const a={level:t,message:n,timestamp:this.getTimestamp(),data:r},o=this.formatMessage(a);switch(t){case"DEBUG":console.debug(o);break;case"INFO":console.info(o);break;case"WARN":console.warn(o);break;case"ERROR":case"FATAL":console.error(o);break;case"OFF":break;default:console.log(o);break}}debug(t,n){this.log("DEBUG",t,n)}info(t,n){this.log("INFO",t,n)}warn(t,n){this.log("WARN",t,n)}error(t,n){this.log("ERROR",t,n)}fatal(t,n){this.log("FATAL",t,n)}setLogLevel(t){this.config.set("logLevel",t)}getLogLevel(){return this.config.get("logLevel","INFO")}getEnabledLogLevels(){return Object.keys(Ii).filter(t=>this.shouldLog(Ii[t])&&t!=="OFF")}},ie(yn,"instance"),yn),xt=YT.getInstance();function Pa(e){return new Promise(t=>{setTimeout(t,e)})}function gk(e){const t={...e};return delete t.sierra_program_debug_info,t.abi=Fo(Vt(e.abi)),t.sierra_program=Fo(Vt(e.sierra_program)),t.sierra_program=sf(t.sierra_program),t}function JT(e){const t=Qe(e)?Fa(e):e;return tn(e)?gk(t):{...t,..."program"in t&&{program:sf(t.program)}}}var Mo=(e,t=!1)=>{t||xt.info("Using default public node url, please provide nodeUrl in provider options!");const n=hw[e??"SN_SEPOLIA"],r=Math.floor(Math.random()*n.length);return n[r]},yk=Object.values(Rn),je=class{constructor(e){ie(this,"hash",null);ie(this,"number",null);ie(this,"tag",null);ie(this,"valueOf",()=>this.number);ie(this,"toString",()=>this.hash);this.setIdentifier(e)}setIdentifier(e){if(Qe(e))if(Yd(e))this.number=parseInt(e,10);else if($t(e))this.hash=e;else if(yk.includes(e))this.tag=e;else throw TypeError(`Block identifier unmanaged: ${e}`);else Un(e)?this.hash=ee(e):Yr(e)?this.number=e:this.tag=Rn.PENDING;if(Yr(this.number)&&this.number<0)throw TypeError(`Block number (${this.number}) can't be negative`)}get queryIdentifier(){return this.number!==null?`blockNumber=${this.number}`:this.hash!==null?`blockHash=${this.hash}`:`blockNumber=${this.tag}`}get identifier(){return this.number!==null?{block_number:this.number}:this.hash!==null?{block_hash:this.hash}:this.tag}set identifier(e){this.setIdentifier(e)}};function Pt(e){const t=e.version?ee(e.version):we.ETransactionVersion.V3;return t===we.ETransactionVersion.V3||t===we.ETransactionVersion.F3}function lf(e,t){const[n,r]=e.split("."),[a,o]=t.split(".");return n===a&&r===o}function QT(e){return e.status==="PENDING"}function eI(e){return!("block_hash"in e)}function tI(e){return!("block_hash"in e)}var nI={};Oe(nI,{buildUDCCall:()=>iI,fromCallsToExecuteCalldata:()=>df,fromCallsToExecuteCalldataWithNonce:()=>rI,fromCallsToExecuteCalldata_cairo1:()=>wk,getExecuteCalldata:()=>oI,getVersionsByType:()=>ff,transformCallsToMulticallArrays:()=>bk,transformCallsToMulticallArrays_cairo1:()=>aI});var bk=e=>{const t=[],n=[];return e.forEach(r=>{const a=xe.compile(r.calldata||[]);t.push({to:He(r.contractAddress).toString(10),selector:He(Ke(r.entrypoint)).toString(10),data_offset:n.length.toString(),data_len:a.length.toString()}),n.push(...a)}),{callArray:t,calldata:xe.compile({calldata:n})}},df=e=>{const{callArray:t,calldata:n}=bk(e);return[...xe.compile({callArray:t}),...n]},rI=(e,t)=>[...df(e),He(t).toString()],aI=e=>e.map(n=>({to:He(n.contractAddress).toString(10),selector:He(Ke(n.entrypoint)).toString(10),calldata:xe.compile(n.calldata||[])})),wk=e=>{const t=e.map(n=>({contractAddress:n.contractAddress,entrypoint:n.entrypoint,calldata:Array.isArray(n.calldata)&&"__compiled__"in n.calldata?n.calldata:xe.compile(n.calldata)}));return xe.compile({orderCalls:t})},oI=(e,t="0")=>t==="1"?wk(e):df(e);function iI(e,t){const n=[].concat(e).map(r=>{const{classHash:a,salt:o,unique:i=!0,constructorCalldata:s=[]}=r,c=xe.compile(s),u=o??pk();return{call:{contractAddress:ko.ADDRESS,entrypoint:ko.ENTRYPOINT,calldata:[a,u,Ow(i),c.length,...c]},address:ik(i?Ra(t,u):u,a,c,i?ko.ADDRESS:0)}});return{calls:n.map(r=>r.call),addresses:n.map(r=>r.address)}}function ff(e){return e==="fee"?{v1:we.ETransactionVersion.F1,v2:we.ETransactionVersion.F2,v3:we.ETransactionVersion.F3}:{v1:we.ETransactionVersion.V1,v2:we.ETransactionVersion.V2,v3:we.ETransactionVersion.V3}}var Vu={headers:{"Content-Type":"application/json"},blockIdentifier:Rn.PENDING,retries:200},sI=class{constructor(e){ie(this,"nodeUrl");ie(this,"headers");ie(this,"requestId");ie(this,"blockIdentifier");ie(this,"retries");ie(this,"waitMode");ie(this,"chainId");ie(this,"specVersion");ie(this,"transactionRetryIntervalFallback");ie(this,"batchClient");ie(this,"baseFetch");const{baseFetch:t,batch:n,blockIdentifier:r,chainId:a,headers:o,nodeUrl:i,retries:s,specVersion:c,transactionRetryIntervalFallback:u,waitMode:d}=e||{};Object.values(Ps).includes(i)?this.nodeUrl=Mo(i,e==null?void 0:e.default):i?this.nodeUrl=i:this.nodeUrl=Mo(void 0,e==null?void 0:e.default),this.baseFetch=t??mk,this.blockIdentifier=r??Vu.blockIdentifier,this.chainId=a,this.headers={...Vu.headers,...o},this.retries=s??Vu.retries,this.specVersion=c,this.transactionRetryIntervalFallback=u,this.waitMode=d??!1,this.requestId=0,typeof n=="number"&&(this.batchClient=new Ew({nodeUrl:this.nodeUrl,headers:this.headers,interval:n,baseFetch:this.baseFetch}))}get transactionRetryIntervalDefault(){return this.transactionRetryIntervalFallback??5e3}setChainId(e){this.chainId=e}fetch(e,t,n=0){const r={id:n,jsonrpc:"2.0",method:e,...t&&{params:t}};return this.baseFetch(this.nodeUrl,{method:"POST",body:Vt(r),headers:this.headers})}errorHandler(e,t,n,r){if(n)throw new yw(n,e,t);if(r instanceof No)throw r;if(r)throw Error(r.message)}async fetchEndpoint(e,t){var n;try{if(this.batchClient){const{error:i,result:s}=await this.batchClient.fetch(e,t,this.requestId+=1);return this.errorHandler(e,t,i),s}const r=await this.fetch(e,t,this.requestId+=1),{error:a,result:o}=await r.json();return this.errorHandler(e,t,a),o}catch(r){throw this.errorHandler(e,t,(n=r==null?void 0:r.response)==null?void 0:n.data,r),r}}async getChainId(){return this.chainId??(this.chainId=await this.fetchEndpoint("starknet_chainId")),this.chainId}async getSpecVersion(){return this.specVersion??(this.specVersion=await this.fetchEndpoint("starknet_specVersion")),this.specVersion}getNonceForAddress(e,t=this.blockIdentifier){const n=ee(e),r=new je(t).identifier;return this.fetchEndpoint("starknet_getNonce",{contract_address:n,block_id:r})}getBlockLatestAccepted(){return this.fetchEndpoint("starknet_blockHashAndNumber")}getBlockNumber(){return this.fetchEndpoint("starknet_blockNumber")}getBlockWithTxHashes(e=this.blockIdentifier){const t=new je(e).identifier;return this.fetchEndpoint("starknet_getBlockWithTxHashes",{block_id:t})}getBlockWithTxs(e=this.blockIdentifier){const t=new je(e).identifier;return this.fetchEndpoint("starknet_getBlockWithTxs",{block_id:t})}getBlockStateUpdate(e=this.blockIdentifier){const t=new je(e).identifier;return this.fetchEndpoint("starknet_getStateUpdate",{block_id:t})}getBlockTransactionsTraces(e=this.blockIdentifier){const t=new je(e).identifier;return this.fetchEndpoint("starknet_traceBlockTransactions",{block_id:t})}getBlockTransactionCount(e=this.blockIdentifier){const t=new je(e).identifier;return this.fetchEndpoint("starknet_getBlockTransactionCount",{block_id:t})}getTransactionByHash(e){const t=ee(e);return this.fetchEndpoint("starknet_getTransactionByHash",{transaction_hash:t})}getTransactionByBlockIdAndIndex(e,t){const n=new je(e).identifier;return this.fetchEndpoint("starknet_getTransactionByBlockIdAndIndex",{block_id:n,index:t})}getTransactionReceipt(e){const t=ee(e);return this.fetchEndpoint("starknet_getTransactionReceipt",{transaction_hash:t})}getTransactionTrace(e){const t=ee(e);return this.fetchEndpoint("starknet_traceTransaction",{transaction_hash:t})}getTransactionStatus(e){const t=ee(e);return this.fetchEndpoint("starknet_getTransactionStatus",{transaction_hash:t})}simulateTransaction(e,t={}){const{blockIdentifier:n=this.blockIdentifier,skipValidate:r=!0,skipFeeCharge:a=!0}=t,o=new je(n).identifier,i=[];return r&&i.push(Se.ESimulationFlag.SKIP_VALIDATE),a&&i.push(Se.ESimulationFlag.SKIP_FEE_CHARGE),this.fetchEndpoint("starknet_simulateTransactions",{block_id:o,transactions:e.map(s=>this.buildTransaction(s)),simulation_flags:i})}async waitForTransaction(e,t){const n=ee(e);let{retries:r}=this,a=!1,o=!1;const i=(t==null?void 0:t.retryInterval)??this.transactionRetryIntervalDefault,s=(t==null?void 0:t.errorStates)??[Se.ETransactionStatus.REJECTED],c=(t==null?void 0:t.successStates)??[Se.ETransactionExecutionStatus.SUCCEEDED,Se.ETransactionStatus.ACCEPTED_ON_L2,Se.ETransactionStatus.ACCEPTED_ON_L1];let u;for(;!a;){await Pa(i);try{u=await this.getTransactionStatus(n);const h=u.execution_status,f=u.finality_status;if(!f)throw new Error("waiting for transaction status");if(s.includes(h)||s.includes(f)){const l=`${h}: ${f}`,g=new Error(l);throw g.response=u,o=!0,g}else(c.includes(h)||c.includes(f))&&(a=!0)}catch(h){if(h instanceof Error&&o)throw h;if(r<=0)throw new Error(`waitForTransaction timed-out with retries ${this.retries}`)}r-=1}let d=null;for(;d===null;){try{d=await this.getTransactionReceipt(n)}catch{if(r<=0)throw new Error(`waitForTransaction timed-out with retries ${this.retries}`)}r-=1,await Pa(i)}return d}getStorageAt(e,t,n=this.blockIdentifier){const r=ee(e),a=Kd(t),o=new je(n).identifier;return this.fetchEndpoint("starknet_getStorageAt",{contract_address:r,key:a,block_id:o})}getClassHashAt(e,t=this.blockIdentifier){const n=ee(e),r=new je(t).identifier;return this.fetchEndpoint("starknet_getClassHashAt",{block_id:r,contract_address:n})}getClass(e,t=this.blockIdentifier){const n=ee(e),r=new je(t).identifier;return this.fetchEndpoint("starknet_getClass",{class_hash:n,block_id:r})}getClassAt(e,t=this.blockIdentifier){const n=ee(e),r=new je(t).identifier;return this.fetchEndpoint("starknet_getClassAt",{block_id:r,contract_address:n})}async getEstimateFee(e,{blockIdentifier:t=this.blockIdentifier,skipValidate:n=!0}){const r=new je(t).identifier;let a={};return lf("0.5",await this.getSpecVersion())||(a={simulation_flags:n?[Se.ESimulationFlag.SKIP_VALIDATE]:[]}),this.fetchEndpoint("starknet_estimateFee",{request:e.map(o=>this.buildTransaction(o,"fee")),block_id:r,...a})}async invoke(e,t){let n;return Pt(t)?n=this.fetchEndpoint("starknet_addInvokeTransaction",{invoke_transaction:{type:Se.ETransactionType.INVOKE,sender_address:e.contractAddress,calldata:xe.toHex(e.calldata),version:Se.ETransactionVersion.V3,signature:Xe(e.signature),nonce:ee(t.nonce),resource_bounds:t.resourceBounds,tip:ee(t.tip),paymaster_data:t.paymasterData.map(r=>ee(r)),account_deployment_data:t.accountDeploymentData.map(r=>ee(r)),nonce_data_availability_mode:t.nonceDataAvailabilityMode,fee_data_availability_mode:t.feeDataAvailabilityMode}}):(n=this.fetchEndpoint("starknet_addInvokeTransaction",{invoke_transaction:{sender_address:e.contractAddress,calldata:xe.toHex(e.calldata),type:Se.ETransactionType.INVOKE,max_fee:ee(t.maxFee||0),version:Se.ETransactionVersion.V1,signature:Xe(e.signature),nonce:ee(t.nonce)}}),xt.warn(Zt.legacyTxWarningMessage,{version:Se.ETransactionVersion.V1,type:Se.ETransactionType.INVOKE})),this.waitMode?this.waitForTransaction((await n).transaction_hash):n}async declare({contract:e,signature:t,senderAddress:n,compiledClassHash:r},a){let o;if(!tn(e)&&!Pt(a))o=this.fetchEndpoint("starknet_addDeclareTransaction",{declare_transaction:{type:Se.ETransactionType.DECLARE,contract_class:{program:e.program,entry_points_by_type:e.entry_points_by_type,abi:e.abi},version:Se.ETransactionVersion.V1,max_fee:ee(a.maxFee||0),signature:Xe(t),sender_address:n,nonce:ee(a.nonce)}}),xt.warn(Zt.legacyTxWarningMessage,{version:Se.ETransactionVersion.V1,type:Se.ETransactionType.DECLARE});else if(tn(e)&&!Pt(a))o=this.fetchEndpoint("starknet_addDeclareTransaction",{declare_transaction:{type:Se.ETransactionType.DECLARE,contract_class:{sierra_program:Mr(e.sierra_program),contract_class_version:e.contract_class_version,entry_points_by_type:e.entry_points_by_type,abi:e.abi},compiled_class_hash:r||"",version:Se.ETransactionVersion.V2,max_fee:ee(a.maxFee||0),signature:Xe(t),sender_address:n,nonce:ee(a.nonce)}}),xt.warn(Zt.legacyTxWarningMessage,{version:Se.ETransactionVersion.V2,type:Se.ETransactionType.DECLARE});else if(tn(e)&&Pt(a))o=this.fetchEndpoint("starknet_addDeclareTransaction",{declare_transaction:{type:Se.ETransactionType.DECLARE,sender_address:n,compiled_class_hash:r||"",version:Se.ETransactionVersion.V3,signature:Xe(t),nonce:ee(a.nonce),contract_class:{sierra_program:Mr(e.sierra_program),contract_class_version:e.contract_class_version,entry_points_by_type:e.entry_points_by_type,abi:e.abi},resource_bounds:a.resourceBounds,tip:ee(a.tip),paymaster_data:a.paymasterData.map(i=>ee(i)),account_deployment_data:a.accountDeploymentData.map(i=>ee(i)),nonce_data_availability_mode:a.nonceDataAvailabilityMode,fee_data_availability_mode:a.feeDataAvailabilityMode}});else throw Error("declare unspotted parameters");return this.waitMode?this.waitForTransaction((await o).transaction_hash):o}async deployAccount({classHash:e,constructorCalldata:t,addressSalt:n,signature:r},a){let o;return Pt(a)?o=this.fetchEndpoint("starknet_addDeployAccountTransaction",{deploy_account_transaction:{type:Se.ETransactionType.DEPLOY_ACCOUNT,version:Se.ETransactionVersion.V3,signature:Xe(r),nonce:ee(a.nonce),contract_address_salt:ee(n||0),constructor_calldata:xe.toHex(t||[]),class_hash:ee(e),resource_bounds:a.resourceBounds,tip:ee(a.tip),paymaster_data:a.paymasterData.map(i=>ee(i)),nonce_data_availability_mode:a.nonceDataAvailabilityMode,fee_data_availability_mode:a.feeDataAvailabilityMode}}):(o=this.fetchEndpoint("starknet_addDeployAccountTransaction",{deploy_account_transaction:{constructor_calldata:xe.toHex(t||[]),class_hash:ee(e),contract_address_salt:ee(n||0),type:Se.ETransactionType.DEPLOY_ACCOUNT,max_fee:ee(a.maxFee||0),version:Se.ETransactionVersion.V1,signature:Xe(r),nonce:ee(a.nonce)}}),xt.warn(Zt.legacyTxWarningMessage,{version:Se.ETransactionVersion.V1,type:Se.ETransactionType.DEPLOY_ACCOUNT})),this.waitMode?this.waitForTransaction((await o).transaction_hash):o}callContract(e,t=this.blockIdentifier){const n=new je(t).identifier;return this.fetchEndpoint("starknet_call",{request:{contract_address:e.contractAddress,entry_point_selector:Ke(e.entrypoint),calldata:xe.toHex(e.calldata)},block_id:n})}estimateMessageFee(e,t=this.blockIdentifier){const{from_address:n,to_address:r,entry_point_selector:a,payload:o}=e,i={from_address:uf(n),to_address:ee(r),entry_point_selector:ni(a),payload:Wd(o)},s=new je(t).identifier;return this.fetchEndpoint("starknet_estimateMessageFee",{message:i,block_id:s})}getSyncingStats(){return this.fetchEndpoint("starknet_syncing")}getEvents(e){return this.fetchEndpoint("starknet_getEvents",{filter:e})}buildTransaction(e,t){const n=ff(t);let r;if(Pt(e)?r={signature:Xe(e.signature),nonce:ee(e.nonce),resource_bounds:e.resourceBounds,tip:ee(e.tip),paymaster_data:e.paymasterData.map(a=>ee(a)),nonce_data_availability_mode:e.nonceDataAvailabilityMode,fee_data_availability_mode:e.feeDataAvailabilityMode,account_deployment_data:e.accountDeploymentData.map(a=>ee(a))}:(r={signature:Xe(e.signature),nonce:ee(e.nonce),max_fee:ee(e.maxFee||0)},xt.warn(Zt.legacyTxWarningMessage,{version:e.version,type:e.type})),e.type===Qt.INVOKE)return{type:Se.ETransactionType.INVOKE,sender_address:e.contractAddress,calldata:xe.toHex(e.calldata),version:ee(e.version||n.v3),...r};if(e.type===Qt.DECLARE)return tn(e.contract)?{type:e.type,contract_class:{...e.contract,sierra_program:Mr(e.contract.sierra_program)},compiled_class_hash:e.compiledClassHash||"",sender_address:e.senderAddress,version:ee(e.version||n.v3),...r}:{type:e.type,contract_class:e.contract,sender_address:e.senderAddress,version:ee(e.version||n.v1),...r};if(e.type===Qt.DEPLOY_ACCOUNT){const{account_deployment_data:a,...o}=r;return{type:e.type,constructor_calldata:xe.toHex(e.constructorCalldata||[]),class_hash:ee(e.classHash),contract_address_salt:ee(e.addressSalt||0),version:ee(e.version||n.v3),...o}}throw Error("RPC buildTransaction received unknown TransactionType")}},cI={};Oe(cI,{RpcChannel:()=>kk});var $u={headers:{"Content-Type":"application/json"},blockIdentifier:Rn.PENDING,retries:200},kk=class{constructor(e){ie(this,"nodeUrl");ie(this,"headers");ie(this,"requestId");ie(this,"blockIdentifier");ie(this,"retries");ie(this,"waitMode");ie(this,"chainId");ie(this,"specVersion");ie(this,"transactionRetryIntervalFallback");ie(this,"batchClient");ie(this,"baseFetch");const{baseFetch:t,batch:n,blockIdentifier:r,chainId:a,headers:o,nodeUrl:i,retries:s,specVersion:c,transactionRetryIntervalFallback:u,waitMode:d}=e||{};Object.values(Ps).includes(i)?this.nodeUrl=Mo(i,e==null?void 0:e.default):i?this.nodeUrl=i:this.nodeUrl=Mo(void 0,e==null?void 0:e.default),this.baseFetch=t??mk,this.blockIdentifier=r??$u.blockIdentifier,this.chainId=a,this.headers={...$u.headers,...o},this.retries=s??$u.retries,this.specVersion=c,this.transactionRetryIntervalFallback=u,this.waitMode=d??!1,this.requestId=0,typeof n=="number"&&(this.batchClient=new Ew({nodeUrl:this.nodeUrl,headers:this.headers,interval:n,baseFetch:this.baseFetch}))}get transactionRetryIntervalDefault(){return this.transactionRetryIntervalFallback??5e3}setChainId(e){this.chainId=e}fetch(e,t,n=0){const r={id:n,jsonrpc:"2.0",method:e,...t&&{params:t}};return this.baseFetch(this.nodeUrl,{method:"POST",body:Vt(r),headers:this.headers})}errorHandler(e,t,n,r){if(n)throw new yw(n,e,t);if(r instanceof No)throw r;if(r)throw Error(r.message)}async fetchEndpoint(e,t){var n;try{if(this.batchClient){const{error:i,result:s}=await this.batchClient.fetch(e,t,this.requestId+=1);return this.errorHandler(e,t,i),s}const r=await this.fetch(e,t,this.requestId+=1),{error:a,result:o}=await r.json();return this.errorHandler(e,t,a),o}catch(r){throw this.errorHandler(e,t,(n=r==null?void 0:r.response)==null?void 0:n.data,r),r}}async getChainId(){return this.chainId??(this.chainId=await this.fetchEndpoint("starknet_chainId")),this.chainId}async getSpecVersion(){return this.specVersion??(this.specVersion=await this.fetchEndpoint("starknet_specVersion")),this.specVersion}getNonceForAddress(e,t=this.blockIdentifier){const n=ee(e),r=new je(t).identifier;return this.fetchEndpoint("starknet_getNonce",{contract_address:n,block_id:r})}getBlockLatestAccepted(){return this.fetchEndpoint("starknet_blockHashAndNumber")}getBlockNumber(){return this.fetchEndpoint("starknet_blockNumber")}getBlockWithTxHashes(e=this.blockIdentifier){const t=new je(e).identifier;return this.fetchEndpoint("starknet_getBlockWithTxHashes",{block_id:t})}getBlockWithTxs(e=this.blockIdentifier){const t=new je(e).identifier;return this.fetchEndpoint("starknet_getBlockWithTxs",{block_id:t})}getBlockWithReceipts(e=this.blockIdentifier){const t=new je(e).identifier;return this.fetchEndpoint("starknet_getBlockWithReceipts",{block_id:t})}getBlockStateUpdate(e=this.blockIdentifier){const t=new je(e).identifier;return this.fetchEndpoint("starknet_getStateUpdate",{block_id:t})}getBlockTransactionsTraces(e=this.blockIdentifier){const t=new je(e).identifier;return this.fetchEndpoint("starknet_traceBlockTransactions",{block_id:t})}getBlockTransactionCount(e=this.blockIdentifier){const t=new je(e).identifier;return this.fetchEndpoint("starknet_getBlockTransactionCount",{block_id:t})}getTransactionByHash(e){const t=ee(e);return this.fetchEndpoint("starknet_getTransactionByHash",{transaction_hash:t})}getTransactionByBlockIdAndIndex(e,t){const n=new je(e).identifier;return this.fetchEndpoint("starknet_getTransactionByBlockIdAndIndex",{block_id:n,index:t})}getTransactionReceipt(e){const t=ee(e);return this.fetchEndpoint("starknet_getTransactionReceipt",{transaction_hash:t})}getTransactionTrace(e){const t=ee(e);return this.fetchEndpoint("starknet_traceTransaction",{transaction_hash:t})}getTransactionStatus(e){const t=ee(e);return this.fetchEndpoint("starknet_getTransactionStatus",{transaction_hash:t})}simulateTransaction(e,t={}){const{blockIdentifier:n=this.blockIdentifier,skipValidate:r=!0,skipFeeCharge:a=!0}=t,o=new je(n).identifier,i=[];return r&&i.push(ho.SKIP_VALIDATE),a&&i.push(ho.SKIP_FEE_CHARGE),this.fetchEndpoint("starknet_simulateTransactions",{block_id:o,transactions:e.map(s=>this.buildTransaction(s)),simulation_flags:i})}async waitForTransaction(e,t){const n=ee(e);let{retries:r}=this,a=!1,o=!1;const i=(t==null?void 0:t.retryInterval)??this.transactionRetryIntervalDefault,s=(t==null?void 0:t.errorStates)??[mo.REJECTED],c=(t==null?void 0:t.successStates)??[Ql.SUCCEEDED,mo.ACCEPTED_ON_L2,mo.ACCEPTED_ON_L1];let u;for(;!a;){await Pa(i);try{u=await this.getTransactionStatus(n);const h=u.execution_status,f=u.finality_status;if(!f)throw new Error("waiting for transaction status");if(s.includes(h)||s.includes(f)){const l=`${h}: ${f}`,g=new Error(l);throw g.response=u,o=!0,g}else(c.includes(h)||c.includes(f))&&(a=!0)}catch(h){if(h instanceof Error&&o)throw h;if(r<=0)throw new Error(`waitForTransaction timed-out with retries ${this.retries}`)}r-=1}let d=null;for(;d===null;){try{d=await this.getTransactionReceipt(n)}catch{if(r<=0)throw new Error(`waitForTransaction timed-out with retries ${this.retries}`)}r-=1,await Pa(i)}return d}getStorageAt(e,t,n=this.blockIdentifier){const r=ee(e),a=Kd(t),o=new je(n).identifier;return this.fetchEndpoint("starknet_getStorageAt",{contract_address:r,key:a,block_id:o})}getClassHashAt(e,t=this.blockIdentifier){const n=ee(e),r=new je(t).identifier;return this.fetchEndpoint("starknet_getClassHashAt",{block_id:r,contract_address:n})}getClass(e,t=this.blockIdentifier){const n=ee(e),r=new je(t).identifier;return this.fetchEndpoint("starknet_getClass",{class_hash:n,block_id:r})}getClassAt(e,t=this.blockIdentifier){const n=ee(e),r=new je(t).identifier;return this.fetchEndpoint("starknet_getClassAt",{block_id:r,contract_address:n})}async getEstimateFee(e,{blockIdentifier:t=this.blockIdentifier,skipValidate:n=!0}){const r=new je(t).identifier;let a={};return lf("0.5",await this.getSpecVersion())||(a={simulation_flags:n?[ho.SKIP_VALIDATE]:[]}),this.fetchEndpoint("starknet_estimateFee",{request:e.map(o=>this.buildTransaction(o,"fee")),block_id:r,...a})}async invoke(e,t){let n;return Pt(t)?n=this.fetchEndpoint("starknet_addInvokeTransaction",{invoke_transaction:{type:Et.INVOKE,sender_address:e.contractAddress,calldata:xe.toHex(e.calldata),version:Ct.V3,signature:Xe(e.signature),nonce:ee(t.nonce),resource_bounds:t.resourceBounds,tip:ee(t.tip),paymaster_data:t.paymasterData.map(r=>ee(r)),account_deployment_data:t.accountDeploymentData.map(r=>ee(r)),nonce_data_availability_mode:t.nonceDataAvailabilityMode,fee_data_availability_mode:t.feeDataAvailabilityMode}}):(n=this.fetchEndpoint("starknet_addInvokeTransaction",{invoke_transaction:{sender_address:e.contractAddress,calldata:xe.toHex(e.calldata),type:Et.INVOKE,max_fee:ee(t.maxFee||0),version:Ct.V1,signature:Xe(e.signature),nonce:ee(t.nonce)}}),xt.warn(Zt.legacyTxWarningMessage,{version:Ct.V1,type:Et.INVOKE})),this.waitMode?this.waitForTransaction((await n).transaction_hash):n}async declare({contract:e,signature:t,senderAddress:n,compiledClassHash:r},a){let o;if(!tn(e)&&!Pt(a))o=this.fetchEndpoint("starknet_addDeclareTransaction",{declare_transaction:{type:Et.DECLARE,contract_class:{program:e.program,entry_points_by_type:e.entry_points_by_type,abi:e.abi},version:Ct.V1,max_fee:ee(a.maxFee||0),signature:Xe(t),sender_address:n,nonce:ee(a.nonce)}}),xt.warn(Zt.legacyTxWarningMessage,{version:Ct.V1,type:Et.DECLARE});else if(tn(e)&&!Pt(a))o=this.fetchEndpoint("starknet_addDeclareTransaction",{declare_transaction:{type:Et.DECLARE,contract_class:{sierra_program:Mr(e.sierra_program),contract_class_version:e.contract_class_version,entry_points_by_type:e.entry_points_by_type,abi:e.abi},compiled_class_hash:r||"",version:Ct.V2,max_fee:ee(a.maxFee||0),signature:Xe(t),sender_address:n,nonce:ee(a.nonce)}}),xt.warn(Zt.legacyTxWarningMessage,{version:Ct.V2,type:Et.DECLARE});else if(tn(e)&&Pt(a))o=this.fetchEndpoint("starknet_addDeclareTransaction",{declare_transaction:{type:Et.DECLARE,sender_address:n,compiled_class_hash:r||"",version:Ct.V3,signature:Xe(t),nonce:ee(a.nonce),contract_class:{sierra_program:Mr(e.sierra_program),contract_class_version:e.contract_class_version,entry_points_by_type:e.entry_points_by_type,abi:e.abi},resource_bounds:a.resourceBounds,tip:ee(a.tip),paymaster_data:a.paymasterData.map(i=>ee(i)),account_deployment_data:a.accountDeploymentData.map(i=>ee(i)),nonce_data_availability_mode:a.nonceDataAvailabilityMode,fee_data_availability_mode:a.feeDataAvailabilityMode}});else throw Error("declare unspotted parameters");return this.waitMode?this.waitForTransaction((await o).transaction_hash):o}async deployAccount({classHash:e,constructorCalldata:t,addressSalt:n,signature:r},a){let o;return Pt(a)?o=this.fetchEndpoint("starknet_addDeployAccountTransaction",{deploy_account_transaction:{type:Et.DEPLOY_ACCOUNT,version:Ct.V3,signature:Xe(r),nonce:ee(a.nonce),contract_address_salt:ee(n||0),constructor_calldata:xe.toHex(t||[]),class_hash:ee(e),resource_bounds:a.resourceBounds,tip:ee(a.tip),paymaster_data:a.paymasterData.map(i=>ee(i)),nonce_data_availability_mode:a.nonceDataAvailabilityMode,fee_data_availability_mode:a.feeDataAvailabilityMode}}):(o=this.fetchEndpoint("starknet_addDeployAccountTransaction",{deploy_account_transaction:{constructor_calldata:xe.toHex(t||[]),class_hash:ee(e),contract_address_salt:ee(n||0),type:Et.DEPLOY_ACCOUNT,max_fee:ee(a.maxFee||0),version:Ct.V1,signature:Xe(r),nonce:ee(a.nonce)}}),xt.warn(Zt.legacyTxWarningMessage,{version:Ct.V1,type:Et.DEPLOY_ACCOUNT})),this.waitMode?this.waitForTransaction((await o).transaction_hash):o}callContract(e,t=this.blockIdentifier){const n=new je(t).identifier;return this.fetchEndpoint("starknet_call",{request:{contract_address:e.contractAddress,entry_point_selector:Ke(e.entrypoint),calldata:xe.toHex(e.calldata)},block_id:n})}estimateMessageFee(e,t=this.blockIdentifier){const{from_address:n,to_address:r,entry_point_selector:a,payload:o}=e,i={from_address:uf(n),to_address:ee(r),entry_point_selector:ni(a),payload:Wd(o)},s=new je(t).identifier;return this.fetchEndpoint("starknet_estimateMessageFee",{message:i,block_id:s})}getSyncingStats(){return this.fetchEndpoint("starknet_syncing")}getEvents(e){return this.fetchEndpoint("starknet_getEvents",{filter:e})}buildTransaction(e,t){const n=ff(t);let r;if(Pt(e)?r={signature:Xe(e.signature),nonce:ee(e.nonce),resource_bounds:e.resourceBounds,tip:ee(e.tip),paymaster_data:e.paymasterData.map(a=>ee(a)),nonce_data_availability_mode:e.nonceDataAvailabilityMode,fee_data_availability_mode:e.feeDataAvailabilityMode,account_deployment_data:e.accountDeploymentData.map(a=>ee(a))}:(r={signature:Xe(e.signature),nonce:ee(e.nonce),max_fee:ee(e.maxFee||0)},xt.warn(Zt.legacyTxWarningMessage,{version:e.version,type:e.type})),e.type===Qt.INVOKE)return{type:Et.INVOKE,sender_address:e.contractAddress,calldata:xe.toHex(e.calldata),version:ee(e.version||n.v3),...r};if(e.type===Qt.DECLARE)return tn(e.contract)?{type:e.type,contract_class:{...e.contract,sierra_program:Mr(e.contract.sierra_program)},compiled_class_hash:e.compiledClassHash||"",sender_address:e.senderAddress,version:ee(e.version||n.v3),...r}:{type:e.type,contract_class:e.contract,sender_address:e.senderAddress,version:ee(e.version||n.v1),...r};if(e.type===Qt.DEPLOY_ACCOUNT){const{account_deployment_data:a,...o}=r;return{type:e.type,constructor_calldata:xe.toHex(e.constructorCalldata||[]),class_hash:ee(e.classHash),contract_address_salt:ee(e.addressSalt||0),version:ee(e.version||n.v3),...o}}throw Error("RPC buildTransaction received unknown TransactionType")}},jm=class{constructor(e){ie(this,"margin");this.margin=e}estimatedFeeToMaxFee(e){var t;return hk(e,(t=this.margin)==null?void 0:t.maxFee)}estimateFeeToBounds(e){var t,n;return cf(e,(t=this.margin)==null?void 0:t.l1BoundMaxAmount,(n=this.margin)==null?void 0:n.l1BoundMaxPricePerUnit)}parseGetBlockResponse(e){return{status:"PENDING",...e}}parseTransactionReceipt(e){return"actual_fee"in e&&Qe(e.actual_fee)?{...e,actual_fee:{amount:e.actual_fee,unit:"FRI"}}:e}parseFeeEstimateResponse(e){const t=e[0];return{overall_fee:He(t.overall_fee),gas_consumed:He(t.gas_consumed),gas_price:He(t.gas_price),unit:t.unit,suggestedMaxFee:this.estimatedFeeToMaxFee(t.overall_fee),resourceBounds:this.estimateFeeToBounds(t),data_gas_consumed:t.data_gas_consumed?He(t.data_gas_consumed):0n,data_gas_price:t.data_gas_price?He(t.data_gas_price):0n}}parseFeeEstimateBulkResponse(e){return e.map(t=>({overall_fee:He(t.overall_fee),gas_consumed:He(t.gas_consumed),gas_price:He(t.gas_price),unit:t.unit,suggestedMaxFee:this.estimatedFeeToMaxFee(t.overall_fee),resourceBounds:this.estimateFeeToBounds(t),data_gas_consumed:t.data_gas_consumed?He(t.data_gas_consumed):0n,data_gas_price:t.data_gas_price?He(t.data_gas_price):0n}))}parseSimulateTransactionResponse(e){return e.map(t=>({...t,suggestedMaxFee:this.estimatedFeeToMaxFee(t.fee_estimation.overall_fee),resourceBounds:this.estimateFeeToBounds(t.fee_estimation)}))}parseContractClassResponse(e){return{...e,abi:Qe(e.abi)?JSON.parse(e.abi):e.abi}}parseL1GasPriceResponse(e){return e.l1_gas_price.price_in_wei}},xm=class Yi{constructor(t){ie(this,"statusReceipt");ie(this,"value");[this.statusReceipt,this.value]=Yi.isSuccess(t)?["success",t]:Yi.isReverted(t)?["reverted",t]:Yi.isRejected(t)?["rejected",t]:["error",new Error("Unknown response type")];for(const[n]of Object.entries(this))Object.defineProperty(this,n,{enumerable:!1});for(const[n,r]of Object.entries(t))Object.defineProperty(this,n,{enumerable:!0,writable:!1,value:r})}match(t){return this.statusReceipt in t?t[this.statusReceipt](this.value):t._()}isSuccess(){return this.statusReceipt==="success"}isReverted(){return this.statusReceipt==="reverted"}isRejected(){return this.statusReceipt==="rejected"}isError(){return this.statusReceipt==="error"}static isSuccess(t){return t.execution_status===Xi.SUCCEEDED}static isReverted(t){return t.execution_status===Xi.REVERTED}static isRejected(t){return t.status===Xi.REJECTED}},_k={};Oe(_k,{TypedDataRevision:()=>Ie,encodeData:()=>Tk,encodeType:()=>jk,encodeValue:()=>vo,getDependencies:()=>hf,getMessageHash:()=>mf,getStructHash:()=>qo,getTypeHash:()=>xk,isMerkleTreeType:()=>Sk,prepareSelector:()=>Ak,validateTypedData:()=>$s,verifyMessage:()=>fI});var uI={};Oe(uI,{MerkleTree:()=>pf,proofMerklePath:()=>vk});var pf=class Ji{constructor(t,n=Do){ie(this,"leaves");ie(this,"branches",[]);ie(this,"root");ie(this,"hashMethod");this.hashMethod=n,this.leaves=t,this.root=this.build(t)}build(t){if(t.length===1)return t[0];t.length!==this.leaves.length&&this.branches.push(t);const n=[];for(let r=0;r<t.length;r+=2)r+1===t.length?n.push(Ji.hash(t[r],"0x0",this.hashMethod)):n.push(Ji.hash(t[r],t[r+1],this.hashMethod));return this.build(n)}static hash(t,n,r=Do){const[a,o]=[BigInt(t),BigInt(n)].sort((i,s)=>i>=s?1:-1);return r(a,o)}getProof(t,n=this.leaves,r=[]){const a=n.indexOf(t);if(a===-1)throw new Error("leaf not found");if(n.length===1)return r;const o=a%2===0,i=(o?n[a+1]:n[a-1])??"0x0",s=[...r,i],c=this.leaves.length===n.length?-1:this.branches.findIndex(d=>d.length===n.length),u=this.branches[c+1]??[this.root];return this.getProof(Ji.hash(o?t:i,o?i:t,this.hashMethod),u,s)}};function vk(e,t,n,r=Do){if(n.length===0)return e===t;const[a,...o]=n;return vk(e,pf.hash(t,a,r),o,r)}var lI={u256:JSON.parse('[{ "name": "low", "type": "u128" }, { "name": "high", "type": "u128" }]'),TokenAmount:JSON.parse('[{ "name": "token_address", "type": "ContractAddress" }, { "name": "amount", "type": "u256" }]'),NftId:JSON.parse('[{ "name": "collection_address", "type": "ContractAddress" }, { "name": "token_id", "type": "u256" }]')},Rt={[Ie.ACTIVE]:{domain:"StarknetDomain",hashMethod:ok,hashMerkleMethod:rk,escapeTypeString:e=>`"${e}"`,presetTypes:lI},[Ie.LEGACY]:{domain:"StarkNetDomain",hashMethod:ak,hashMerkleMethod:Do,escapeTypeString:e=>e,presetTypes:{}}};function Ci(e,t,{min:n,max:r}){const a=BigInt(e);be(a>=n&&a<=r,`${a} (${t}) is out of bounds [${n}, ${r}]`)}function Ek({types:e,domain:t}){if(Rt[Ie.ACTIVE].domain in e&&t.revision===Ie.ACTIVE)return Ie.ACTIVE;if(Rt[Ie.LEGACY].domain in e&&(t.revision??Ie.LEGACY)===Ie.LEGACY)return Ie.LEGACY}function sn(e){try{return ee(e)}catch{if(Qe(e))return ee(rt(e));throw new Error(`Invalid BigNumberish: ${e}`)}}function $s(e){const t=e;return!!(t.message&&t.primaryType&&t.types&&Ek(t))}function Ak(e){return $t(e)?e:Ke(e)}function Sk(e){return e.type==="merkletree"}function hf(e,t,n=[],r="",a=Ie.LEGACY){let o=[t];return t[t.length-1]==="*"?o=[t.slice(0,-1)]:a===Ie.ACTIVE&&(t==="enum"?o=[r]:t.match(/^\(.*\)$/)&&(o=t.slice(1,-1).split(",").map(i=>i[i.length-1]==="*"?i.slice(0,-1):i))),o.filter(i=>!n.includes(i)&&e[i]).reduce((i,s)=>[...i,...[s,...e[s].reduce((c,u)=>[...c,...hf(e,u.type,c,u.contains,a).filter(d=>!c.includes(d))],[])].filter(c=>!i.includes(c))],[])}function dI(e,t){if(t.parent&&t.key){const r=e[t.parent].find(o=>o.name===t.key);if(!Sk(r))throw new Error(`${t.key} is not a merkle tree`);if(r.contains.endsWith("*"))throw new Error(`Merkle tree contain property must not be an array but was given ${t.key}`);return r.contains}return"raw"}function jk(e,t,n=Ie.LEGACY){const r=n===Ie.ACTIVE?{...e,...Rt[n].presetTypes}:e,[a,...o]=hf(r,t,void 0,void 0,n),i=a?[a,...o.sort()]:[],s=Rt[n].escapeTypeString;return i.map(c=>{const u=r[c].map(d=>{const h=d.type==="enum"&&n===Ie.ACTIVE?d.contains:d.type,f=h.match(/^\(.*\)$/)?`(${h.slice(1,-1).split(",").map(l=>l&&s(l)).join(",")})`:s(h);return`${s(d.name)}:${f}`});return`${s(c)}(${u})`}).join("")}function xk(e,t,n=Ie.LEGACY){return Ke(jk(e,t,n))}function vo(e,t,n,r={},a=Ie.LEGACY){if(e[t])return[t,qo(e,t,n,a)];if(Rt[a].presetTypes[t])return[t,qo(Rt[a].presetTypes,t,n,a)];if(t.endsWith("*")){const o=n.map(i=>vo(e,t.slice(0,-1),i,void 0,a)[1]);return[t,Rt[a].hashMethod(o)]}switch(t){case"enum":{if(a===Ie.ACTIVE){const[o,i]=Object.entries(n)[0],s=e[r.parent].find(f=>f.name===r.key),c=e[s.contains],u=c.find(f=>f.name===o),d=c.indexOf(u),h=u.type.slice(1,-1).split(",").map((f,l)=>{if(!f)return f;const g=i[l];return vo(e,f,g,void 0,a)[1]});return[t,Rt[a].hashMethod([d,...h])]}return[t,sn(n)]}case"merkletree":{const o=dI(e,r),i=n.map(c=>vo(e,o,c,void 0,a)[1]),{root:s}=new pf(i,Rt[a].hashMerkleMethod);return["felt",s]}case"selector":return["felt",Ak(n)];case"string":{if(a===Ie.ACTIVE){const o=Us(n),i=[o.data.length,...o.data,o.pending_word,o.pending_word_len];return[t,Rt[a].hashMethod(i)]}return[t,sn(n)]}case"i128":{if(a===Ie.ACTIVE){const o=BigInt(n);return Ci(o,t,cw),[t,sn(o<0n?Vd+o:o)]}return[t,sn(n)]}case"timestamp":case"u128":return a===Ie.ACTIVE&&Ci(n,t,uw),[t,sn(n)];case"felt":case"shortstring":return a===Ie.ACTIVE&&Ci(sn(n),t,Nl),[t,sn(n)];case"ClassHash":case"ContractAddress":return a===Ie.ACTIVE&&Ci(n,t,Nl),[t,sn(n)];case"bool":return a===Ie.ACTIVE&&be(Gd(n),`Type mismatch for ${t} ${n}`),[t,sn(n)];default:{if(a===Ie.ACTIVE)throw new Error(`Unsupported type: ${t}`);return[t,sn(n)]}}}function Tk(e,t,n,r=Ie.LEGACY){const a=e[t]??Rt[r].presetTypes[t],[o,i]=a.reduce(([s,c],u)=>{if(n[u.name]===void 0||n[u.name]===null&&u.type!=="enum")throw new Error(`Cannot encode data: missing data for '${u.name}'`);const d=n[u.name],h={parent:t,key:u.name},[f,l]=vo(e,u.type,d,h,r);return[[...s,f],[...c,l]]},[["felt"],[xk(e,t,r)]]);return[o,i]}function qo(e,t,n,r=Ie.LEGACY){return Rt[r].hashMethod(Tk(e,t,n,r)[1])}function mf(e,t){if(!$s(e))throw new Error("Typed data does not match JSON schema");const n=Ek(e),{domain:r,hashMethod:a}=Rt[n],o=[rt("StarkNet Message"),qo(e.types,r,e.domain,n),t,qo(e.types,e.primaryType,e.message,n)];return a(o)}function fI(e,t,n,r){const a=$s(e);if(!Ho(e)&&!a)throw new Error("message has a wrong format.");if(a&&r===void 0)throw new Error("When providing a TypedData in message parameter, the accountAddress parameter has to be provided.");if(a&&!Ho(r))throw new Error("accountAddress shall be a BigNumberish");const o=a?mf(e,r):ee(e),i=Array.isArray(t)?new go(BigInt(t[0]),BigInt(t[1])):t,s=ee(n);return u0(i,o,s)}var Ik=class{constructor(e){ie(this,"responseParser");ie(this,"channel");ie(this,"getStateUpdate",this.getBlockStateUpdate);e&&"channel"in e?(this.channel=e.channel,this.responseParser="responseParser"in e?e.responseParser:new jm):(this.channel=new kk({...e,waitMode:!1}),this.responseParser=new jm(e==null?void 0:e.feeMarginPercentage))}fetch(e,t,n=0){return this.channel.fetch(e,t,n)}async getChainId(){return this.channel.getChainId()}async getSpecVersion(){return this.channel.getSpecVersion()}async getNonceForAddress(e,t){return this.channel.getNonceForAddress(e,t)}async getBlock(e){return this.channel.getBlockWithTxHashes(e).then(this.responseParser.parseGetBlockResponse)}async getBlockLatestAccepted(){return this.channel.getBlockLatestAccepted()}async getBlockNumber(){return this.channel.getBlockNumber()}async getBlockWithTxHashes(e){return this.channel.getBlockWithTxHashes(e)}async getBlockWithTxs(e){return this.channel.getBlockWithTxs(e)}async waitForBlock(e="pending",t=5e3){if(e===Rn.LATEST)return;const n=await this.getBlockNumber(),r=e===Rn.PENDING?n+1:Number(ee(e));if(r<=n)return;const{retries:a}=this.channel;let o=a,i=!1;for(;!i;)if(await this.getBlockNumber()===r?i=!0:await Pa(t),o-=1,o<=0)throw new Error(`waitForBlock() timed-out after ${a} tries.`)}async getL1GasPrice(e){return this.channel.getBlockWithTxHashes(e).then(this.responseParser.parseL1GasPriceResponse)}async getL1MessageHash(e){const t=await this.channel.getTransactionByHash(e);be(t.type==="L1_HANDLER","This L2 transaction is not a L1 message.");const{calldata:n,contract_address:r,entry_point_selector:a,nonce:o}=t,i=[n[0],r,o,a,n.length-1,...n.slice(1)];return Ns(i)}async getBlockWithReceipts(e){if(this.channel instanceof gw.RpcChannel)throw new No("Unsupported method for RPC version");return this.channel.getBlockWithReceipts(e)}async getBlockStateUpdate(e){return this.channel.getBlockStateUpdate(e)}async getBlockTransactionsTraces(e){return this.channel.getBlockTransactionsTraces(e)}async getBlockTransactionCount(e){return this.channel.getBlockTransactionCount(e)}async getPendingTransactions(){const{transactions:e}=await this.getBlockWithTxHashes(Rn.PENDING).then(this.responseParser.parseGetBlockResponse);return Promise.all(e.map(t=>this.getTransactionByHash(t)))}async getTransaction(e){return this.channel.getTransactionByHash(e)}async getTransactionByHash(e){return this.channel.getTransactionByHash(e)}async getTransactionByBlockIdAndIndex(e,t){return this.channel.getTransactionByBlockIdAndIndex(e,t)}async getTransactionReceipt(e){const t=await this.channel.getTransactionReceipt(e),n=this.responseParser.parseTransactionReceipt(t);return new xm(n)}async getTransactionTrace(e){return this.channel.getTransactionTrace(e)}async getTransactionStatus(e){return this.channel.getTransactionStatus(e)}async getSimulateTransaction(e,t){return this.channel.simulateTransaction(e,t).then(n=>this.responseParser.parseSimulateTransactionResponse(n))}async waitForTransaction(e,t){const n=await this.channel.waitForTransaction(e,t);return new xm(n)}async getStorageAt(e,t,n){return this.channel.getStorageAt(e,t,n)}async getClassHashAt(e,t){return this.channel.getClassHashAt(e,t)}async getClassByHash(e){return this.getClass(e)}async getClass(e,t){return this.channel.getClass(e,t).then(this.responseParser.parseContractClassResponse)}async getClassAt(e,t){return this.channel.getClassAt(e,t).then(this.responseParser.parseContractClassResponse)}async getContractVersion(e,t,{blockIdentifier:n=this.channel.blockIdentifier,compiler:r=!0}={}){let a;if(e)a=await this.getClassAt(e,n);else if(t)a=await this.getClass(t,n);else throw Error("getContractVersion require contractAddress or classHash");return tn(a)?r?{cairo:"1",compiler:nf(a.abi).compiler}:{cairo:"1",compiler:void 0}:{cairo:"0",compiler:"0"}}async getEstimateFee(e,t,n,r){return this.getInvokeEstimateFee(e,t,n,r)}async getInvokeEstimateFee(e,t,n,r){return this.channel.getEstimateFee([{type:Qt.INVOKE,...e,...t}],{blockIdentifier:n,skipValidate:r}).then(a=>this.responseParser.parseFeeEstimateResponse(a))}async getDeclareEstimateFee(e,t,n,r){return this.channel.getEstimateFee([{type:Qt.DECLARE,...e,...t}],{blockIdentifier:n,skipValidate:r}).then(a=>this.responseParser.parseFeeEstimateResponse(a))}async getDeployAccountEstimateFee(e,t,n,r){return this.channel.getEstimateFee([{type:Qt.DEPLOY_ACCOUNT,...e,...t}],{blockIdentifier:n,skipValidate:r}).then(a=>this.responseParser.parseFeeEstimateResponse(a))}async getEstimateFeeBulk(e,t){return this.channel.getEstimateFee(e,t).then(n=>this.responseParser.parseFeeEstimateBulkResponse(n))}async invokeFunction(e,t){return this.channel.invoke(e,t)}async declareContract(e,t){return this.channel.declare(e,t)}async deployAccountContract(e,t){return this.channel.deployAccount(e,t)}async callContract(e,t){return this.channel.callContract(e,t)}async estimateMessageFee(e,t){return this.channel.estimateMessageFee(e,t)}async getSyncingStats(){return this.channel.getSyncingStats()}async getEvents(e){return this.channel.getEvents(e)}async verifyMessageInStarknet(e,t,n,r,a){const o=$s(e);if(!Ho(e)&&!o)throw new Error("message has a wrong format.");if(!Ho(n))throw new Error("accountAddress shall be a BigNumberish");const i=o?mf(e,n):ee(e),s=r?[r]:["isValidSignature","is_valid_signature"],c=a||{okResponse:[],nokResponse:["0x0","0x00"],error:["argent/invalid-signature","is invalid, with respect to the public key","INVALID_SIG"]};let u;for(const d of s)try{const h=await this.callContract({contractAddress:ee(n),entrypoint:d,calldata:xe.compile({hash:He(i).toString(),signature:ui(t)})});if(c.nokResponse.includes(h[0].toString()))return!1;if(c.okResponse.length===0||c.okResponse.includes(h[0].toString()))return!0;throw Error("signatureVerificationResponse Error: response is not part of known responses")}catch(h){if(c.error.some(f=>h.message.includes(f)))return!1;u=h}throw Error(`Signature verification Error: ${u}`)}async isClassDeclared(e,t){let n;if(!e.classHash&&"contract"in e)n=$T(e).classHash;else if(e.classHash)n=e.classHash;else throw Error("contractClassIdentifier type not satisfied");try{return await this.getClass(n,t)instanceof Object}catch(r){if(r instanceof No)return!1;throw r}}async prepareInvocations(e){const t=[];for(const n of e)n.type===Qt.DECLARE?await this.isClassDeclared("payload"in n?n.payload:n)||t.unshift(n):t.push(n);return t}},pI={};Oe(pI,{StarknetIdContract:()=>$l,StarknetIdIdentityContract:()=>Gl,StarknetIdMulticallContract:()=>Kl,StarknetIdPfpContract:()=>Xl,StarknetIdPopContract:()=>Zl,StarknetIdVerifierContract:()=>Wl,dynamicCallData:()=>Ee,dynamicFelt:()=>st,execution:()=>cn,getStarknetIdContract:()=>Qi,getStarknetIdIdentityContract:()=>Ok,getStarknetIdMulticallContract:()=>Bk,getStarknetIdPfpContract:()=>Pk,getStarknetIdPopContract:()=>Rk,getStarknetIdVerifierContract:()=>zk,isStarkDomain:()=>Nk,useDecoded:()=>Vl,useEncoded:()=>Ck});var mn="abcdefghijklmnopqrstuvwxyz0123456789-",ba=BigInt(mn.length+1),nt="这来",Tm=BigInt(mn.length),Ml=BigInt(nt.length),Im=BigInt(nt.length+1);function ql(e){let t=0;for(;e.endsWith(nt[nt.length-1]);)e=e.substring(0,e.length-1),t+=1;return[e,t]}function Vl(e){let t="";return e.forEach(n=>{for(;n!==Pn;){const o=n%ba;if(n/=ba,o===BigInt(mn.length)){const i=n/Im;if(i===Pn){const s=n%Im;n=i,s===Pn?t+=mn[0]:t+=nt[Number(s)-1]}else{const s=n%Ml;t+=nt[Number(s)],n/=Ml}}else t+=mn[Number(o)]}const[r,a]=ql(t);a&&(t=r+(a%2===0?nt[nt.length-1].repeat(a/2-1)+nt[0]+mn[1]:nt[nt.length-1].repeat((a-1)/2+1))),t+="."}),t&&t.concat("stark")}function Ck(e){let t=BigInt(0),n=BigInt(1);if(e.endsWith(nt[0]+mn[1])){const[r,a]=ql(e.substring(0,e.length-2));e=r+nt[nt.length-1].repeat(2*(a+1))}else{const[r,a]=ql(e);a&&(e=r+nt[nt.length-1].repeat(1+2*(a-1)))}for(let r=0;r<e.length;r+=1){const a=e[r],o=mn.indexOf(a),i=BigInt(mn.indexOf(a));if(o!==-1)r===e.length-1&&e[r]===mn[0]?(t+=n*Tm,n*=ba,n*=ba):(t+=n*i,n*=ba);else if(nt.indexOf(a)!==-1){t+=n*Tm,n*=ba;const s=(r===e.length-1?1:0)+nt.indexOf(a);t+=n*BigInt(s),n*=Ml}}return t}var $l={MAINNET:"0x6ac597f8116f886fa1c97a23fa4e08299975ecaf6b598873ca6792b9bbfb678",TESTNET_SEPOLIA:"0x154bc2e1af9260b9e66af0e9c46fc757ff893b3ff6a85718a810baf1474"};function Qi(e){switch(e){case"0x534e5f4d41494e":return $l.MAINNET;case"0x534e5f5345504f4c4941":return $l.TESTNET_SEPOLIA;default:throw new Error("Starknet.id is not yet deployed on this network")}}var Gl={MAINNET:"0x05dbdedc203e92749e2e746e2d40a768d966bd243df04a6b712e222bc040a9af",TESTNET_SEPOLIA:"0x3697660a0981d734780731949ecb2b4a38d6a58fc41629ed611e8defda"};function Ok(e){switch(e){case"0x534e5f4d41494e":return Gl.MAINNET;case"0x534e5f5345504f4c4941":return Gl.TESTNET_SEPOLIA;default:throw new Error("Starknet.id verifier contract is not yet deployed on this network")}}var Kl="0x034ffb8f4452df7a613a0210824d6414dbadcddce6c6e19bf4ddc9e22ce5f970";function Bk(e){switch(e){case"0x534e5f4d41494e":return Kl;case"0x534e5f5345504f4c4941":return Kl;default:throw new Error("Starknet.id multicall contract is not yet deployed on this network")}}var Wl={MAINNET:"0x07d14dfd8ee95b41fce179170d88ba1f0d5a512e13aeb232f19cfeec0a88f8bf",TESTNET_SEPOLIA:"0x60B94fEDe525f815AE5E8377A463e121C787cCCf3a36358Aa9B18c12c4D566"};function zk(e){switch(e){case"0x534e5f4d41494e":return Wl.MAINNET;case"0x534e5f5345504f4c4941":return Wl.TESTNET_SEPOLIA;default:throw new Error("Starknet.id verifier contract is not yet deployed on this network")}}var Xl={MAINNET:"0x070aaa20ec4a46da57c932d9fd89ca5e6bb9ca3188d3df361a32306aff7d59c7",TESTNET_SEPOLIA:"0x9e7bdb8dabd02ea8cfc23b1d1c5278e46490f193f87516ed5ff2dfec02"};function Pk(e){switch(e){case"0x534e5f4d41494e":return Xl.MAINNET;case"0x534e5f5345504f4c4941":return Xl.TESTNET_SEPOLIA;default:throw new Error("Starknet.id profile picture verifier contract is not yet deployed on this network")}}var Zl={MAINNET:"0x0293eb2ba9862f762bd3036586d5755a782bd22e6f5028320f1d0405fd47bff4",TESTNET_SEPOLIA:"0x15ae88ae054caa74090b89025c1595683f12edf7a4ed2ad0274de3e1d4a"};function Rk(e){switch(e){case"0x534e5f4d41494e":return Zl.MAINNET;case"0x534e5f5345504f4c4941":return Zl.TESTNET_SEPOLIA;default:throw new Error("Starknet.id proof of personhood verifier contract is not yet deployed on this network")}}function cn(e,t=void 0,n=void 0){return new si({Static:e,IfEqual:t?za(t[0],t[1],t[2]):void 0,IfNotEqual:n?za(n[0],n[1],n[2]):void 0})}function st(e,t=void 0){return new si({Hardcoded:e,Reference:t?za(t[0],t[1]):void 0})}function Ee(e,t=void 0,n=void 0){return new si({Hardcoded:e,Reference:t?za(t[0],t[1]):void 0,ArrayReference:n?za(n[0],n[1]):void 0})}function Nk(e){return/^(?:[a-z0-9-]{1,48}(?:[a-z0-9-]{1,48}[a-z0-9-])?\.)*[a-z0-9-]{1,48}\.stark$/.test(e)}var hI=class es{async getStarkName(t,n){return es.getStarkName(this,t,n)}async getAddressFromStarkName(t,n){return es.getAddressFromStarkName(this,t,n)}async getStarkProfile(t,n,r,a,o,i,s){return es.getStarkProfile(this,t,n,r,a,o,i,s)}static async getStarkName(t,n,r){const a=await t.getChainId(),o=r??Qi(a);try{const s=(await t.callContract({contractAddress:o,entrypoint:"address_to_domain",calldata:xe.compile({address:n,hint:[]})})).map(u=>BigInt(u)).slice(1),c=Vl(s);if(!c)throw Error("Starkname not found");return c}catch(i){throw i instanceof Error&&i.message==="Starkname not found"?i:Error("Could not get stark name")}}static async getAddressFromStarkName(t,n,r){const a=n.endsWith(".stark")?n:`${n}.stark`;if(!Nk(a))throw new Error("Invalid domain, must be a valid .stark domain");const o=await t.getChainId(),i=r??Qi(o);try{const s=a.replace(".stark","").split(".").map(u=>Ck(u).toString(10));return(await t.callContract({contractAddress:i,entrypoint:"domain_to_address",calldata:xe.compile({domain:s,hint:[]})}))[0]}catch{throw Error("Could not get address from stark name")}}static async getStarkProfile(t,n,r,a,o,i,s,c){const u=await t.getChainId(),d=r??Qi(u),h=a??Ok(u),f=o??zk(u),l=i??Pk(u),g=s??Rk(u),b=c??Bk(u);try{const y=[{execution:cn({}),to:Ee(d),selector:Ee(Ke("address_to_domain")),calldata:[Ee(n),Ee("0")]},{execution:cn({}),to:st(d),selector:st(Ke("domain_to_id")),calldata:[Ee(void 0,void 0,[0,0])]},{execution:cn({}),to:st(h),selector:st(Ke("get_verifier_data")),calldata:[Ee(void 0,[1,0]),Ee(rt("twitter")),Ee(f),Ee("0")]},{execution:cn({}),to:st(h),selector:st(Ke("get_verifier_data")),calldata:[Ee(void 0,[1,0]),Ee(rt("github")),Ee(f),Ee("0")]},{execution:cn({}),to:st(h),selector:st(Ke("get_verifier_data")),calldata:[Ee(void 0,[1,0]),Ee(rt("discord")),Ee(f),Ee("0")]},{execution:cn({}),to:st(h),selector:st(Ke("get_verifier_data")),calldata:[Ee(void 0,[1,0]),Ee(rt("proof_of_personhood")),Ee(g),Ee("0")]},{execution:cn({}),to:st(h),selector:st(Ke("get_verifier_data")),calldata:[Ee(void 0,[1,0]),Ee(rt("nft_pp_contract")),Ee(l),Ee("0")]},{execution:cn({}),to:st(h),selector:st(Ke("get_extended_verifier_data")),calldata:[Ee(void 0,[1,0]),Ee(rt("nft_pp_id")),Ee("2"),Ee(l),Ee("0")]},{execution:cn(void 0,void 0,[6,0,0]),to:st(void 0,[6,0]),selector:st(Ke("tokenURI")),calldata:[Ee(void 0,[7,1]),Ee(void 0,[7,2])]}],_=await t.callContract({contractAddress:b,entrypoint:"aggregate",calldata:xe.compile({calls:y})});if(Array.isArray(_)){const k=parseInt(_[0],16),w=[];let v=1;for(let M=0;M<k&&v<_.length;M+=1){const D=parseInt(_[v],16);v+=1;const R=_.slice(v,v+D);w.push(R),v+=D}const A=Vl(w[0].slice(1).map(M=>BigInt(M))),T=w[2][0]!=="0x0"?BigInt(w[2][0]).toString():void 0,I=w[3][0]!=="0x0"?BigInt(w[3][0]).toString():void 0,z=w[4][0]!=="0x0"?BigInt(w[4][0]).toString():void 0,S=w[5][0]==="0x1",P=(_[0]==="0x9"?w[8].slice(1).map(M=>Jr(M)).join(""):void 0)||`https://starknet.id/api/identicons/${BigInt(w[1][0]).toString()}`;return{name:A,twitter:T,github:I,discord:z,proofOfPersonhood:S,profilePicture:P}}throw Error("Error while calling aggregate function")}catch(y){throw y instanceof Error?y:Error("Could not get user stark profile data from address")}}},mI=class extends Wj(Ik,hI){},gI=new Ik({default:!0}),ms={};Oe(ms,{UINT_128_MAX:()=>ya,UINT_256_MAX:()=>Nw,bnToUint256:()=>wI,isUint256:()=>bI,uint256ToBN:()=>yI});function yI(e){return new Ye(e).toBigInt()}function bI(e){return Ye.is(e)}function wI(e){return new Ye(e).toUint256HexString()}var kI={};Oe(kI,{getAbiEvents:()=>Uk,isAbiEvent:()=>Yl,parseEvents:()=>Lk,parseUDCEvent:()=>EI});function Yl(e){return e.type==="event"}function _I(e){return e.filter(t=>t.type==="event").reduce((t,n)=>{const r=n.name,a={...n};return a.name=r,{...t,[Ce(pr(hr(r)).toString(16))]:a}},{})}function vI(e){const t=e.filter(a=>Yl(a)&&a.kind==="struct"),n=e.filter(a=>Yl(a)&&a.kind==="enum");return t.reduce((a,o)=>{let i=[],{name:s}=o,c=!1;const u=f=>f.type===s;for(;;){const f=n.find(g=>g.variants.some(u));if(Ze(f))break;const l=f.variants.find(u);i.unshift(l.name),l.kind==="flat"&&(c=!0),s=f.name}if(i.length===0)throw new Error("inconsistency in ABI events definition.");c&&(i=[i[i.length-1]]);const d=i.pop();let h={[Ce(pr(hr(d)).toString(16))]:o};for(;i.length>0;)h={[Ce(pr(hr(i.pop())).toString(16))]:h};return h={...h},Hk(a,h)},{})}function Uk(e){return tf(e)?vI(e):_I(e)}function Hk(e,t){const n={...e};return kn(e)&&kn(t)&&Object.keys(t).forEach(r=>{kn(t[r])?r in e?n[r]=Hk(e[r],t[r]):Object.assign(n,{[r]:t[r]}):Object.assign(n,{[r]:t[r]})}),n}function Lk(e,t,n,r){return e.flat().reduce((o,i)=>{var l,g;let s=t[i.keys.shift()??0];if(!s)return o;for(;!s.name;){const b=i.keys.shift();be(!!b,'Not enough data in "keys" property of this event.'),s=s[b]}const c={};c[s.name]={};const u=i.keys[Symbol.iterator](),d=i.data[Symbol.iterator](),h=((l=s.members)==null?void 0:l.filter(b=>b.kind==="key"))||s.keys,f=((g=s.members)==null?void 0:g.filter(b=>b.kind==="data"))||s.data;return h.forEach(b=>{c[s.name][b.name]=ps(u,b,n,r,c[s.name])}),f.forEach(b=>{c[s.name][b.name]=ps(d,b,n,r,c[s.name])}),"block_hash"in i&&(c.block_hash=i.block_hash),"block_number"in i&&(c.block_number=i.block_number),"transaction_hash"in i&&(c.transaction_hash=i.transaction_hash),o.push(c),o},[])}function EI(e){var n;if(!((n=e.events)!=null&&n.length))throw new Error("UDC emitted event is empty");const t=e.events.find(r=>Uo(r.from_address)===Uo(ko.ADDRESS))||{data:[]};return{transaction_hash:e.transaction_hash,contract_address:t.data[0],address:t.data[0],deployer:t.data[1],unique:t.data[2],classHash:t.data[3],calldata_len:t.data[4],calldata:t.data.slice(5,5+parseInt(t.data[4],16)),salt:t.data[t.data.length-1]}}var AI={};Oe(AI,{buildExecuteFromOutsideCall:()=>jI,buildExecuteFromOutsideCallData:()=>Fk,getOutsideCall:()=>Dk,getTypedData:()=>SI});function Dk(e){const t=e.calldata??[],n=Array.isArray(t)?t:xe.compile(t);return{to:e.contractAddress,selector:Ke(e.entrypoint),calldata:n}}function Cm(e,t){const n=Dk(e);return t==="1"?{...n,calldata_len:n.calldata.length,calldata:n.calldata}:{To:n.to,Selector:n.selector,Calldata:n.calldata}}function Om(e,t){return{name:"Account.execute_from_outside",version:t,chainId:e,...t==="2"?{revision:"1"}:{}}}function SI(e,t,n,r,a){return a==="1"?{types:kw,primaryType:"OutsideExecution",domain:Om(e,a),message:{...t,nonce:n,calls_len:r.length,calls:r.map(o=>Cm(o,a))}}:{types:_w,primaryType:"OutsideExecution",domain:Om(e,a),message:{Caller:t.caller,Nonce:n,"Execute After":t.execute_after,"Execute Before":t.execute_before,Calls:r.map(o=>Cm(o,a))}}}function Fk(e){const t=e.outsideExecution,n=ui(e.signature);return xe.compile({outside_execution:t,signature:n})}function jI(e){return(Array.isArray(e)?e:[e]).map(r=>{let a;if(r.version==="1")a="execute_from_outside";else if(r.version==="2")a="execute_from_outside_v2";else throw new Error("Unsupported OutsideExecution version");return{contractAddress:ee(r.signerAddress),entrypoint:a,calldata:Fk(r)}})}var xI={};Oe(xI,{supportsInterface:()=>TI});async function TI(e,t,n){const r={contractAddress:ee(t),entrypoint:"supports_interface",calldata:[ee(n)]};try{const a=await e.callContract(r);return BigInt(a[0])!==0n}catch{return!1}}var II={};Oe(II,{addDeclareTransaction:()=>HI,addInvokeTransaction:()=>UI,addStarknetChain:()=>zI,deploymentData:()=>NI,getPermissions:()=>OI,onAccountChange:()=>FI,onNetworkChanged:()=>MI,requestAccounts:()=>CI,requestChainId:()=>RI,signMessage:()=>LI,supportedSpecs:()=>DI,switchStarknetChain:()=>PI,watchAsset:()=>BI});function CI(e,t=!1){return e.request({type:"wallet_requestAccounts",params:{silent_mode:t}})}function OI(e){return e.request({type:"wallet_getPermissions"})}function BI(e,t){return e.request({type:"wallet_watchAsset",params:t})}function zI(e,t){return e.request({type:"wallet_addStarknetChain",params:t})}function PI(e,t){return e.request({type:"wallet_switchStarknetChain",params:{chainId:t}})}function RI(e){return e.request({type:"wallet_requestChainId"})}function NI(e){return e.request({type:"wallet_deploymentData"})}function UI(e,t){return e.request({type:"wallet_addInvokeTransaction",params:t})}function HI(e,t){return e.request({type:"wallet_addDeclareTransaction",params:t})}function LI(e,t){return e.request({type:"wallet_signTypedData",params:t})}function DI(e){return e.request({type:"wallet_supportedSpecs"})}function FI(e,t){e.on("accountsChanged",t)}function MI(e,t){e.on("networkChanged",t)}var Mk=e=>{const t=["blockIdentifier","parseRequest","parseResponse","formatResponse","maxFee","nonce","signature","addressSalt"],n=e[e.length-1];return typeof n=="object"&&t.some(r=>r in n)?{args:e,options:e.pop()}:{args:e}};function qk(e,t){return async function(...n){const r=Mk(n);return e.call(t.name,r.args,{parseRequest:!0,parseResponse:!0,...r.options})}}function qI(e,t){return async function(...n){const r=Mk(n);return e.invoke(t.name,r.args,{parseRequest:!0,...r.options})}}function Bm(e,t){return t.stateMutability==="view"||t.state_mutability==="view"?qk(e,t):qI(e,t)}function VI(e,t){return function(...n){return e.populate(t.name,n)}}function $I(e,t){return function(...n){return e.estimate(t.name,n)}}function Oi(e,t){return Array.isArray(e)&&"__compiled__"in e?e:Array.isArray(e)&&Array.isArray(e[0])&&"__compiled__"in e[0]?e[0]:t()}var GI=class{constructor(e,t,n=gI){ie(this,"abi");ie(this,"address");ie(this,"providerOrAccount");ie(this,"deployTransactionHash");ie(this,"structs");ie(this,"events");ie(this,"functions");ie(this,"callStatic");ie(this,"populateTransaction");ie(this,"estimateFee");ie(this,"callData");this.address=t&&t.toLowerCase(),this.providerOrAccount=n,this.callData=new xe(e),this.structs=xe.getAbiStruct(e),this.events=Uk(e);const r=Lw(e);this.abi=r.getLegacyFormat();const a={enumerable:!0,value:{},writable:!1};Object.defineProperties(this,{functions:{enumerable:!0,value:{},writable:!1},callStatic:{enumerable:!0,value:{},writable:!1},populateTransaction:{enumerable:!0,value:{},writable:!1},estimateFee:{enumerable:!0,value:{},writable:!1}}),this.abi.forEach(o=>{if(o.type!=="function")return;const i=o.name;this[i]||Object.defineProperty(this,i,{...a,value:Bm(this,o)}),this.functions[i]||Object.defineProperty(this.functions,i,{...a,value:Bm(this,o)}),this.callStatic[i]||Object.defineProperty(this.callStatic,i,{...a,value:qk(this,o)}),this.populateTransaction[i]||Object.defineProperty(this.populateTransaction,i,{...a,value:VI(this,o)}),this.estimateFee[i]||Object.defineProperty(this.estimateFee,i,{...a,value:$I(this,o)})})}attach(e){this.address=e}connect(e){this.providerOrAccount=e}async deployed(){return this.deployTransactionHash&&(await this.providerOrAccount.waitForTransaction(this.deployTransactionHash),this.deployTransactionHash=void 0),this}async call(e,t=[],{parseRequest:n=!0,parseResponse:r=!0,formatResponse:a=void 0,blockIdentifier:o=void 0}={}){be(this.address!==null,"contract is not connected to an address");const i=Oi(t,()=>n?(this.callData.validate(ir.CALL,e,t),this.callData.compile(e,t)):(xt.warn("Call skipped parsing but provided rawArgs, possible malfunction request"),t));return this.providerOrAccount.callContract({contractAddress:this.address,calldata:i,entrypoint:e},o).then(s=>r?a?this.callData.format(e,s,a):this.callData.parse(e,s):s)}invoke(e,t=[],{parseRequest:n=!0,maxFee:r,nonce:a,signature:o}={}){be(this.address!==null,"contract is not connected to an address");const i=Oi(t,()=>n?(this.callData.validate(ir.INVOKE,e,t),this.callData.compile(e,t)):(xt.warn("Invoke skipped parsing but provided rawArgs, possible malfunction request"),t)),s={contractAddress:this.address,calldata:i,entrypoint:e};if("execute"in this.providerOrAccount)return this.providerOrAccount.execute(s,void 0,{maxFee:r,nonce:a});if(!a)throw new Error("Nonce is required when invoking a function without an account");return xt.warn(`Invoking ${e} without an account. This will not work on a public node.`),this.providerOrAccount.invokeFunction({...s,signature:o},{nonce:a})}async estimate(e,t=[]){be(this.address!==null,"contract is not connected to an address"),Oi(t,()=>!1)||this.callData.validate(ir.INVOKE,e,t);const n=this.populate(e,t);if("estimateInvokeFee"in this.providerOrAccount)return this.providerOrAccount.estimateInvokeFee(n);throw Error("Contract must be connected to the account contract to estimate")}populate(e,t=[]){const n=Oi(t,()=>this.callData.compile(e,t));return{contractAddress:this.address,entrypoint:e,calldata:n}}parseEvents(e){let t;return e.match({success:n=>{var a;const r=((a=n.events)==null?void 0:a.map(o=>({block_hash:n.block_hash,block_number:n.block_number,transaction_hash:n.transaction_hash,...o})).filter(o=>Uo(o.from_address)===Uo(this.address),[]))||[];t=Lk(r,this.events,this.structs,xe.getAbiEnum(this.abi))},_:()=>{throw Error("This transaction was not successful.")}}),t}isCairo1(){return Rw.isCairo1Abi(this.abi)}async getVersion(){return this.providerOrAccount.getContractVersion(this.address)}typedv2(e){return this}};const KI="0x534e5f4d41494e",WI="0x534e5f5345504f4c4941";function gf(e){const n=`0x04${BigInt(e).toString(16).padStart(64,"0").slice(2)}`;return Hr(n).toFixed(0)}const _e={SN_MAIN:KI,SN_SEPOLIA:WI};var Vk=(e=>(e.Mainnet="starknet:mainnet",e.Sepolia="starknet:sepolia",e))(Vk||{});function XI(e){if(typeof e=="string")return e;if((n=>n===null||typeof n!="object"||!("data"in n)||n.data===null||typeof n.data!="object"||!("message"in n.data)?!1:typeof n.data.message=="string")(e))return e.data.message;if(e instanceof Error)return"isAxiosError"in e&&e.isAxiosError?ZI(e):e.message;if(e!==null&&typeof e=="object"){if("message"in e&&typeof e.message=="string")return e.message;try{return JSON.stringify(e)}catch{return"Unknown error object"}}return"Unknown error"}function ZI(e){if(e.response){const t=e.response.data;if(t&&typeof t=="object"){if("message"in t&&t.message&&typeof t.message=="string")return t.message;try{return JSON.stringify(t)}catch{return"Error in API response"}}return`HTTP error ${e.response.status}: ${e.response.statusText}`}return e.message?e.message:"Network error"}class En extends Error{constructor(n,r,a){super(n);ie(this,"cause");this.code=r,this.name="StarknetSdkError",a!=null&&a.cause&&(this.cause=a.cause)}static wrap(n,r="UNKNOWN_ERROR",a="Unknown error occurred."){if(n instanceof En)return n;const o=XI(n),i=n instanceof Error?{cause:n}:void 0;return new En(o||a,r,i)}}const YI=e=>new En(`Could not determine the RPC provider for given chain: ${e||"undefined"}`,"NO_PROVIDER"),JI=e=>new En(`Could not retrieve the token information for given token: ${e||"undefined"}`,"NO_TOKEN"),QI=(e,t)=>new En(`Could not retrieve pubKey for ${e} on ${t}`,"NO_PUBKEY"),e3=()=>new En("Unknown signature format, known formats are [r, s], [version, r, s], [version, type, r, s, ...]","UNKNOWN_SIGNATURE_FORMAT"),t3=()=>new En("The output script for provided BTC address is invalid","UNEXPECTED_OUTPUT_SCRIPT"),n3=e=>new En(`The wallet ${e||""} is not supported`,"UNSUPPORTED_WALLET"),r3=(e,t)=>{const n=e==="0x534e5f4d41494e"?"Starknet Mainnet":e==="0x534e5f5345504f4c4941"?"Starknet Sepolia":`unknown chain (${e})`,r=t==="prod"?"Starknet Mainnet":"Starknet Sepolia";return new En(`Wallet network mismatch: Your wallet is connected to ${n}, but the SDK is configured for ${r}. Please switch your wallet to ${r}.`,"CHAIN_MISMATCH")},a3={[_e.SN_MAIN]:"https://rpc.starknet.lava.build:443",[_e.SN_SEPOLIA]:"https://starknet-sepolia.drpc.org"},zm=new Map,gr=(e=_e.SN_MAIN)=>{let t=zm.get(e);return t||(t=new mI({nodeUrl:a3[e],blockIdentifier:Rn.LATEST}),zm.set(e,t)),t},gs=[{name:"LockingContract",type:"impl",interface_name:"src::mintable_lock_interface::ILockingContract"},{name:"src::mintable_lock_interface::ILockingContract",type:"interface",items:[{name:"set_locking_contract",type:"function",inputs:[{name:"locking_contract",type:"core::starknet::contract_address::ContractAddress"}],outputs:[],state_mutability:"external"},{name:"get_locking_contract",type:"function",inputs:[],outputs:[{type:"core::starknet::contract_address::ContractAddress"}],state_mutability:"view"}]},{name:"LockAndDelegate",type:"impl",interface_name:"src::mintable_lock_interface::ILockAndDelegate"},{name:"core::integer::u256",type:"struct",members:[{name:"low",type:"core::integer::u128"},{name:"high",type:"core::integer::u128"}]},{name:"src::mintable_lock_interface::ILockAndDelegate",type:"interface",items:[{name:"lock_and_delegate",type:"function",inputs:[{name:"delegatee",type:"core::starknet::contract_address::ContractAddress"},{name:"amount",type:"core::integer::u256"}],outputs:[],state_mutability:"external"},{name:"lock_and_delegate_by_sig",type:"function",inputs:[{name:"account",type:"core::starknet::contract_address::ContractAddress"},{name:"delegatee",type:"core::starknet::contract_address::ContractAddress"},{name:"amount",type:"core::integer::u256"},{name:"nonce",type:"core::felt252"},{name:"expiry",type:"core::integer::u64"},{name:"signature",type:"core::array::Array::<core::felt252>"}],outputs:[],state_mutability:"external"}]},{name:"MintableToken",type:"impl",interface_name:"src::mintable_token_interface::IMintableToken"},{name:"src::mintable_token_interface::IMintableToken",type:"interface",items:[{name:"permissioned_mint",type:"function",inputs:[{name:"account",type:"core::starknet::contract_address::ContractAddress"},{name:"amount",type:"core::integer::u256"}],outputs:[],state_mutability:"external"},{name:"permissioned_burn",type:"function",inputs:[{name:"account",type:"core::starknet::contract_address::ContractAddress"},{name:"amount",type:"core::integer::u256"}],outputs:[],state_mutability:"external"}]},{name:"MintableTokenCamelImpl",type:"impl",interface_name:"src::mintable_token_interface::IMintableTokenCamel"},{name:"src::mintable_token_interface::IMintableTokenCamel",type:"interface",items:[{name:"permissionedMint",type:"function",inputs:[{name:"account",type:"core::starknet::contract_address::ContractAddress"},{name:"amount",type:"core::integer::u256"}],outputs:[],state_mutability:"external"},{name:"permissionedBurn",type:"function",inputs:[{name:"account",type:"core::starknet::contract_address::ContractAddress"},{name:"amount",type:"core::integer::u256"}],outputs:[],state_mutability:"external"}]},{name:"Replaceable",type:"impl",interface_name:"src::replaceability_interface::IReplaceable"},{name:"core::array::Span::<core::felt252>",type:"struct",members:[{name:"snapshot",type:"@core::array::Array::<core::felt252>"}]},{name:"src::replaceability_interface::EICData",type:"struct",members:[{name:"eic_hash",type:"core::starknet::class_hash::ClassHash"},{name:"eic_init_data",type:"core::array::Span::<core::felt252>"}]},{name:"core::option::Option::<src::replaceability_interface::EICData>",type:"enum",variants:[{name:"Some",type:"src::replaceability_interface::EICData"},{name:"None",type:"()"}]},{name:"core::bool",type:"enum",variants:[{name:"False",type:"()"},{name:"True",type:"()"}]},{name:"src::replaceability_interface::ImplementationData",type:"struct",members:[{name:"impl_hash",type:"core::starknet::class_hash::ClassHash"},{name:"eic_data",type:"core::option::Option::<src::replaceability_interface::EICData>"},{name:"final",type:"core::bool"}]},{name:"src::replaceability_interface::IReplaceable",type:"interface",items:[{name:"get_upgrade_delay",type:"function",inputs:[],outputs:[{type:"core::integer::u64"}],state_mutability:"view"},{name:"get_impl_activation_time",type:"function",inputs:[{name:"implementation_data",type:"src::replaceability_interface::ImplementationData"}],outputs:[{type:"core::integer::u64"}],state_mutability:"view"},{name:"add_new_implementation",type:"function",inputs:[{name:"implementation_data",type:"src::replaceability_interface::ImplementationData"}],outputs:[],state_mutability:"external"},{name:"remove_implementation",type:"function",inputs:[{name:"implementation_data",type:"src::replaceability_interface::ImplementationData"}],outputs:[],state_mutability:"external"},{name:"replace_to",type:"function",inputs:[{name:"implementation_data",type:"src::replaceability_interface::ImplementationData"}],outputs:[],state_mutability:"external"}]},{name:"AccessControlImplExternal",type:"impl",interface_name:"src::access_control_interface::IAccessControl"},{name:"src::access_control_interface::IAccessControl",type:"interface",items:[{name:"has_role",type:"function",inputs:[{name:"role",type:"core::felt252"},{name:"account",type:"core::starknet::contract_address::ContractAddress"}],outputs:[{type:"core::bool"}],state_mutability:"view"},{name:"get_role_admin",type:"function",inputs:[{name:"role",type:"core::felt252"}],outputs:[{type:"core::felt252"}],state_mutability:"view"}]},{name:"RolesImpl",type:"impl",interface_name:"src::roles_interface::IMinimalRoles"},{name:"src::roles_interface::IMinimalRoles",type:"interface",items:[{name:"is_governance_admin",type:"function",inputs:[{name:"account",type:"core::starknet::contract_address::ContractAddress"}],outputs:[{type:"core::bool"}],state_mutability:"view"},{name:"is_upgrade_governor",type:"function",inputs:[{name:"account",type:"core::starknet::contract_address::ContractAddress"}],outputs:[{type:"core::bool"}],state_mutability:"view"},{name:"register_governance_admin",type:"function",inputs:[{name:"account",type:"core::starknet::contract_address::ContractAddress"}],outputs:[],state_mutability:"external"},{name:"remove_governance_admin",type:"function",inputs:[{name:"account",type:"core::starknet::contract_address::ContractAddress"}],outputs:[],state_mutability:"external"},{name:"register_upgrade_governor",type:"function",inputs:[{name:"account",type:"core::starknet::contract_address::ContractAddress"}],outputs:[],state_mutability:"external"},{name:"remove_upgrade_governor",type:"function",inputs:[{name:"account",type:"core::starknet::contract_address::ContractAddress"}],outputs:[],state_mutability:"external"},{name:"renounce",type:"function",inputs:[{name:"role",type:"core::felt252"}],outputs:[],state_mutability:"external"}]},{name:"ERC20Impl",type:"impl",interface_name:"openzeppelin::token::erc20::interface::IERC20"},{name:"openzeppelin::token::erc20::interface::IERC20",type:"interface",items:[{name:"name",type:"function",inputs:[],outputs:[{type:"core::felt252"}],state_mutability:"view"},{name:"symbol",type:"function",inputs:[],outputs:[{type:"core::felt252"}],state_mutability:"view"},{name:"decimals",type:"function",inputs:[],outputs:[{type:"core::integer::u8"}],state_mutability:"view"},{name:"total_supply",type:"function",inputs:[],outputs:[{type:"core::integer::u256"}],state_mutability:"view"},{name:"balance_of",type:"function",inputs:[{name:"account",type:"core::starknet::contract_address::ContractAddress"}],outputs:[{type:"core::integer::u256"}],state_mutability:"view"},{name:"allowance",type:"function",inputs:[{name:"owner",type:"core::starknet::contract_address::ContractAddress"},{name:"spender",type:"core::starknet::contract_address::ContractAddress"}],outputs:[{type:"core::integer::u256"}],state_mutability:"view"},{name:"transfer",type:"function",inputs:[{name:"recipient",type:"core::starknet::contract_address::ContractAddress"},{name:"amount",type:"core::integer::u256"}],outputs:[{type:"core::bool"}],state_mutability:"external"},{name:"transfer_from",type:"function",inputs:[{name:"sender",type:"core::starknet::contract_address::ContractAddress"},{name:"recipient",type:"core::starknet::contract_address::ContractAddress"},{name:"amount",type:"core::integer::u256"}],outputs:[{type:"core::bool"}],state_mutability:"external"},{name:"approve",type:"function",inputs:[{name:"spender",type:"core::starknet::contract_address::ContractAddress"},{name:"amount",type:"core::integer::u256"}],outputs:[{type:"core::bool"}],state_mutability:"external"}]},{name:"ERC20CamelOnlyImpl",type:"impl",interface_name:"openzeppelin::token::erc20::interface::IERC20CamelOnly"},{name:"openzeppelin::token::erc20::interface::IERC20CamelOnly",type:"interface",items:[{name:"totalSupply",type:"function",inputs:[],outputs:[{type:"core::integer::u256"}],state_mutability:"view"},{name:"balanceOf",type:"function",inputs:[{name:"account",type:"core::starknet::contract_address::ContractAddress"}],outputs:[{type:"core::integer::u256"}],state_mutability:"view"},{name:"transferFrom",type:"function",inputs:[{name:"sender",type:"core::starknet::contract_address::ContractAddress"},{name:"recipient",type:"core::starknet::contract_address::ContractAddress"},{name:"amount",type:"core::integer::u256"}],outputs:[{type:"core::bool"}],state_mutability:"external"}]},{name:"constructor",type:"constructor",inputs:[{name:"name",type:"core::felt252"},{name:"symbol",type:"core::felt252"},{name:"decimals",type:"core::integer::u8"},{name:"initial_supply",type:"core::integer::u256"},{name:"recipient",type:"core::starknet::contract_address::ContractAddress"},{name:"permitted_minter",type:"core::starknet::contract_address::ContractAddress"},{name:"provisional_governance_admin",type:"core::starknet::contract_address::ContractAddress"},{name:"upgrade_delay",type:"core::integer::u64"}]},{name:"increase_allowance",type:"function",inputs:[{name:"spender",type:"core::starknet::contract_address::ContractAddress"},{name:"added_value",type:"core::integer::u256"}],outputs:[{type:"core::bool"}],state_mutability:"external"},{name:"decrease_allowance",type:"function",inputs:[{name:"spender",type:"core::starknet::contract_address::ContractAddress"},{name:"subtracted_value",type:"core::integer::u256"}],outputs:[{type:"core::bool"}],state_mutability:"external"},{name:"increaseAllowance",type:"function",inputs:[{name:"spender",type:"core::starknet::contract_address::ContractAddress"},{name:"addedValue",type:"core::integer::u256"}],outputs:[{type:"core::bool"}],state_mutability:"external"},{name:"decreaseAllowance",type:"function",inputs:[{name:"spender",type:"core::starknet::contract_address::ContractAddress"},{name:"subtractedValue",type:"core::integer::u256"}],outputs:[{type:"core::bool"}],state_mutability:"external"},{kind:"struct",name:"src::strk::erc20_lockable::ERC20Lockable::Transfer",type:"event",members:[{kind:"data",name:"from",type:"core::starknet::contract_address::ContractAddress"},{kind:"data",name:"to",type:"core::starknet::contract_address::ContractAddress"},{kind:"data",name:"value",type:"core::integer::u256"}]},{kind:"struct",name:"src::strk::erc20_lockable::ERC20Lockable::Approval",type:"event",members:[{kind:"data",name:"owner",type:"core::starknet::contract_address::ContractAddress"},{kind:"data",name:"spender",type:"core::starknet::contract_address::ContractAddress"},{kind:"data",name:"value",type:"core::integer::u256"}]},{kind:"struct",name:"src::replaceability_interface::ImplementationAdded",type:"event",members:[{kind:"data",name:"implementation_data",type:"src::replaceability_interface::ImplementationData"}]},{kind:"struct",name:"src::replaceability_interface::ImplementationRemoved",type:"event",members:[{kind:"data",name:"implementation_data",type:"src::replaceability_interface::ImplementationData"}]},{kind:"struct",name:"src::replaceability_interface::ImplementationReplaced",type:"event",members:[{kind:"data",name:"implementation_data",type:"src::replaceability_interface::ImplementationData"}]},{kind:"struct",name:"src::replaceability_interface::ImplementationFinalized",type:"event",members:[{kind:"data",name:"impl_hash",type:"core::starknet::class_hash::ClassHash"}]},{kind:"struct",name:"src::access_control_interface::RoleGranted",type:"event",members:[{kind:"data",name:"role",type:"core::felt252"},{kind:"data",name:"account",type:"core::starknet::contract_address::ContractAddress"},{kind:"data",name:"sender",type:"core::starknet::contract_address::ContractAddress"}]},{kind:"struct",name:"src::access_control_interface::RoleRevoked",type:"event",members:[{kind:"data",name:"role",type:"core::felt252"},{kind:"data",name:"account",type:"core::starknet::contract_address::ContractAddress"},{kind:"data",name:"sender",type:"core::starknet::contract_address::ContractAddress"}]},{kind:"struct",name:"src::access_control_interface::RoleAdminChanged",type:"event",members:[{kind:"data",name:"role",type:"core::felt252"},{kind:"data",name:"previous_admin_role",type:"core::felt252"},{kind:"data",name:"new_admin_role",type:"core::felt252"}]},{kind:"struct",name:"src::roles_interface::GovernanceAdminAdded",type:"event",members:[{kind:"data",name:"added_account",type:"core::starknet::contract_address::ContractAddress"},{kind:"data",name:"added_by",type:"core::starknet::contract_address::ContractAddress"}]},{kind:"struct",name:"src::roles_interface::GovernanceAdminRemoved",type:"event",members:[{kind:"data",name:"removed_account",type:"core::starknet::contract_address::ContractAddress"},{kind:"data",name:"removed_by",type:"core::starknet::contract_address::ContractAddress"}]},{kind:"struct",name:"src::roles_interface::UpgradeGovernorAdded",type:"event",members:[{kind:"data",name:"added_account",type:"core::starknet::contract_address::ContractAddress"},{kind:"data",name:"added_by",type:"core::starknet::contract_address::ContractAddress"}]},{kind:"struct",name:"src::roles_interface::UpgradeGovernorRemoved",type:"event",members:[{kind:"data",name:"removed_account",type:"core::starknet::contract_address::ContractAddress"},{kind:"data",name:"removed_by",type:"core::starknet::contract_address::ContractAddress"}]},{kind:"enum",name:"src::strk::erc20_lockable::ERC20Lockable::Event",type:"event",variants:[{kind:"nested",name:"Transfer",type:"src::strk::erc20_lockable::ERC20Lockable::Transfer"},{kind:"nested",name:"Approval",type:"src::strk::erc20_lockable::ERC20Lockable::Approval"},{kind:"nested",name:"ImplementationAdded",type:"src::replaceability_interface::ImplementationAdded"},{kind:"nested",name:"ImplementationRemoved",type:"src::replaceability_interface::ImplementationRemoved"},{kind:"nested",name:"ImplementationReplaced",type:"src::replaceability_interface::ImplementationReplaced"},{kind:"nested",name:"ImplementationFinalized",type:"src::replaceability_interface::ImplementationFinalized"},{kind:"nested",name:"RoleGranted",type:"src::access_control_interface::RoleGranted"},{kind:"nested",name:"RoleRevoked",type:"src::access_control_interface::RoleRevoked"},{kind:"nested",name:"RoleAdminChanged",type:"src::access_control_interface::RoleAdminChanged"},{kind:"nested",name:"GovernanceAdminAdded",type:"src::roles_interface::GovernanceAdminAdded"},{kind:"nested",name:"GovernanceAdminRemoved",type:"src::roles_interface::GovernanceAdminRemoved"},{kind:"nested",name:"UpgradeGovernorAdded",type:"src::roles_interface::UpgradeGovernorAdded"},{kind:"nested",name:"UpgradeGovernorRemoved",type:"src::roles_interface::UpgradeGovernorRemoved"}]}],Bi=[{name:"MintableTokenImpl",type:"impl",interface_name:"starkware_utils::interfaces::mintable_token::IMintableToken"},{name:"core::integer::u256",type:"struct",members:[{name:"low",type:"core::integer::u128"},{name:"high",type:"core::integer::u128"}]},{name:"core::bool",type:"enum",variants:[{name:"False",type:"()"},{name:"True",type:"()"}]},{name:"starkware_utils::interfaces::mintable_token::IMintableToken",type:"interface",items:[{name:"permissioned_mint",type:"function",inputs:[{name:"account",type:"core::starknet::contract_address::ContractAddress"},{name:"amount",type:"core::integer::u256"}],outputs:[],state_mutability:"external"},{name:"permissioned_burn",type:"function",inputs:[{name:"account",type:"core::starknet::contract_address::ContractAddress"},{name:"amount",type:"core::integer::u256"}],outputs:[],state_mutability:"external"},{name:"is_permitted_minter",type:"function",inputs:[{name:"account",type:"core::starknet::contract_address::ContractAddress"}],outputs:[{type:"core::bool"}],state_mutability:"view"}]},{name:"ERC20Impl",type:"impl",interface_name:"openzeppelin_token::erc20::interface::IERC20"},{name:"openzeppelin_token::erc20::interface::IERC20",type:"interface",items:[{name:"total_supply",type:"function",inputs:[],outputs:[{type:"core::integer::u256"}],state_mutability:"view"},{name:"balance_of",type:"function",inputs:[{name:"account",type:"core::starknet::contract_address::ContractAddress"}],outputs:[{type:"core::integer::u256"}],state_mutability:"view"},{name:"allowance",type:"function",inputs:[{name:"owner",type:"core::starknet::contract_address::ContractAddress"},{name:"spender",type:"core::starknet::contract_address::ContractAddress"}],outputs:[{type:"core::integer::u256"}],state_mutability:"view"},{name:"transfer",type:"function",inputs:[{name:"recipient",type:"core::starknet::contract_address::ContractAddress"},{name:"amount",type:"core::integer::u256"}],outputs:[{type:"core::bool"}],state_mutability:"external"},{name:"transfer_from",type:"function",inputs:[{name:"sender",type:"core::starknet::contract_address::ContractAddress"},{name:"recipient",type:"core::starknet::contract_address::ContractAddress"},{name:"amount",type:"core::integer::u256"}],outputs:[{type:"core::bool"}],state_mutability:"external"},{name:"approve",type:"function",inputs:[{name:"spender",type:"core::starknet::contract_address::ContractAddress"},{name:"amount",type:"core::integer::u256"}],outputs:[{type:"core::bool"}],state_mutability:"external"}]},{name:"ReplaceabilityImpl",type:"impl",interface_name:"starkware_utils::components::replaceability::interface::IReplaceable"},{name:"core::array::Span::<core::felt252>",type:"struct",members:[{name:"snapshot",type:"@core::array::Array::<core::felt252>"}]},{name:"starkware_utils::components::replaceability::interface::EICData",type:"struct",members:[{name:"eic_hash",type:"core::starknet::class_hash::ClassHash"},{name:"eic_init_data",type:"core::array::Span::<core::felt252>"}]},{name:"core::option::Option::<starkware_utils::components::replaceability::interface::EICData>",type:"enum",variants:[{name:"Some",type:"starkware_utils::components::replaceability::interface::EICData"},{name:"None",type:"()"}]},{name:"starkware_utils::components::replaceability::interface::ImplementationData",type:"struct",members:[{name:"impl_hash",type:"core::starknet::class_hash::ClassHash"},{name:"eic_data",type:"core::option::Option::<starkware_utils::components::replaceability::interface::EICData>"},{name:"final",type:"core::bool"}]},{name:"starkware_utils::components::replaceability::interface::IReplaceable",type:"interface",items:[{name:"get_upgrade_delay",type:"function",inputs:[],outputs:[{type:"core::integer::u64"}],state_mutability:"view"},{name:"get_impl_activation_time",type:"function",inputs:[{name:"implementation_data",type:"starkware_utils::components::replaceability::interface::ImplementationData"}],outputs:[{type:"core::integer::u64"}],state_mutability:"view"},{name:"add_new_implementation",type:"function",inputs:[{name:"implementation_data",type:"starkware_utils::components::replaceability::interface::ImplementationData"}],outputs:[],state_mutability:"external"},{name:"remove_implementation",type:"function",inputs:[{name:"implementation_data",type:"starkware_utils::components::replaceability::interface::ImplementationData"}],outputs:[],state_mutability:"external"},{name:"replace_to",type:"function",inputs:[{name:"implementation_data",type:"starkware_utils::components::replaceability::interface::ImplementationData"}],outputs:[],state_mutability:"external"}]},{name:"RolesImpl",type:"impl",interface_name:"starkware_utils::components::roles::interface::IRoles"},{name:"starkware_utils::components::roles::interface::IRoles",type:"interface",items:[{name:"is_app_governor",type:"function",inputs:[{name:"account",type:"core::starknet::contract_address::ContractAddress"}],outputs:[{type:"core::bool"}],state_mutability:"view"},{name:"is_app_role_admin",type:"function",inputs:[{name:"account",type:"core::starknet::contract_address::ContractAddress"}],outputs:[{type:"core::bool"}],state_mutability:"view"},{name:"is_governance_admin",type:"function",inputs:[{name:"account",type:"core::starknet::contract_address::ContractAddress"}],outputs:[{type:"core::bool"}],state_mutability:"view"},{name:"is_operator",type:"function",inputs:[{name:"account",type:"core::starknet::contract_address::ContractAddress"}],outputs:[{type:"core::bool"}],state_mutability:"view"},{name:"is_token_admin",type:"function",inputs:[{name:"account",type:"core::starknet::contract_address::ContractAddress"}],outputs:[{type:"core::bool"}],state_mutability:"view"},{name:"is_upgrade_governor",type:"function",inputs:[{name:"account",type:"core::starknet::contract_address::ContractAddress"}],outputs:[{type:"core::bool"}],state_mutability:"view"},{name:"is_security_admin",type:"function",inputs:[{name:"account",type:"core::starknet::contract_address::ContractAddress"}],outputs:[{type:"core::bool"}],state_mutability:"view"},{name:"is_security_agent",type:"function",inputs:[{name:"account",type:"core::starknet::contract_address::ContractAddress"}],outputs:[{type:"core::bool"}],state_mutability:"view"},{name:"register_app_governor",type:"function",inputs:[{name:"account",type:"core::starknet::contract_address::ContractAddress"}],outputs:[],state_mutability:"external"},{name:"remove_app_governor",type:"function",inputs:[{name:"account",type:"core::starknet::contract_address::ContractAddress"}],outputs:[],state_mutability:"external"},{name:"register_app_role_admin",type:"function",inputs:[{name:"account",type:"core::starknet::contract_address::ContractAddress"}],outputs:[],state_mutability:"external"},{name:"remove_app_role_admin",type:"function",inputs:[{name:"account",type:"core::starknet::contract_address::ContractAddress"}],outputs:[],state_mutability:"external"},{name:"register_governance_admin",type:"function",inputs:[{name:"account",type:"core::starknet::contract_address::ContractAddress"}],outputs:[],state_mutability:"external"},{name:"remove_governance_admin",type:"function",inputs:[{name:"account",type:"core::starknet::contract_address::ContractAddress"}],outputs:[],state_mutability:"external"},{name:"register_operator",type:"function",inputs:[{name:"account",type:"core::starknet::contract_address::ContractAddress"}],outputs:[],state_mutability:"external"},{name:"remove_operator",type:"function",inputs:[{name:"account",type:"core::starknet::contract_address::ContractAddress"}],outputs:[],state_mutability:"external"},{name:"register_token_admin",type:"function",inputs:[{name:"account",type:"core::starknet::contract_address::ContractAddress"}],outputs:[],state_mutability:"external"},{name:"remove_token_admin",type:"function",inputs:[{name:"account",type:"core::starknet::contract_address::ContractAddress"}],outputs:[],state_mutability:"external"},{name:"register_upgrade_governor",type:"function",inputs:[{name:"account",type:"core::starknet::contract_address::ContractAddress"}],outputs:[],state_mutability:"external"},{name:"remove_upgrade_governor",type:"function",inputs:[{name:"account",type:"core::starknet::contract_address::ContractAddress"}],outputs:[],state_mutability:"external"},{name:"renounce",type:"function",inputs:[{name:"role",type:"core::felt252"}],outputs:[],state_mutability:"external"},{name:"register_security_admin",type:"function",inputs:[{name:"account",type:"core::starknet::contract_address::ContractAddress"}],outputs:[],state_mutability:"external"},{name:"remove_security_admin",type:"function",inputs:[{name:"account",type:"core::starknet::contract_address::ContractAddress"}],outputs:[],state_mutability:"external"},{name:"register_security_agent",type:"function",inputs:[{name:"account",type:"core::starknet::contract_address::ContractAddress"}],outputs:[],state_mutability:"external"},{name:"remove_security_agent",type:"function",inputs:[{name:"account",type:"core::starknet::contract_address::ContractAddress"}],outputs:[],state_mutability:"external"}]},{name:"PausableImpl",type:"impl",interface_name:"starkware_utils::components::pausable::interface::IPausable"},{name:"starkware_utils::components::pausable::interface::IPausable",type:"interface",items:[{name:"is_paused",type:"function",inputs:[],outputs:[{type:"core::bool"}],state_mutability:"view"},{name:"pause",type:"function",inputs:[],outputs:[],state_mutability:"external"},{name:"unpause",type:"function",inputs:[],outputs:[],state_mutability:"external"}]},{name:"ERC20MetadataImpl",type:"impl",interface_name:"openzeppelin_token::erc20::interface::IERC20Metadata"},{name:"core::byte_array::ByteArray",type:"struct",members:[{name:"data",type:"core::array::Array::<core::bytes_31::bytes31>"},{name:"pending_word",type:"core::felt252"},{name:"pending_word_len",type:"core::integer::u32"}]},{name:"openzeppelin_token::erc20::interface::IERC20Metadata",type:"interface",items:[{name:"name",type:"function",inputs:[],outputs:[{type:"core::byte_array::ByteArray"}],state_mutability:"view"},{name:"symbol",type:"function",inputs:[],outputs:[{type:"core::byte_array::ByteArray"}],state_mutability:"view"},{name:"decimals",type:"function",inputs:[],outputs:[{type:"core::integer::u8"}],state_mutability:"view"}]},{name:"ERC20PermitImpl",type:"impl",interface_name:"openzeppelin_token::erc20::interface::IERC20Permit"},{name:"openzeppelin_token::erc20::interface::IERC20Permit",type:"interface",items:[{name:"permit",type:"function",inputs:[{name:"owner",type:"core::starknet::contract_address::ContractAddress"},{name:"spender",type:"core::starknet::contract_address::ContractAddress"},{name:"amount",type:"core::integer::u256"},{name:"deadline",type:"core::integer::u64"},{name:"signature",type:"core::array::Span::<core::felt252>"}],outputs:[],state_mutability:"external"},{name:"nonces",type:"function",inputs:[{name:"owner",type:"core::starknet::contract_address::ContractAddress"}],outputs:[{type:"core::felt252"}],state_mutability:"view"},{name:"DOMAIN_SEPARATOR",type:"function",inputs:[],outputs:[{type:"core::felt252"}],state_mutability:"view"}]},{name:"SNIP12MetadataExternal",type:"impl",interface_name:"openzeppelin_utils::cryptography::interface::ISNIP12Metadata"},{name:"openzeppelin_utils::cryptography::interface::ISNIP12Metadata",type:"interface",items:[{name:"snip12_metadata",type:"function",inputs:[],outputs:[{type:"(core::felt252, core::felt252)"}],state_mutability:"view"}]},{name:"constructor",type:"constructor",inputs:[{name:"governance_admin",type:"core::starknet::contract_address::ContractAddress"},{name:"upgrade_delay",type:"core::integer::u64"}]},{kind:"struct",name:"openzeppelin_token::erc20::erc20::ERC20Component::Transfer",type:"event",members:[{kind:"key",name:"from",type:"core::starknet::contract_address::ContractAddress"},{kind:"key",name:"to",type:"core::starknet::contract_address::ContractAddress"},{kind:"data",name:"value",type:"core::integer::u256"}]},{kind:"struct",name:"openzeppelin_token::erc20::erc20::ERC20Component::Approval",type:"event",members:[{kind:"key",name:"owner",type:"core::starknet::contract_address::ContractAddress"},{kind:"key",name:"spender",type:"core::starknet::contract_address::ContractAddress"},{kind:"data",name:"value",type:"core::integer::u256"}]},{kind:"enum",name:"openzeppelin_token::erc20::erc20::ERC20Component::Event",type:"event",variants:[{kind:"nested",name:"Transfer",type:"openzeppelin_token::erc20::erc20::ERC20Component::Transfer"},{kind:"nested",name:"Approval",type:"openzeppelin_token::erc20::erc20::ERC20Component::Approval"}]},{kind:"struct",name:"openzeppelin_access::accesscontrol::accesscontrol::AccessControlComponent::RoleGranted",type:"event",members:[{kind:"data",name:"role",type:"core::felt252"},{kind:"data",name:"account",type:"core::starknet::contract_address::ContractAddress"},{kind:"data",name:"sender",type:"core::starknet::contract_address::ContractAddress"}]},{kind:"struct",name:"openzeppelin_access::accesscontrol::accesscontrol::AccessControlComponent::RoleGrantedWithDelay",type:"event",members:[{kind:"data",name:"role",type:"core::felt252"},{kind:"data",name:"account",type:"core::starknet::contract_address::ContractAddress"},{kind:"data",name:"sender",type:"core::starknet::contract_address::ContractAddress"},{kind:"data",name:"delay",type:"core::integer::u64"}]},{kind:"struct",name:"openzeppelin_access::accesscontrol::accesscontrol::AccessControlComponent::RoleRevoked",type:"event",members:[{kind:"data",name:"role",type:"core::felt252"},{kind:"data",name:"account",type:"core::starknet::contract_address::ContractAddress"},{kind:"data",name:"sender",type:"core::starknet::contract_address::ContractAddress"}]},{kind:"struct",name:"openzeppelin_access::accesscontrol::accesscontrol::AccessControlComponent::RoleAdminChanged",type:"event",members:[{kind:"data",name:"role",type:"core::felt252"},{kind:"data",name:"previous_admin_role",type:"core::felt252"},{kind:"data",name:"new_admin_role",type:"core::felt252"}]},{kind:"enum",name:"openzeppelin_access::accesscontrol::accesscontrol::AccessControlComponent::Event",type:"event",variants:[{kind:"nested",name:"RoleGranted",type:"openzeppelin_access::accesscontrol::accesscontrol::AccessControlComponent::RoleGranted"},{kind:"nested",name:"RoleGrantedWithDelay",type:"openzeppelin_access::accesscontrol::accesscontrol::AccessControlComponent::RoleGrantedWithDelay"},{kind:"nested",name:"RoleRevoked",type:"openzeppelin_access::accesscontrol::accesscontrol::AccessControlComponent::RoleRevoked"},{kind:"nested",name:"RoleAdminChanged",type:"openzeppelin_access::accesscontrol::accesscontrol::AccessControlComponent::RoleAdminChanged"}]},{kind:"enum",name:"openzeppelin_utils::cryptography::nonces::NoncesComponent::Event",type:"event",variants:[]},{kind:"enum",name:"openzeppelin_introspection::src5::SRC5Component::Event",type:"event",variants:[]},{kind:"struct",name:"starkware_utils::components::pausable::pausable::PausableComponent::Paused",type:"event",members:[{kind:"data",name:"account",type:"core::starknet::contract_address::ContractAddress"}]},{kind:"struct",name:"starkware_utils::components::pausable::pausable::PausableComponent::Unpaused",type:"event",members:[{kind:"data",name:"account",type:"core::starknet::contract_address::ContractAddress"}]},{kind:"enum",name:"starkware_utils::components::pausable::pausable::PausableComponent::Event",type:"event",variants:[{kind:"nested",name:"Paused",type:"starkware_utils::components::pausable::pausable::PausableComponent::Paused"},{kind:"nested",name:"Unpaused",type:"starkware_utils::components::pausable::pausable::PausableComponent::Unpaused"}]},{kind:"struct",name:"starkware_utils::components::replaceability::interface::ImplementationAdded",type:"event",members:[{kind:"data",name:"implementation_data",type:"starkware_utils::components::replaceability::interface::ImplementationData"}]},{kind:"struct",name:"starkware_utils::components::replaceability::interface::ImplementationRemoved",type:"event",members:[{kind:"data",name:"implementation_data",type:"starkware_utils::components::replaceability::interface::ImplementationData"}]},{kind:"struct",name:"starkware_utils::components::replaceability::interface::ImplementationReplaced",type:"event",members:[{kind:"data",name:"implementation_data",type:"starkware_utils::components::replaceability::interface::ImplementationData"}]},{kind:"struct",name:"starkware_utils::components::replaceability::interface::ImplementationFinalized",type:"event",members:[{kind:"data",name:"impl_hash",type:"core::starknet::class_hash::ClassHash"}]},{kind:"enum",name:"starkware_utils::components::replaceability::replaceability::ReplaceabilityComponent::Event",type:"event",variants:[{kind:"nested",name:"ImplementationAdded",type:"starkware_utils::components::replaceability::interface::ImplementationAdded"},{kind:"nested",name:"ImplementationRemoved",type:"starkware_utils::components::replaceability::interface::ImplementationRemoved"},{kind:"nested",name:"ImplementationReplaced",type:"starkware_utils::components::replaceability::interface::ImplementationReplaced"},{kind:"nested",name:"ImplementationFinalized",type:"starkware_utils::components::replaceability::interface::ImplementationFinalized"}]},{kind:"struct",name:"starkware_utils::components::roles::interface::AppGovernorAdded",type:"event",members:[{kind:"data",name:"added_account",type:"core::starknet::contract_address::ContractAddress"},{kind:"data",name:"added_by",type:"core::starknet::contract_address::ContractAddress"}]},{kind:"struct",name:"starkware_utils::components::roles::interface::AppGovernorRemoved",type:"event",members:[{kind:"data",name:"removed_account",type:"core::starknet::contract_address::ContractAddress"},{kind:"data",name:"removed_by",type:"core::starknet::contract_address::ContractAddress"}]},{kind:"struct",name:"starkware_utils::components::roles::interface::AppRoleAdminAdded",type:"event",members:[{kind:"data",name:"added_account",type:"core::starknet::contract_address::ContractAddress"},{kind:"data",name:"added_by",type:"core::starknet::contract_address::ContractAddress"}]},{kind:"struct",name:"starkware_utils::components::roles::interface::AppRoleAdminRemoved",type:"event",members:[{kind:"data",name:"removed_account",type:"core::starknet::contract_address::ContractAddress"},{kind:"data",name:"removed_by",type:"core::starknet::contract_address::ContractAddress"}]},{kind:"struct",name:"starkware_utils::components::roles::interface::GovernanceAdminAdded",type:"event",members:[{kind:"data",name:"added_account",type:"core::starknet::contract_address::ContractAddress"},{kind:"data",name:"added_by",type:"core::starknet::contract_address::ContractAddress"}]},{kind:"struct",name:"starkware_utils::components::roles::interface::GovernanceAdminRemoved",type:"event",members:[{kind:"data",name:"removed_account",type:"core::starknet::contract_address::ContractAddress"},{kind:"data",name:"removed_by",type:"core::starknet::contract_address::ContractAddress"}]},{kind:"struct",name:"starkware_utils::components::roles::interface::OperatorAdded",type:"event",members:[{kind:"data",name:"added_account",type:"core::starknet::contract_address::ContractAddress"},{kind:"data",name:"added_by",type:"core::starknet::contract_address::ContractAddress"}]},{kind:"struct",name:"starkware_utils::components::roles::interface::OperatorRemoved",type:"event",members:[{kind:"data",name:"removed_account",type:"core::starknet::contract_address::ContractAddress"},{kind:"data",name:"removed_by",type:"core::starknet::contract_address::ContractAddress"}]},{kind:"struct",name:"starkware_utils::components::roles::interface::SecurityAdminAdded",type:"event",members:[{kind:"data",name:"added_account",type:"core::starknet::contract_address::ContractAddress"},{kind:"data",name:"added_by",type:"core::starknet::contract_address::ContractAddress"}]},{kind:"struct",name:"starkware_utils::components::roles::interface::SecurityAdminRemoved",type:"event",members:[{kind:"data",name:"removed_account",type:"core::starknet::contract_address::ContractAddress"},{kind:"data",name:"removed_by",type:"core::starknet::contract_address::ContractAddress"}]},{kind:"struct",name:"starkware_utils::components::roles::interface::SecurityAgentAdded",type:"event",members:[{kind:"data",name:"added_account",type:"core::starknet::contract_address::ContractAddress"},{kind:"data",name:"added_by",type:"core::starknet::contract_address::ContractAddress"}]},{kind:"struct",name:"starkware_utils::components::roles::interface::SecurityAgentRemoved",type:"event",members:[{kind:"data",name:"removed_account",type:"core::starknet::contract_address::ContractAddress"},{kind:"data",name:"removed_by",type:"core::starknet::contract_address::ContractAddress"}]},{kind:"struct",name:"starkware_utils::components::roles::interface::TokenAdminAdded",type:"event",members:[{kind:"data",name:"added_account",type:"core::starknet::contract_address::ContractAddress"},{kind:"data",name:"added_by",type:"core::starknet::contract_address::ContractAddress"}]},{kind:"struct",name:"starkware_utils::components::roles::interface::TokenAdminRemoved",type:"event",members:[{kind:"data",name:"removed_account",type:"core::starknet::contract_address::ContractAddress"},{kind:"data",name:"removed_by",type:"core::starknet::contract_address::ContractAddress"}]},{kind:"struct",name:"starkware_utils::components::roles::interface::UpgradeGovernorAdded",type:"event",members:[{kind:"data",name:"added_account",type:"core::starknet::contract_address::ContractAddress"},{kind:"data",name:"added_by",type:"core::starknet::contract_address::ContractAddress"}]},{kind:"struct",name:"starkware_utils::components::roles::interface::UpgradeGovernorRemoved",type:"event",members:[{kind:"data",name:"removed_account",type:"core::starknet::contract_address::ContractAddress"},{kind:"data",name:"removed_by",type:"core::starknet::contract_address::ContractAddress"}]},{kind:"enum",name:"starkware_utils::components::roles::roles::RolesComponent::Event",type:"event",variants:[{kind:"nested",name:"AppGovernorAdded",type:"starkware_utils::components::roles::interface::AppGovernorAdded"},{kind:"nested",name:"AppGovernorRemoved",type:"starkware_utils::components::roles::interface::AppGovernorRemoved"},{kind:"nested",name:"AppRoleAdminAdded",type:"starkware_utils::components::roles::interface::AppRoleAdminAdded"},{kind:"nested",name:"AppRoleAdminRemoved",type:"starkware_utils::components::roles::interface::AppRoleAdminRemoved"},{kind:"nested",name:"GovernanceAdminAdded",type:"starkware_utils::components::roles::interface::GovernanceAdminAdded"},{kind:"nested",name:"GovernanceAdminRemoved",type:"starkware_utils::components::roles::interface::GovernanceAdminRemoved"},{kind:"nested",name:"OperatorAdded",type:"starkware_utils::components::roles::interface::OperatorAdded"},{kind:"nested",name:"OperatorRemoved",type:"starkware_utils::components::roles::interface::OperatorRemoved"},{kind:"nested",name:"SecurityAdminAdded",type:"starkware_utils::components::roles::interface::SecurityAdminAdded"},{kind:"nested",name:"SecurityAdminRemoved",type:"starkware_utils::components::roles::interface::SecurityAdminRemoved"},{kind:"nested",name:"SecurityAgentAdded",type:"starkware_utils::components::roles::interface::SecurityAgentAdded"},{kind:"nested",name:"SecurityAgentRemoved",type:"starkware_utils::components::roles::interface::SecurityAgentRemoved"},{kind:"nested",name:"TokenAdminAdded",type:"starkware_utils::components::roles::interface::TokenAdminAdded"},{kind:"nested",name:"TokenAdminRemoved",type:"starkware_utils::components::roles::interface::TokenAdminRemoved"},{kind:"nested",name:"UpgradeGovernorAdded",type:"starkware_utils::components::roles::interface::UpgradeGovernorAdded"},{kind:"nested",name:"UpgradeGovernorRemoved",type:"starkware_utils::components::roles::interface::UpgradeGovernorRemoved"}]},{kind:"struct",name:"lbtc_token::lbtc::events::MinterAdded",type:"event",members:[{kind:"data",name:"minter",type:"core::starknet::contract_address::ContractAddress"}]},{kind:"enum",name:"lbtc_token::lbtc::token::lbtc::Event",type:"event",variants:[{kind:"flat",name:"ERC20Event",type:"openzeppelin_token::erc20::erc20::ERC20Component::Event"},{kind:"flat",name:"AccessControlEvent",type:"openzeppelin_access::accesscontrol::accesscontrol::AccessControlComponent::Event"},{kind:"flat",name:"NoncesEvent",type:"openzeppelin_utils::cryptography::nonces::NoncesComponent::Event"},{kind:"flat",name:"SRC5Event",type:"openzeppelin_introspection::src5::SRC5Component::Event"},{kind:"flat",name:"PausableEvent",type:"starkware_utils::components::pausable::pausable::PausableComponent::Event"},{kind:"flat",name:"ReplaceabilityEvent",type:"starkware_utils::components::replaceability::replaceability::ReplaceabilityComponent::Event"},{kind:"flat",name:"RolesEvent",type:"starkware_utils::components::roles::roles::RolesComponent::Event"},{kind:"nested",name:"MinterAdded",type:"lbtc_token::lbtc::events::MinterAdded"}]}],zi=[{name:"BasculeImpl",type:"impl",interface_name:"lbtc_bascule::interface::IBascule"},{name:"core::integer::u256",type:"struct",members:[{name:"low",type:"core::integer::u128"},{name:"high",type:"core::integer::u128"}]},{name:"core::array::Span::<core::integer::u256>",type:"struct",members:[{name:"snapshot",type:"@core::array::Array::<core::integer::u256>"}]},{name:"lbtc_bascule::interface::DepositState",type:"enum",variants:[{name:"Unreported",type:"()"},{name:"Reported",type:"()"},{name:"Withdrawn",type:"()"}]},{name:"core::bool",type:"enum",variants:[{name:"False",type:"()"},{name:"True",type:"()"}]},{name:"lbtc_bascule::interface::IBascule",type:"interface",items:[{name:"validate_withdrawal",type:"function",inputs:[{name:"to_chain",type:"core::integer::u256"},{name:"recipient",type:"core::starknet::contract_address::ContractAddress"},{name:"withdrawal_amount",type:"core::integer::u256"},{name:"tx_id",type:"core::integer::u256"},{name:"vout",type:"core::integer::u32"}],outputs:[],state_mutability:"external"},{name:"update_validation_threshold",type:"function",inputs:[{name:"new_threshold",type:"core::integer::u256"}],outputs:[],state_mutability:"external"},{name:"set_max_deposits",type:"function",inputs:[{name:"max_deposits",type:"core::integer::u32"}],outputs:[],state_mutability:"external"},{name:"report_deposits",type:"function",inputs:[{name:"report_id",type:"core::integer::u256"},{name:"deposit_ids",type:"core::array::Span::<core::integer::u256>"}],outputs:[],state_mutability:"external"},{name:"get_validation_threshold",type:"function",inputs:[],outputs:[{type:"core::integer::u256"}],state_mutability:"view"},{name:"get_max_deposits",type:"function",inputs:[],outputs:[{type:"core::integer::u32"}],state_mutability:"view"},{name:"get_deposit_status",type:"function",inputs:[{name:"deposit_id",type:"core::integer::u256"}],outputs:[{type:"lbtc_bascule::interface::DepositState"}],state_mutability:"view"},{name:"is_deposit_reporter",type:"function",inputs:[{name:"account",type:"core::starknet::contract_address::ContractAddress"}],outputs:[{type:"core::bool"}],state_mutability:"view"},{name:"register_deposit_reporter",type:"function",inputs:[{name:"account",type:"core::starknet::contract_address::ContractAddress"}],outputs:[],state_mutability:"external"},{name:"remove_deposit_reporter",type:"function",inputs:[{name:"account",type:"core::starknet::contract_address::ContractAddress"}],outputs:[],state_mutability:"external"},{name:"is_withdrawal_validator",type:"function",inputs:[{name:"account",type:"core::starknet::contract_address::ContractAddress"}],outputs:[{type:"core::bool"}],state_mutability:"view"},{name:"register_withdrawal_validator",type:"function",inputs:[{name:"account",type:"core::starknet::contract_address::ContractAddress"}],outputs:[],state_mutability:"external"},{name:"remove_withdrawal_validator",type:"function",inputs:[{name:"account",type:"core::starknet::contract_address::ContractAddress"}],outputs:[],state_mutability:"external"},{name:"is_validation_guardian",type:"function",inputs:[{name:"account",type:"core::starknet::contract_address::ContractAddress"}],outputs:[{type:"core::bool"}],state_mutability:"view"},{name:"register_validation_guardian",type:"function",inputs:[{name:"account",type:"core::starknet::contract_address::ContractAddress"}],outputs:[],state_mutability:"external"},{name:"remove_validation_guardian",type:"function",inputs:[{name:"account",type:"core::starknet::contract_address::ContractAddress"}],outputs:[],state_mutability:"external"},{name:"is_pauser",type:"function",inputs:[{name:"account",type:"core::starknet::contract_address::ContractAddress"}],outputs:[{type:"core::bool"}],state_mutability:"view"},{name:"register_pauser",type:"function",inputs:[{name:"account",type:"core::starknet::contract_address::ContractAddress"}],outputs:[],state_mutability:"external"},{name:"remove_pauser",type:"function",inputs:[{name:"account",type:"core::starknet::contract_address::ContractAddress"}],outputs:[],state_mutability:"external"}]},{name:"PausableImpl",type:"impl",interface_name:"starkware_utils::components::pausable::interface::IPausable"},{name:"starkware_utils::components::pausable::interface::IPausable",type:"interface",items:[{name:"is_paused",type:"function",inputs:[],outputs:[{type:"core::bool"}],state_mutability:"view"},{name:"pause",type:"function",inputs:[],outputs:[],state_mutability:"external"},{name:"unpause",type:"function",inputs:[],outputs:[],state_mutability:"external"}]},{name:"constructor",type:"constructor",inputs:[{name:"governance_admin",type:"core::starknet::contract_address::ContractAddress"},{name:"pauser",type:"core::starknet::contract_address::ContractAddress"},{name:"deposit_reporter",type:"core::starknet::contract_address::ContractAddress"},{name:"withdrawal_validator",type:"core::starknet::contract_address::ContractAddress"},{name:"max_deposits",type:"core::integer::u32"}]},{kind:"struct",name:"openzeppelin_access::accesscontrol::accesscontrol::AccessControlComponent::RoleGranted",type:"event",members:[{kind:"data",name:"role",type:"core::felt252"},{kind:"data",name:"account",type:"core::starknet::contract_address::ContractAddress"},{kind:"data",name:"sender",type:"core::starknet::contract_address::ContractAddress"}]},{kind:"struct",name:"openzeppelin_access::accesscontrol::accesscontrol::AccessControlComponent::RoleGrantedWithDelay",type:"event",members:[{kind:"data",name:"role",type:"core::felt252"},{kind:"data",name:"account",type:"core::starknet::contract_address::ContractAddress"},{kind:"data",name:"sender",type:"core::starknet::contract_address::ContractAddress"},{kind:"data",name:"delay",type:"core::integer::u64"}]},{kind:"struct",name:"openzeppelin_access::accesscontrol::accesscontrol::AccessControlComponent::RoleRevoked",type:"event",members:[{kind:"data",name:"role",type:"core::felt252"},{kind:"data",name:"account",type:"core::starknet::contract_address::ContractAddress"},{kind:"data",name:"sender",type:"core::starknet::contract_address::ContractAddress"}]},{kind:"struct",name:"openzeppelin_access::accesscontrol::accesscontrol::AccessControlComponent::RoleAdminChanged",type:"event",members:[{kind:"data",name:"role",type:"core::felt252"},{kind:"data",name:"previous_admin_role",type:"core::felt252"},{kind:"data",name:"new_admin_role",type:"core::felt252"}]},{kind:"enum",name:"openzeppelin_access::accesscontrol::accesscontrol::AccessControlComponent::Event",type:"event",variants:[{kind:"nested",name:"RoleGranted",type:"openzeppelin_access::accesscontrol::accesscontrol::AccessControlComponent::RoleGranted"},{kind:"nested",name:"RoleGrantedWithDelay",type:"openzeppelin_access::accesscontrol::accesscontrol::AccessControlComponent::RoleGrantedWithDelay"},{kind:"nested",name:"RoleRevoked",type:"openzeppelin_access::accesscontrol::accesscontrol::AccessControlComponent::RoleRevoked"},{kind:"nested",name:"RoleAdminChanged",type:"openzeppelin_access::accesscontrol::accesscontrol::AccessControlComponent::RoleAdminChanged"}]},{kind:"struct",name:"openzeppelin_security::pausable::PausableComponent::Paused",type:"event",members:[{kind:"data",name:"account",type:"core::starknet::contract_address::ContractAddress"}]},{kind:"struct",name:"openzeppelin_security::pausable::PausableComponent::Unpaused",type:"event",members:[{kind:"data",name:"account",type:"core::starknet::contract_address::ContractAddress"}]},{kind:"enum",name:"openzeppelin_security::pausable::PausableComponent::Event",type:"event",variants:[{kind:"nested",name:"Paused",type:"openzeppelin_security::pausable::PausableComponent::Paused"},{kind:"nested",name:"Unpaused",type:"openzeppelin_security::pausable::PausableComponent::Unpaused"}]},{kind:"enum",name:"openzeppelin_introspection::src5::SRC5Component::Event",type:"event",variants:[]},{kind:"struct",name:"lbtc_bascule::events::DepositAlreadyReported",type:"event",members:[{kind:"key",name:"deposit_id",type:"core::integer::u256"}]},{kind:"struct",name:"lbtc_bascule::events::DepositsReported",type:"event",members:[{kind:"key",name:"report_id",type:"core::integer::u256"},{kind:"data",name:"num_deposits",type:"core::integer::u32"}]},{kind:"struct",name:"lbtc_bascule::events::MaxDepositsUpdated",type:"event",members:[{kind:"data",name:"num_deposits",type:"core::integer::u32"}]},{kind:"struct",name:"lbtc_bascule::events::UpdateValidateThreshold",type:"event",members:[{kind:"data",name:"old_threshold",type:"core::integer::u256"},{kind:"data",name:"new_threshold",type:"core::integer::u256"}]},{kind:"struct",name:"lbtc_bascule::events::WithdrawalNotValidated",type:"event",members:[{kind:"key",name:"deposit_id",type:"core::integer::u256"},{kind:"data",name:"withdrawal_amount",type:"core::integer::u256"}]},{kind:"struct",name:"lbtc_bascule::events::WithdrawalValidated",type:"event",members:[{kind:"key",name:"deposit_id",type:"core::integer::u256"},{kind:"data",name:"withdrawal_amount",type:"core::integer::u256"}]},{kind:"enum",name:"lbtc_bascule::bascule::bascule::Event",type:"event",variants:[{kind:"flat",name:"AccessControlEvent",type:"openzeppelin_access::accesscontrol::accesscontrol::AccessControlComponent::Event"},{kind:"flat",name:"PausableEvent",type:"openzeppelin_security::pausable::PausableComponent::Event"},{kind:"flat",name:"SRC5Event",type:"openzeppelin_introspection::src5::SRC5Component::Event"},{kind:"nested",name:"DepositAlreadyReported",type:"lbtc_bascule::events::DepositAlreadyReported"},{kind:"nested",name:"DepositsReported",type:"lbtc_bascule::events::DepositsReported"},{kind:"nested",name:"MaxDepositsUpdated",type:"lbtc_bascule::events::MaxDepositsUpdated"},{kind:"nested",name:"UpdateValidateThreshold",type:"lbtc_bascule::events::UpdateValidateThreshold"},{kind:"nested",name:"WithdrawalNotValidated",type:"lbtc_bascule::events::WithdrawalNotValidated"},{kind:"nested",name:"WithdrawalValidated",type:"lbtc_bascule::events::WithdrawalValidated"}]}],Pi=[{name:"AssetRouterImpl",type:"impl",interface_name:"lbtc_asset_router::interface::IAssetRouter"},{name:"core::integer::u256",type:"struct",members:[{name:"low",type:"core::integer::u128"},{name:"high",type:"core::integer::u128"}]},{name:"core::array::Span::<(core::integer::u256, core::integer::u256)>",type:"struct",members:[{name:"snapshot",type:"@core::array::Array::<(core::integer::u256, core::integer::u256)>"}]},{name:"core::byte_array::ByteArray",type:"struct",members:[{name:"data",type:"core::array::Array::<core::bytes_31::bytes31>"},{name:"pending_word",type:"core::felt252"},{name:"pending_word_len",type:"core::integer::u32"}]},{name:"core::bool",type:"enum",variants:[{name:"False",type:"()"},{name:"True",type:"()"}]},{name:"lbtc_asset_router::interface::IAssetRouter",type:"interface",items:[{name:"change_bascule",type:"function",inputs:[{name:"new_bascule",type:"core::starknet::contract_address::ContractAddress"}],outputs:[],state_mutability:"external"},{name:"change_treasury",type:"function",inputs:[{name:"new_treasury",type:"core::starknet::contract_address::ContractAddress"}],outputs:[],state_mutability:"external"},{name:"change_burn_commission",type:"function",inputs:[{name:"new_burn_commission",type:"core::integer::u64"}],outputs:[],state_mutability:"external"},{name:"enable_withdrawals",type:"function",inputs:[],outputs:[],state_mutability:"external"},{name:"disable_withdrawals",type:"function",inputs:[],outputs:[],state_mutability:"external"},{name:"change_dust_fee_rate",type:"function",inputs:[{name:"new_rate",type:"core::integer::u128"}],outputs:[],state_mutability:"external"},{name:"mint",type:"function",inputs:[{name:"to_chain",type:"core::integer::u256"},{name:"recipient",type:"core::starknet::contract_address::ContractAddress"},{name:"amount",type:"core::integer::u256"},{name:"tx_id",type:"core::integer::u256"},{name:"vout",type:"core::integer::u32"},{name:"proof",type:"core::array::Span::<(core::integer::u256, core::integer::u256)>"}],outputs:[],state_mutability:"external"},{name:"redeem",type:"function",inputs:[{name:"script_pub_key",type:"core::byte_array::ByteArray"},{name:"amount",type:"core::integer::u256"}],outputs:[],state_mutability:"external"},{name:"get_lbtc_token_address",type:"function",inputs:[],outputs:[{type:"core::starknet::contract_address::ContractAddress"}],state_mutability:"view"},{name:"get_bascule",type:"function",inputs:[],outputs:[{type:"core::starknet::contract_address::ContractAddress"}],state_mutability:"view"},{name:"get_consortium",type:"function",inputs:[],outputs:[{type:"core::starknet::contract_address::ContractAddress"}],state_mutability:"view"},{name:"get_treasury",type:"function",inputs:[],outputs:[{type:"core::starknet::contract_address::ContractAddress"}],state_mutability:"view"},{name:"get_burn_commission",type:"function",inputs:[],outputs:[{type:"core::integer::u64"}],state_mutability:"view"},{name:"calculate_unstake_request_amount",type:"function",inputs:[{name:"script_pub_key",type:"core::byte_array::ByteArray"},{name:"amount",type:"core::integer::u256"}],outputs:[{type:"(core::integer::u256, core::bool)"}],state_mutability:"view"},{name:"get_dust_fee_rate",type:"function",inputs:[],outputs:[{type:"core::integer::u128"}],state_mutability:"view"},{name:"is_payload_used",type:"function",inputs:[{name:"payload_hash",type:"core::integer::u256"}],outputs:[{type:"core::bool"}],state_mutability:"view"},{name:"is_withdrawals_enabled",type:"function",inputs:[],outputs:[{type:"core::bool"}],state_mutability:"view"}]},{name:"RolesImpl",type:"impl",interface_name:"starkware_utils::components::roles::interface::IRoles"},{name:"starkware_utils::components::roles::interface::IRoles",type:"interface",items:[{name:"is_app_governor",type:"function",inputs:[{name:"account",type:"core::starknet::contract_address::ContractAddress"}],outputs:[{type:"core::bool"}],state_mutability:"view"},{name:"is_app_role_admin",type:"function",inputs:[{name:"account",type:"core::starknet::contract_address::ContractAddress"}],outputs:[{type:"core::bool"}],state_mutability:"view"},{name:"is_governance_admin",type:"function",inputs:[{name:"account",type:"core::starknet::contract_address::ContractAddress"}],outputs:[{type:"core::bool"}],state_mutability:"view"},{name:"is_operator",type:"function",inputs:[{name:"account",type:"core::starknet::contract_address::ContractAddress"}],outputs:[{type:"core::bool"}],state_mutability:"view"},{name:"is_token_admin",type:"function",inputs:[{name:"account",type:"core::starknet::contract_address::ContractAddress"}],outputs:[{type:"core::bool"}],state_mutability:"view"},{name:"is_upgrade_governor",type:"function",inputs:[{name:"account",type:"core::starknet::contract_address::ContractAddress"}],outputs:[{type:"core::bool"}],state_mutability:"view"},{name:"is_security_admin",type:"function",inputs:[{name:"account",type:"core::starknet::contract_address::ContractAddress"}],outputs:[{type:"core::bool"}],state_mutability:"view"},{name:"is_security_agent",type:"function",inputs:[{name:"account",type:"core::starknet::contract_address::ContractAddress"}],outputs:[{type:"core::bool"}],state_mutability:"view"},{name:"register_app_governor",type:"function",inputs:[{name:"account",type:"core::starknet::contract_address::ContractAddress"}],outputs:[],state_mutability:"external"},{name:"remove_app_governor",type:"function",inputs:[{name:"account",type:"core::starknet::contract_address::ContractAddress"}],outputs:[],state_mutability:"external"},{name:"register_app_role_admin",type:"function",inputs:[{name:"account",type:"core::starknet::contract_address::ContractAddress"}],outputs:[],state_mutability:"external"},{name:"remove_app_role_admin",type:"function",inputs:[{name:"account",type:"core::starknet::contract_address::ContractAddress"}],outputs:[],state_mutability:"external"},{name:"register_governance_admin",type:"function",inputs:[{name:"account",type:"core::starknet::contract_address::ContractAddress"}],outputs:[],state_mutability:"external"},{name:"remove_governance_admin",type:"function",inputs:[{name:"account",type:"core::starknet::contract_address::ContractAddress"}],outputs:[],state_mutability:"external"},{name:"register_operator",type:"function",inputs:[{name:"account",type:"core::starknet::contract_address::ContractAddress"}],outputs:[],state_mutability:"external"},{name:"remove_operator",type:"function",inputs:[{name:"account",type:"core::starknet::contract_address::ContractAddress"}],outputs:[],state_mutability:"external"},{name:"register_token_admin",type:"function",inputs:[{name:"account",type:"core::starknet::contract_address::ContractAddress"}],outputs:[],state_mutability:"external"},{name:"remove_token_admin",type:"function",inputs:[{name:"account",type:"core::starknet::contract_address::ContractAddress"}],outputs:[],state_mutability:"external"},{name:"register_upgrade_governor",type:"function",inputs:[{name:"account",type:"core::starknet::contract_address::ContractAddress"}],outputs:[],state_mutability:"external"},{name:"remove_upgrade_governor",type:"function",inputs:[{name:"account",type:"core::starknet::contract_address::ContractAddress"}],outputs:[],state_mutability:"external"},{name:"renounce",type:"function",inputs:[{name:"role",type:"core::felt252"}],outputs:[],state_mutability:"external"},{name:"register_security_admin",type:"function",inputs:[{name:"account",type:"core::starknet::contract_address::ContractAddress"}],outputs:[],state_mutability:"external"},{name:"remove_security_admin",type:"function",inputs:[{name:"account",type:"core::starknet::contract_address::ContractAddress"}],outputs:[],state_mutability:"external"},{name:"register_security_agent",type:"function",inputs:[{name:"account",type:"core::starknet::contract_address::ContractAddress"}],outputs:[],state_mutability:"external"},{name:"remove_security_agent",type:"function",inputs:[{name:"account",type:"core::starknet::contract_address::ContractAddress"}],outputs:[],state_mutability:"external"}]},{name:"ReplaceabilityImpl",type:"impl",interface_name:"starkware_utils::components::replaceability::interface::IReplaceable"},{name:"core::array::Span::<core::felt252>",type:"struct",members:[{name:"snapshot",type:"@core::array::Array::<core::felt252>"}]},{name:"starkware_utils::components::replaceability::interface::EICData",type:"struct",members:[{name:"eic_hash",type:"core::starknet::class_hash::ClassHash"},{name:"eic_init_data",type:"core::array::Span::<core::felt252>"}]},{name:"core::option::Option::<starkware_utils::components::replaceability::interface::EICData>",type:"enum",variants:[{name:"Some",type:"starkware_utils::components::replaceability::interface::EICData"},{name:"None",type:"()"}]},{name:"starkware_utils::components::replaceability::interface::ImplementationData",type:"struct",members:[{name:"impl_hash",type:"core::starknet::class_hash::ClassHash"},{name:"eic_data",type:"core::option::Option::<starkware_utils::components::replaceability::interface::EICData>"},{name:"final",type:"core::bool"}]},{name:"starkware_utils::components::replaceability::interface::IReplaceable",type:"interface",items:[{name:"get_upgrade_delay",type:"function",inputs:[],outputs:[{type:"core::integer::u64"}],state_mutability:"view"},{name:"get_impl_activation_time",type:"function",inputs:[{name:"implementation_data",type:"starkware_utils::components::replaceability::interface::ImplementationData"}],outputs:[{type:"core::integer::u64"}],state_mutability:"view"},{name:"add_new_implementation",type:"function",inputs:[{name:"implementation_data",type:"starkware_utils::components::replaceability::interface::ImplementationData"}],outputs:[],state_mutability:"external"},{name:"remove_implementation",type:"function",inputs:[{name:"implementation_data",type:"starkware_utils::components::replaceability::interface::ImplementationData"}],outputs:[],state_mutability:"external"},{name:"replace_to",type:"function",inputs:[{name:"implementation_data",type:"starkware_utils::components::replaceability::interface::ImplementationData"}],outputs:[],state_mutability:"external"}]},{name:"constructor",type:"constructor",inputs:[{name:"governance_admin",type:"core::starknet::contract_address::ContractAddress"},{name:"upgrade_delay",type:"core::integer::u64"},{name:"bascule",type:"core::starknet::contract_address::ContractAddress"},{name:"consortium",type:"core::starknet::contract_address::ContractAddress"},{name:"lbtc_token",type:"core::starknet::contract_address::ContractAddress"},{name:"treasury",type:"core::starknet::contract_address::ContractAddress"},{name:"burn_commission",type:"core::integer::u64"}]},{kind:"struct",name:"openzeppelin_access::accesscontrol::accesscontrol::AccessControlComponent::RoleGranted",type:"event",members:[{kind:"data",name:"role",type:"core::felt252"},{kind:"data",name:"account",type:"core::starknet::contract_address::ContractAddress"},{kind:"data",name:"sender",type:"core::starknet::contract_address::ContractAddress"}]},{kind:"struct",name:"openzeppelin_access::accesscontrol::accesscontrol::AccessControlComponent::RoleGrantedWithDelay",type:"event",members:[{kind:"data",name:"role",type:"core::felt252"},{kind:"data",name:"account",type:"core::starknet::contract_address::ContractAddress"},{kind:"data",name:"sender",type:"core::starknet::contract_address::ContractAddress"},{kind:"data",name:"delay",type:"core::integer::u64"}]},{kind:"struct",name:"openzeppelin_access::accesscontrol::accesscontrol::AccessControlComponent::RoleRevoked",type:"event",members:[{kind:"data",name:"role",type:"core::felt252"},{kind:"data",name:"account",type:"core::starknet::contract_address::ContractAddress"},{kind:"data",name:"sender",type:"core::starknet::contract_address::ContractAddress"}]},{kind:"struct",name:"openzeppelin_access::accesscontrol::accesscontrol::AccessControlComponent::RoleAdminChanged",type:"event",members:[{kind:"data",name:"role",type:"core::felt252"},{kind:"data",name:"previous_admin_role",type:"core::felt252"},{kind:"data",name:"new_admin_role",type:"core::felt252"}]},{kind:"enum",name:"openzeppelin_access::accesscontrol::accesscontrol::AccessControlComponent::Event",type:"event",variants:[{kind:"nested",name:"RoleGranted",type:"openzeppelin_access::accesscontrol::accesscontrol::AccessControlComponent::RoleGranted"},{kind:"nested",name:"RoleGrantedWithDelay",type:"openzeppelin_access::accesscontrol::accesscontrol::AccessControlComponent::RoleGrantedWithDelay"},{kind:"nested",name:"RoleRevoked",type:"openzeppelin_access::accesscontrol::accesscontrol::AccessControlComponent::RoleRevoked"},{kind:"nested",name:"RoleAdminChanged",type:"openzeppelin_access::accesscontrol::accesscontrol::AccessControlComponent::RoleAdminChanged"}]},{kind:"struct",name:"starkware_utils::components::roles::interface::AppGovernorAdded",type:"event",members:[{kind:"data",name:"added_account",type:"core::starknet::contract_address::ContractAddress"},{kind:"data",name:"added_by",type:"core::starknet::contract_address::ContractAddress"}]},{kind:"struct",name:"starkware_utils::components::roles::interface::AppGovernorRemoved",type:"event",members:[{kind:"data",name:"removed_account",type:"core::starknet::contract_address::ContractAddress"},{kind:"data",name:"removed_by",type:"core::starknet::contract_address::ContractAddress"}]},{kind:"struct",name:"starkware_utils::components::roles::interface::AppRoleAdminAdded",type:"event",members:[{kind:"data",name:"added_account",type:"core::starknet::contract_address::ContractAddress"},{kind:"data",name:"added_by",type:"core::starknet::contract_address::ContractAddress"}]},{kind:"struct",name:"starkware_utils::components::roles::interface::AppRoleAdminRemoved",type:"event",members:[{kind:"data",name:"removed_account",type:"core::starknet::contract_address::ContractAddress"},{kind:"data",name:"removed_by",type:"core::starknet::contract_address::ContractAddress"}]},{kind:"struct",name:"starkware_utils::components::roles::interface::GovernanceAdminAdded",type:"event",members:[{kind:"data",name:"added_account",type:"core::starknet::contract_address::ContractAddress"},{kind:"data",name:"added_by",type:"core::starknet::contract_address::ContractAddress"}]},{kind:"struct",name:"starkware_utils::components::roles::interface::GovernanceAdminRemoved",type:"event",members:[{kind:"data",name:"removed_account",type:"core::starknet::contract_address::ContractAddress"},{kind:"data",name:"removed_by",type:"core::starknet::contract_address::ContractAddress"}]},{kind:"struct",name:"starkware_utils::components::roles::interface::OperatorAdded",type:"event",members:[{kind:"data",name:"added_account",type:"core::starknet::contract_address::ContractAddress"},{kind:"data",name:"added_by",type:"core::starknet::contract_address::ContractAddress"}]},{kind:"struct",name:"starkware_utils::components::roles::interface::OperatorRemoved",type:"event",members:[{kind:"data",name:"removed_account",type:"core::starknet::contract_address::ContractAddress"},{kind:"data",name:"removed_by",type:"core::starknet::contract_address::ContractAddress"}]},{kind:"struct",name:"starkware_utils::components::roles::interface::SecurityAdminAdded",type:"event",members:[{kind:"data",name:"added_account",type:"core::starknet::contract_address::ContractAddress"},{kind:"data",name:"added_by",type:"core::starknet::contract_address::ContractAddress"}]},{kind:"struct",name:"starkware_utils::components::roles::interface::SecurityAdminRemoved",type:"event",members:[{kind:"data",name:"removed_account",type:"core::starknet::contract_address::ContractAddress"},{kind:"data",name:"removed_by",type:"core::starknet::contract_address::ContractAddress"}]},{kind:"struct",name:"starkware_utils::components::roles::interface::SecurityAgentAdded",type:"event",members:[{kind:"data",name:"added_account",type:"core::starknet::contract_address::ContractAddress"},{kind:"data",name:"added_by",type:"core::starknet::contract_address::ContractAddress"}]},{kind:"struct",name:"starkware_utils::components::roles::interface::SecurityAgentRemoved",type:"event",members:[{kind:"data",name:"removed_account",type:"core::starknet::contract_address::ContractAddress"},{kind:"data",name:"removed_by",type:"core::starknet::contract_address::ContractAddress"}]},{kind:"struct",name:"starkware_utils::components::roles::interface::TokenAdminAdded",type:"event",members:[{kind:"data",name:"added_account",type:"core::starknet::contract_address::ContractAddress"},{kind:"data",name:"added_by",type:"core::starknet::contract_address::ContractAddress"}]},{kind:"struct",name:"starkware_utils::components::roles::interface::TokenAdminRemoved",type:"event",members:[{kind:"data",name:"removed_account",type:"core::starknet::contract_address::ContractAddress"},{kind:"data",name:"removed_by",type:"core::starknet::contract_address::ContractAddress"}]},{kind:"struct",name:"starkware_utils::components::roles::interface::UpgradeGovernorAdded",type:"event",members:[{kind:"data",name:"added_account",type:"core::starknet::contract_address::ContractAddress"},{kind:"data",name:"added_by",type:"core::starknet::contract_address::ContractAddress"}]},{kind:"struct",name:"starkware_utils::components::roles::interface::UpgradeGovernorRemoved",type:"event",members:[{kind:"data",name:"removed_account",type:"core::starknet::contract_address::ContractAddress"},{kind:"data",name:"removed_by",type:"core::starknet::contract_address::ContractAddress"}]},{kind:"enum",name:"starkware_utils::components::roles::roles::RolesComponent::Event",type:"event",variants:[{kind:"nested",name:"AppGovernorAdded",type:"starkware_utils::components::roles::interface::AppGovernorAdded"},{kind:"nested",name:"AppGovernorRemoved",type:"starkware_utils::components::roles::interface::AppGovernorRemoved"},{kind:"nested",name:"AppRoleAdminAdded",type:"starkware_utils::components::roles::interface::AppRoleAdminAdded"},{kind:"nested",name:"AppRoleAdminRemoved",type:"starkware_utils::components::roles::interface::AppRoleAdminRemoved"},{kind:"nested",name:"GovernanceAdminAdded",type:"starkware_utils::components::roles::interface::GovernanceAdminAdded"},{kind:"nested",name:"GovernanceAdminRemoved",type:"starkware_utils::components::roles::interface::GovernanceAdminRemoved"},{kind:"nested",name:"OperatorAdded",type:"starkware_utils::components::roles::interface::OperatorAdded"},{kind:"nested",name:"OperatorRemoved",type:"starkware_utils::components::roles::interface::OperatorRemoved"},{kind:"nested",name:"SecurityAdminAdded",type:"starkware_utils::components::roles::interface::SecurityAdminAdded"},{kind:"nested",name:"SecurityAdminRemoved",type:"starkware_utils::components::roles::interface::SecurityAdminRemoved"},{kind:"nested",name:"SecurityAgentAdded",type:"starkware_utils::components::roles::interface::SecurityAgentAdded"},{kind:"nested",name:"SecurityAgentRemoved",type:"starkware_utils::components::roles::interface::SecurityAgentRemoved"},{kind:"nested",name:"TokenAdminAdded",type:"starkware_utils::components::roles::interface::TokenAdminAdded"},{kind:"nested",name:"TokenAdminRemoved",type:"starkware_utils::components::roles::interface::TokenAdminRemoved"},{kind:"nested",name:"UpgradeGovernorAdded",type:"starkware_utils::components::roles::interface::UpgradeGovernorAdded"},{kind:"nested",name:"UpgradeGovernorRemoved",type:"starkware_utils::components::roles::interface::UpgradeGovernorRemoved"}]},{kind:"enum",name:"openzeppelin_introspection::src5::SRC5Component::Event",type:"event",variants:[]},{kind:"struct",name:"starkware_utils::components::replaceability::interface::ImplementationAdded",type:"event",members:[{kind:"data",name:"implementation_data",type:"starkware_utils::components::replaceability::interface::ImplementationData"}]},{kind:"struct",name:"starkware_utils::components::replaceability::interface::ImplementationRemoved",type:"event",members:[{kind:"data",name:"implementation_data",type:"starkware_utils::components::replaceability::interface::ImplementationData"}]},{kind:"struct",name:"starkware_utils::components::replaceability::interface::ImplementationReplaced",type:"event",members:[{kind:"data",name:"implementation_data",type:"starkware_utils::components::replaceability::interface::ImplementationData"}]},{kind:"struct",name:"starkware_utils::components::replaceability::interface::ImplementationFinalized",type:"event",members:[{kind:"data",name:"impl_hash",type:"core::starknet::class_hash::ClassHash"}]},{kind:"enum",name:"starkware_utils::components::replaceability::replaceability::ReplaceabilityComponent::Event",type:"event",variants:[{kind:"nested",name:"ImplementationAdded",type:"starkware_utils::components::replaceability::interface::ImplementationAdded"},{kind:"nested",name:"ImplementationRemoved",type:"starkware_utils::components::replaceability::interface::ImplementationRemoved"},{kind:"nested",name:"ImplementationReplaced",type:"starkware_utils::components::replaceability::interface::ImplementationReplaced"},{kind:"nested",name:"ImplementationFinalized",type:"starkware_utils::components::replaceability::interface::ImplementationFinalized"}]},{kind:"struct",name:"lbtc_asset_router::events::BasculeChanged",type:"event",members:[{kind:"data",name:"old_bascule",type:"core::starknet::contract_address::ContractAddress"},{kind:"data",name:"new_bascule",type:"core::starknet::contract_address::ContractAddress"}]},{kind:"struct",name:"lbtc_asset_router::events::ConsortiumChanged",type:"event",members:[{kind:"data",name:"old_consortium",type:"core::starknet::contract_address::ContractAddress"},{kind:"data",name:"new_consortium",type:"core::starknet::contract_address::ContractAddress"}]},{kind:"struct",name:"lbtc_asset_router::events::TreasuryChanged",type:"event",members:[{kind:"data",name:"old_treasury",type:"core::starknet::contract_address::ContractAddress"},{kind:"data",name:"new_treasury",type:"core::starknet::contract_address::ContractAddress"}]},{kind:"struct",name:"lbtc_asset_router::events::BurnCommissionChanged",type:"event",members:[{kind:"data",name:"old_burn_commission",type:"core::integer::u64"},{kind:"data",name:"new_burn_commission",type:"core::integer::u64"}]},{kind:"struct",name:"lbtc_asset_router::events::WithdrawalsEnabled",type:"event",members:[{kind:"data",name:"is_withdrawals_enabled",type:"core::bool"}]},{kind:"struct",name:"lbtc_asset_router::events::UnstakeRequest",type:"event",members:[{kind:"data",name:"from_address",type:"core::starknet::contract_address::ContractAddress"},{kind:"data",name:"script_pub_key",type:"core::byte_array::ByteArray"},{kind:"data",name:"amount_after_fee",type:"core::integer::u256"}]},{kind:"struct",name:"lbtc_asset_router::events::DustFeeRateChanged",type:"event",members:[{kind:"data",name:"old_rate",type:"core::integer::u128"},{kind:"data",name:"new_rate",type:"core::integer::u128"}]},{kind:"struct",name:"lbtc_asset_router::events::MintProofConsumed",type:"event",members:[{kind:"key",name:"recipient",type:"core::starknet::contract_address::ContractAddress"},{kind:"key",name:"payload_hash",type:"core::integer::u256"},{kind:"data",name:"payload",type:"core::byte_array::ByteArray"}]},{kind:"enum",name:"lbtc_asset_router::asset_router::asset_router::Event",type:"event",variants:[{kind:"flat",name:"AccessControlEvent",type:"openzeppelin_access::accesscontrol::accesscontrol::AccessControlComponent::Event"},{kind:"flat",name:"RolesEvent",type:"starkware_utils::components::roles::roles::RolesComponent::Event"},{kind:"flat",name:"SRC5Event",type:"openzeppelin_introspection::src5::SRC5Component::Event"},{kind:"flat",name:"ReplaceabilityEvent",type:"starkware_utils::components::replaceability::replaceability::ReplaceabilityComponent::Event"},{kind:"nested",name:"BasculeChanged",type:"lbtc_asset_router::events::BasculeChanged"},{kind:"nested",name:"ConsortiumChanged",type:"lbtc_asset_router::events::ConsortiumChanged"},{kind:"nested",name:"TreasuryChanged",type:"lbtc_asset_router::events::TreasuryChanged"},{kind:"nested",name:"BurnCommissionChanged",type:"lbtc_asset_router::events::BurnCommissionChanged"},{kind:"nested",name:"WithdrawalsEnabled",type:"lbtc_asset_router::events::WithdrawalsEnabled"},{kind:"nested",name:"UnstakeRequest",type:"lbtc_asset_router::events::UnstakeRequest"},{kind:"nested",name:"DustFeeRateChanged",type:"lbtc_asset_router::events::DustFeeRateChanged"},{kind:"nested",name:"MintProofConsumed",type:"lbtc_asset_router::events::MintProofConsumed"}]}];var yf=(e=>(e.ETH="ETH",e.LBTC="LBTC",e.STRK="STRK",e))(yf||{});const o3={[_e.SN_SEPOLIA]:{address:"0x049d36570d4e46f48e99674bd3fcc84644ddd6b96f7c741b1562b82f9e004dc7",classHash:"0x076791ef97c042f81fbf352ad95f39a22554ee8d7927b2ce3c681f3418b5206a",abi:gs},[_e.SN_MAIN]:{address:"0x049D36570D4e46f48e99674bd3fcc84644DdD6b96F7C741B1562B82f9e004dC7",classHash:"",abi:gs}},Gu={[We.stage]:{[_e.SN_SEPOLIA]:{address:"0x00b442f5420860e937a99659326e81a97e07bfd538b3cee65b90029c9da38a5f",classHash:"0x01f12942315b6dd05a21392ced7890a380affa81066741de6ac31af4dcb0d468",abi:Bi},[_e.SN_MAIN]:void 0},[We.testnet]:{[_e.SN_SEPOLIA]:{address:"0x00456a829ab75ba5e97534dc70d7fc617cfda244f8dcda47b11624de67c6e70c",classHash:"0x01f12942315b6dd05a21392ced7890a380affa81066741de6ac31af4dcb0d468",abi:Bi},[_e.SN_MAIN]:void 0},[We.dev]:{[_e.SN_SEPOLIA]:{address:"0x0723de0c550b7bfbb5051dade72966d71a08bef952c0197462a5244497eb57c1",classHash:"0x01f12942315b6dd05a21392ced7890a380affa81066741de6ac31af4dcb0d468",abi:Bi},[_e.SN_MAIN]:void 0},[We.prod]:{[_e.SN_SEPOLIA]:void 0,[_e.SN_MAIN]:{address:"0x036834a40984312f7f7de8d31e3f6305b325389eaeea5b1c0664b2fb936461a4",classHash:"",abi:Bi}},[We.ibc]:void 0},Ku={[We.stage]:{[_e.SN_SEPOLIA]:{address:"0x01d27f156092746d0d7cd9d9deec5e937f27c3c7c1c28365e9e5efac459880b3",classHash:"0x0524d80f999f690bbb302f37a36abdf82ea2135391c3d1a5090e7665c20e2159",abi:Pi},[_e.SN_MAIN]:void 0},[We.testnet]:{[_e.SN_SEPOLIA]:{address:"0x063b7b5c8b114ebd5b9602fbd5d0ffd2cc3a598f1d91c6904cc0997cd8fea760",classHash:"0x0524d80f999f690bbb302f37a36abdf82ea2135391c3d1a5090e7665c20e2159",abi:Pi},[_e.SN_MAIN]:void 0},[We.dev]:{[_e.SN_SEPOLIA]:{address:"0x04838a05c798dc57e01e85526979841c84f1f3c732a525cff53adb3e8bee3d24",classHash:"0x0524d80f999f690bbb302f37a36abdf82ea2135391c3d1a5090e7665c20e2159",abi:Pi},[_e.SN_MAIN]:void 0},[We.prod]:{[_e.SN_SEPOLIA]:void 0,[_e.SN_MAIN]:{address:"0x05b1886d0f844ab930fc0ee066f1655a873437f15a5d2c41ee3e884fd5299976",classHash:"",abi:Pi}},[We.ibc]:void 0},Wu={[We.stage]:{[_e.SN_SEPOLIA]:{address:"0x001d16d02a4ed6f5673635b1ad3b27ead190904b83fafde7b4c55282ef57492a",classHash:"0x0083965992f591e5979068d8a12a09a1f13949e1d1f65f495e7a5503d2f1e519",abi:zi},[_e.SN_MAIN]:void 0},[We.testnet]:{[_e.SN_SEPOLIA]:{address:"0x01757fb630a6cc4e3607fc1d92e0f91c5b3eedd71420f1fa7dc6d1764827b012",classHash:"0x0083965992f591e5979068d8a12a09a1f13949e1d1f65f495e7a5503d2f1e519",abi:zi},[_e.SN_MAIN]:void 0},[We.dev]:{[_e.SN_SEPOLIA]:{address:"0x01757fb630a6cc4e3607fc1d92e0f91c5b3eedd71420f1fa7dc6d1764827b012",classHash:"0x0083965992f591e5979068d8a12a09a1f13949e1d1f65f495e7a5503d2f1e519",abi:zi},[_e.SN_MAIN]:void 0},[We.prod]:{[_e.SN_SEPOLIA]:void 0,[_e.SN_MAIN]:{address:"0x76b68231c1bddb7c981c5a19d9c6a28c5cb14161b8fcd3a857aa8a396d31f95",classHash:"",abi:zi}},[We.ibc]:void 0},i3={[_e.SN_SEPOLIA]:{address:"0x04718f5a0fc34cc1af16a1cdee98ffb20c31f5cd61d6ab07201858f4287c938d",classHash:"0x009524a94b41c4440a16fd96d7c1ef6ad6f44c1c013e96662734502cd4ee9b1f",abi:gs},[_e.SN_MAIN]:{address:"0x04718f5a0fc34cc1af16a1cdee98ffb20c31f5cd61d6ab07201858f4287c938d",classHash:"0x009524a94b41c4440a16fd96d7c1ef6ad6f44c1c013e96662734502cd4ee9b1f",abi:gs}},$k=(e,t=_e.SN_MAIN,n="token",r=h_)=>{var a,o,i;if(n==="bridge")switch(e){case"LBTC":return(a=Ku==null?void 0:Ku[r])==null?void 0:a[t];default:return}if(n==="bascule")switch(e){case"LBTC":return(o=Wu==null?void 0:Wu[r])==null?void 0:o[t];default:return}switch(e){case"ETH":return o3[t];case"LBTC":return(i=Gu==null?void 0:Gu[r])==null?void 0:i[t];case"STRK":return i3[t]}},yr=({token:e,chainId:t,provider:n,contractType:r="token",env:a})=>{const o=$k(e,t,r,a);if(!o){const c=a==="prod",u=t===_e.SN_MAIN;throw c&&!u||!c&&u?r3(t??"unknown",a??"unknown"):JI(e)}const i=n||gr(t);if(!i)throw YI(t);return new GI(o.abi,o.address,i)};function Gk(e,t){return Hr(e).multipliedBy(Hr(10).pow(t)).decimalPlaces(0,Hr.ROUND_HALF_UP)}function s3(e,t){return Hr(e).dividedBy(Hr(10).pow(t))}async function c3({amount:e,spender:t,token:n,walletAccount:r,env:a}){const o=await r.getChainId(),i=gr(o),c=await yr({chainId:o,contractType:"token",provider:i,token:n,env:a}).decimals(),u=Gk(e,Number(c));return(await yr({chainId:o,contractType:"token",provider:r,token:n,env:a}).approve(t,u.toNumber())).transaction_hash}async function u3({account:e,token:t,chainId:n,env:r}){const a=gr(n),o=yr({chainId:n,contractType:"token",provider:a,token:t,env:r}),i=await o.balance_of(e),s=Hr.BigNumber(String(i)),c=await o.decimals();return s3(s,c)}const Ri=BigInt(2**32-1),Pm=BigInt(32);function l3(e,t=!1){return t?{h:Number(e&Ri),l:Number(e>>Pm&Ri)}:{h:Number(e>>Pm&Ri)|0,l:Number(e&Ri)|0}}function d3(e,t=!1){const n=e.length;let r=new Uint32Array(n),a=new Uint32Array(n);for(let o=0;o<n;o++){const{h:i,l:s}=l3(e[o],t);[r[o],a[o]]=[i,s]}return[r,a]}const f3=(e,t,n)=>e<<n|t>>>32-n,p3=(e,t,n)=>t<<n|e>>>32-n,h3=(e,t,n)=>t<<n-32|e>>>64-n,m3=(e,t,n)=>e<<n-32|t>>>64-n;/*! noble-hashes - MIT License (c) 2022 Paul Miller (paulmillr.com) */function g3(e){return e instanceof Uint8Array||ArrayBuffer.isView(e)&&e.constructor.name==="Uint8Array"}function Rm(e){if(!Number.isSafeInteger(e)||e<0)throw new Error("positive integer expected, got "+e)}function ys(e,...t){if(!g3(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 Nm(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 y3(e,t){ys(e);const n=t.outputLen;if(e.length<n)throw new Error("digestInto() expects output buffer of length at least "+n)}function b3(e){return new Uint32Array(e.buffer,e.byteOffset,Math.floor(e.byteLength/4))}function Kk(...e){for(let t=0;t<e.length;t++)e[t].fill(0)}const w3=new Uint8Array(new Uint32Array([287454020]).buffer)[0]===68;function k3(e){return e<<24&4278190080|e<<8&16711680|e>>>8&65280|e>>>24&255}function _3(e){for(let t=0;t<e.length;t++)e[t]=k3(e[t]);return e}const Um=w3?e=>e:_3;function v3(e){if(typeof e!="string")throw new Error("string expected");return new Uint8Array(new TextEncoder().encode(e))}function Wk(e){return typeof e=="string"&&(e=v3(e)),ys(e),e}class E3{}function A3(e){const t=r=>e().update(Wk(r)).digest(),n=e();return t.outputLen=n.outputLen,t.blockLen=n.blockLen,t.create=()=>e(),t}const S3=BigInt(0),$a=BigInt(1),j3=BigInt(2),x3=BigInt(7),T3=BigInt(256),I3=BigInt(113),Xk=[],Zk=[],Yk=[];for(let e=0,t=$a,n=1,r=0;e<24;e++){[n,r]=[r,(2*n+3*r)%5],Xk.push(2*(5*r+n)),Zk.push((e+1)*(e+2)/2%64);let a=S3;for(let o=0;o<7;o++)t=(t<<$a^(t>>x3)*I3)%T3,t&j3&&(a^=$a<<($a<<BigInt(o))-$a);Yk.push(a)}const Jk=d3(Yk,!0),C3=Jk[0],O3=Jk[1],Hm=(e,t,n)=>n>32?h3(e,t,n):f3(e,t,n),Lm=(e,t,n)=>n>32?m3(e,t,n):p3(e,t,n);function B3(e,t=24){const n=new Uint32Array(10);for(let r=24-t;r<24;r++){for(let i=0;i<10;i++)n[i]=e[i]^e[i+10]^e[i+20]^e[i+30]^e[i+40];for(let i=0;i<10;i+=2){const s=(i+8)%10,c=(i+2)%10,u=n[c],d=n[c+1],h=Hm(u,d,1)^n[s],f=Lm(u,d,1)^n[s+1];for(let l=0;l<50;l+=10)e[i+l]^=h,e[i+l+1]^=f}let a=e[2],o=e[3];for(let i=0;i<24;i++){const s=Zk[i],c=Hm(a,o,s),u=Lm(a,o,s),d=Xk[i];a=e[d],o=e[d+1],e[d]=c,e[d+1]=u}for(let i=0;i<50;i+=10){for(let s=0;s<10;s++)n[s]=e[i+s];for(let s=0;s<10;s++)e[i+s]^=~n[(s+2)%10]&n[(s+4)%10]}e[0]^=C3[r],e[1]^=O3[r]}Kk(n)}class bf extends E3{constructor(t,n,r,a=!1,o=24){if(super(),this.pos=0,this.posOut=0,this.finished=!1,this.destroyed=!1,this.enableXOF=!1,this.blockLen=t,this.suffix=n,this.outputLen=r,this.enableXOF=a,this.rounds=o,Rm(r),!(0<t&&t<200))throw new Error("only keccak-f1600 function is supported");this.state=new Uint8Array(200),this.state32=b3(this.state)}clone(){return this._cloneInto()}keccak(){Um(this.state32),B3(this.state32,this.rounds),Um(this.state32),this.posOut=0,this.pos=0}update(t){Nm(this),t=Wk(t),ys(t);const{blockLen:n,state:r}=this,a=t.length;for(let o=0;o<a;){const i=Math.min(n-this.pos,a-o);for(let s=0;s<i;s++)r[this.pos++]^=t[o++];this.pos===n&&this.keccak()}return this}finish(){if(this.finished)return;this.finished=!0;const{state:t,suffix:n,pos:r,blockLen:a}=this;t[r]^=n,(n&128)!==0&&r===a-1&&this.keccak(),t[a-1]^=128,this.keccak()}writeInto(t){Nm(this,!1),ys(t),this.finish();const n=this.state,{blockLen:r}=this;for(let a=0,o=t.length;a<o;){this.posOut>=r&&this.keccak();const i=Math.min(r-this.posOut,o-a);t.set(n.subarray(this.posOut,this.posOut+i),a),this.posOut+=i,a+=i}return t}xofInto(t){if(!this.enableXOF)throw new Error("XOF is not possible for this instance");return this.writeInto(t)}xof(t){return Rm(t),this.xofInto(new Uint8Array(t))}digestInto(t){if(y3(t,this),this.finished)throw new Error("digest() was already called");return this.writeInto(t),this.destroy(),t}digest(){return this.digestInto(new Uint8Array(this.outputLen))}destroy(){this.destroyed=!0,Kk(this.state)}_cloneInto(t){const{blockLen:n,suffix:r,outputLen:a,rounds:o,enableXOF:i}=this;return t||(t=new bf(n,r,a,i,o)),t.state32.set(this.state32),t.pos=this.pos,t.posOut=this.posOut,t.finished=this.finished,t.rounds=o,t.suffix=r,t.outputLen=a,t.enableXOF=i,t.destroyed=this.destroyed,t}}const z3=(e,t,n)=>A3(()=>new bf(t,e,n)),P3=z3(1,136,256/8);function R3(e){return e.startsWith("0x")}function Dm(e){return R3(e)?e:`0x${e}`}function N3(e){let t=e;t.startsWith("0x")&&(t=t.slice(2));const n=t.match(/.{64}/g);if(!n)throw new Error("Invalid hex string");const r=Number.parseInt(n[0],16)/32,a=Number.parseInt(n[r],16),o=r+1,i=[];for(let s=0;s<a;s++){const d=Number.parseInt(n[o+s],16)/32+o+1,h=`0x${n[d]}`,f=`0x${n[d+1]}`,l=ms.bnToUint256(h),g=ms.bnToUint256(f);i.push({0:l,1:g})}return i}async function U3({amount:e,depositPayload:t,depositTxId:n,depositIndex:r,depositProofSignature:a,token:o,walletAccount:i,recipientAddress:s,env:c}){const u=await i.getChainId(),d=(n.startsWith("0x")?n.slice(2):n).match(/.{2}/g);if(!d)throw new Error("Missing deposit tx id");const h=gr(u),l=yr({...{chainId:u,provider:h,token:o},contractType:"bascule",env:c}),g=Dm(Buffer.from(P3(Buffer.from(t.slice(8),"hex"))).toString("hex")),b=await l.get_deposit_status(BigInt(g));if(b.activeVariant()!=="Reported"){const I=`The deposit cannot be claimed. Bascule status: ${b.activeVariant()}`;console.warn(I)}const y=BigInt(gf(u)),_=s||i.address,k=BigInt(Dm(d.reverse().join(""))),w=Number(r),v=N3(a),A=yr({chainId:u,provider:i,token:o,contractType:"bridge",env:c}),{transaction_hash:T}=await A.mint(y,_,BigInt(e.toString()),k,w,v);return T}var Xu={},mt={},xn={},Fm;function nn(){return Fm||(Fm=1,Object.defineProperty(xn,"__esModule",{value:!0}),xn.testnet=xn.regtest=xn.bitcoin=void 0,xn.bitcoin={messagePrefix:`Bitcoin Signed Message:
|
|
218
218
|
`,bech32:"bc",bip32:{public:76067358,private:76066276},pubKeyHash:0,scriptHash:5,wif:128},xn.regtest={messagePrefix:`Bitcoin Signed Message:
|
|
219
219
|
`,bech32:"bcrt",bip32:{public:70617039,private:70615956},pubKeyHash:111,scriptHash:196,wif:239},xn.testnet={messagePrefix:`Bitcoin Signed Message:
|
|
220
220
|
`,bech32:"tb",bip32:{public:70617039,private:70615956},pubKeyHash:111,scriptHash:196,wif:239}),xn}var Zu={},Ga={},Yu={},Tn={},Mm;function Qk(){if(Mm)return Tn;Mm=1,Object.defineProperty(Tn,"__esModule",{value:!0}),Tn.encode=Tn.decode=Tn.check=void 0;function e(r){if(r.length<8||r.length>72||r[0]!==48||r[1]!==r.length-2||r[2]!==2)return!1;const a=r[3];if(a===0||5+a>=r.length||r[4+a]!==2)return!1;const o=r[5+a];return!(o===0||6+a+o!==r.length||r[4]&128||a>1&&r[4]===0&&!(r[5]&128)||r[a+6]&128||o>1&&r[a+6]===0&&!(r[a+7]&128))}Tn.check=e;function t(r){if(r.length<8)throw new Error("DER sequence length is too short");if(r.length>72)throw new Error("DER sequence length is too long");if(r[0]!==48)throw new Error("Expected DER sequence");if(r[1]!==r.length-2)throw new Error("DER sequence length is invalid");if(r[2]!==2)throw new Error("Expected DER integer");const a=r[3];if(a===0)throw new Error("R length is zero");if(5+a>=r.length)throw new Error("R length is too long");if(r[4+a]!==2)throw new Error("Expected DER integer (2)");const o=r[5+a];if(o===0)throw new Error("S length is zero");if(6+a+o!==r.length)throw new Error("S length is invalid");if(r[4]&128)throw new Error("R value is negative");if(a>1&&r[4]===0&&!(r[5]&128))throw new Error("R value excessively padded");if(r[a+6]&128)throw new Error("S value is negative");if(o>1&&r[a+6]===0&&!(r[a+7]&128))throw new Error("S value excessively padded");return{r:r.slice(4,4+a),s:r.slice(6+a)}}Tn.decode=t;function n(r,a){const o=r.length,i=a.length;if(o===0)throw new Error("R length is zero");if(i===0)throw new Error("S length is zero");if(o>33)throw new Error("R length is too long");if(i>33)throw new Error("S length is too long");if(r[0]&128)throw new Error("R value is negative");if(a[0]&128)throw new Error("S value is negative");if(o>1&&r[0]===0&&!(r[1]&128))throw new Error("R value excessively padded");if(i>1&&a[0]===0&&!(a[1]&128))throw new Error("S value excessively padded");const s=Buffer.allocUnsafe(6+o+i);return s[0]=48,s[1]=s.length-2,s[2]=2,s[3]=r.length,r.copy(s,4),s[4+o]=2,s[5+o]=a.length,a.copy(s,6+o),s}return Tn.encode=n,Tn}var vr={},qm;function wf(){if(qm)return vr;qm=1,Object.defineProperty(vr,"__esModule",{value:!0}),vr.REVERSE_OPS=vr.OPS=void 0;const e={OP_FALSE:0,OP_0:0,OP_PUSHDATA1:76,OP_PUSHDATA2:77,OP_PUSHDATA4:78,OP_1NEGATE:79,OP_RESERVED:80,OP_TRUE:81,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_VER:98,OP_IF:99,OP_NOTIF:100,OP_VERIF:101,OP_VERNOTIF:102,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_CAT:126,OP_SUBSTR:127,OP_LEFT:128,OP_RIGHT:129,OP_SIZE:130,OP_INVERT:131,OP_AND:132,OP_OR:133,OP_XOR:134,OP_EQUAL:135,OP_EQUALVERIFY:136,OP_RESERVED1:137,OP_RESERVED2:138,OP_1ADD:139,OP_1SUB:140,OP_2MUL:141,OP_2DIV:142,OP_NEGATE:143,OP_ABS:144,OP_NOT:145,OP_0NOTEQUAL:146,OP_ADD:147,OP_SUB:148,OP_MUL:149,OP_DIV:150,OP_MOD:151,OP_LSHIFT:152,OP_RSHIFT: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_NOP2:177,OP_CHECKLOCKTIMEVERIFY:177,OP_NOP3:178,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,OP_PUBKEYHASH:253,OP_PUBKEY:254,OP_INVALIDOPCODE:255};vr.OPS=e;const t={};vr.REVERSE_OPS=t;for(const n of Object.keys(e)){const r=e[n];t[r]=n}return vr}var In={},Vm;function H3(){if(Vm)return In;Vm=1,Object.defineProperty(In,"__esModule",{value:!0}),In.decode=In.encode=In.encodingLength=void 0;const e=wf();function t(a){return a<e.OPS.OP_PUSHDATA1?1:a<=255?2:a<=65535?3:5}In.encodingLength=t;function n(a,o,i){const s=t(o);return s===1?a.writeUInt8(o,i):s===2?(a.writeUInt8(e.OPS.OP_PUSHDATA1,i),a.writeUInt8(o,i+1)):s===3?(a.writeUInt8(e.OPS.OP_PUSHDATA2,i),a.writeUInt16LE(o,i+1)):(a.writeUInt8(e.OPS.OP_PUSHDATA4,i),a.writeUInt32LE(o,i+1)),s}In.encode=n;function r(a,o){const i=a.readUInt8(o);let s,c;if(i<e.OPS.OP_PUSHDATA1)s=i,c=1;else if(i===e.OPS.OP_PUSHDATA1){if(o+2>a.length)return null;s=a.readUInt8(o+1),c=2}else if(i===e.OPS.OP_PUSHDATA2){if(o+3>a.length)return null;s=a.readUInt16LE(o+1),c=3}else{if(o+5>a.length)return null;if(i!==e.OPS.OP_PUSHDATA4)throw new Error("Unexpected opcode");s=a.readUInt32LE(o+1),c=5}return{opcode:i,number:s,size:c}}return In.decode=r,In}var Er={},$m;function L3(){if($m)return Er;$m=1,Object.defineProperty(Er,"__esModule",{value:!0}),Er.encode=Er.decode=void 0;function e(r,a,o){a=a||4,o=o===void 0?!0:o;const i=r.length;if(i===0)return 0;if(i>a)throw new TypeError("Script number overflow");if(o&&(r[i-1]&127)===0&&(i<=1||(r[i-2]&128)===0))throw new Error("Non-minimally encoded script number");if(i===5){const c=r.readUInt32LE(0),u=r.readUInt8(4);return u&128?-((u&-129)*4294967296+c):u*4294967296+c}let s=0;for(let c=0;c<i;++c)s|=r[c]<<8*c;return r[i-1]&128?-(s&~(128<<8*(i-1))):s}Er.decode=e;function t(r){return r>2147483647?5:r>8388607?4:r>32767?3:r>127?2:r>0?1:0}function n(r){let a=Math.abs(r);const o=t(a),i=Buffer.allocUnsafe(o),s=r<0;for(let c=0;c<o;++c)i.writeUInt8(a&255,c),a>>=8;return i[o-1]&128?i.writeUInt8(s?128:0,o-1):s&&(i[o-1]|=128),i}return Er.encode=n,Er}var Ar={},Ju={},Qu={},Ka={},Gm;function D3(){if(Gm)return Ka;Gm=1,Ka.byteLength=s,Ka.toByteArray=u,Ka.fromByteArray=f;for(var e=[],t=[],n=typeof Uint8Array<"u"?Uint8Array:Array,r="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/",a=0,o=r.length;a<o;++a)e[a]=r[a],t[r.charCodeAt(a)]=a;t[45]=62,t[95]=63;function i(l){var g=l.length;if(g%4>0)throw new Error("Invalid string. Length must be a multiple of 4");var b=l.indexOf("=");b===-1&&(b=g);var y=b===g?0:4-b%4;return[b,y]}function s(l){var g=i(l),b=g[0],y=g[1];return(b+y)*3/4-y}function c(l,g,b){return(g+b)*3/4-b}function u(l){var g,b=i(l),y=b[0],_=b[1],k=new n(c(l,y,_)),w=0,v=_>0?y-4:y,A;for(A=0;A<v;A+=4)g=t[l.charCodeAt(A)]<<18|t[l.charCodeAt(A+1)]<<12|t[l.charCodeAt(A+2)]<<6|t[l.charCodeAt(A+3)],k[w++]=g>>16&255,k[w++]=g>>8&255,k[w++]=g&255;return _===2&&(g=t[l.charCodeAt(A)]<<2|t[l.charCodeAt(A+1)]>>4,k[w++]=g&255),_===1&&(g=t[l.charCodeAt(A)]<<10|t[l.charCodeAt(A+1)]<<4|t[l.charCodeAt(A+2)]>>2,k[w++]=g>>8&255,k[w++]=g&255),k}function d(l){return e[l>>18&63]+e[l>>12&63]+e[l>>6&63]+e[l&63]}function h(l,g,b){for(var y,_=[],k=g;k<b;k+=3)y=(l[k]<<16&16711680)+(l[k+1]<<8&65280)+(l[k+2]&255),_.push(d(y));return _.join("")}function f(l){for(var g,b=l.length,y=b%3,_=[],k=16383,w=0,v=b-y;w<v;w+=k)_.push(h(l,w,w+k>v?v:w+k));return y===1?(g=l[b-1],_.push(e[g>>2]+e[g<<4&63]+"==")):y===2&&(g=(l[b-2]<<8)+l[b-1],_.push(e[g>>10]+e[g>>4&63]+e[g<<2&63]+"=")),_.join("")}return Ka}var Ni={};/*! ieee754. BSD-3-Clause License. Feross Aboukhadijeh <https://feross.org/opensource> */var Km;function F3(){return Km||(Km=1,Ni.read=function(e,t,n,r,a){var o,i,s=a*8-r-1,c=(1<<s)-1,u=c>>1,d=-7,h=n?a-1:0,f=n?-1:1,l=e[t+h];for(h+=f,o=l&(1<<-d)-1,l>>=-d,d+=s;d>0;o=o*256+e[t+h],h+=f,d-=8);for(i=o&(1<<-d)-1,o>>=-d,d+=r;d>0;i=i*256+e[t+h],h+=f,d-=8);if(o===0)o=1-u;else{if(o===c)return i?NaN:(l?-1:1)*(1/0);i=i+Math.pow(2,r),o=o-u}return(l?-1:1)*i*Math.pow(2,o-r)},Ni.write=function(e,t,n,r,a,o){var i,s,c,u=o*8-a-1,d=(1<<u)-1,h=d>>1,f=a===23?Math.pow(2,-24)-Math.pow(2,-77):0,l=r?0:o-1,g=r?1:-1,b=t<0||t===0&&1/t<0?1:0;for(t=Math.abs(t),isNaN(t)||t===1/0?(s=isNaN(t)?1:0,i=d):(i=Math.floor(Math.log(t)/Math.LN2),t*(c=Math.pow(2,-i))<1&&(i--,c*=2),i+h>=1?t+=f/c:t+=f*Math.pow(2,1-h),t*c>=2&&(i++,c/=2),i+h>=d?(s=0,i=d):i+h>=1?(s=(t*c-1)*Math.pow(2,a),i=i+h):(s=t*Math.pow(2,h-1)*Math.pow(2,a),i=0));a>=8;e[n+l]=s&255,l+=g,s/=256,a-=8);for(i=i<<a|s,u+=a;u>0;e[n+l]=i&255,l+=g,i/=256,u-=8);e[n+l-g]|=b*128}),Ni}/*!
|
|
@@ -222,8 +222,8 @@ ${JSON.stringify(o,null,2)}`}catch(s){i+=`
|
|
|
222
222
|
*
|
|
223
223
|
* @author Feross Aboukhadijeh <https://feross.org>
|
|
224
224
|
* @license MIT
|
|
225
|
-
*/var Wm;function Gs(){return Wm||(Wm=1,(function(e){const t=D3(),n=F3(),r=typeof Symbol=="function"&&typeof Symbol.for=="function"?Symbol.for("nodejs.util.inspect.custom"):null;e.Buffer=s,e.SlowBuffer=k,e.INSPECT_MAX_BYTES=50;const a=2147483647;e.kMaxLength=a,s.TYPED_ARRAY_SUPPORT=o(),!s.TYPED_ARRAY_SUPPORT&&typeof console<"u"&&typeof console.error=="function"&&console.error("This browser lacks typed array (Uint8Array) support which is required by `buffer` v5.x. Use `buffer` v4.x if you require old browser support.");function o(){try{const x=new Uint8Array(1),m={foo:function(){return 42}};return Object.setPrototypeOf(m,Uint8Array.prototype),Object.setPrototypeOf(x,m),x.foo()===42}catch{return!1}}Object.defineProperty(s.prototype,"parent",{enumerable:!0,get:function(){if(s.isBuffer(this))return this.buffer}}),Object.defineProperty(s.prototype,"offset",{enumerable:!0,get:function(){if(s.isBuffer(this))return this.byteOffset}});function i(x){if(x>a)throw new RangeError('The value "'+x+'" is invalid for option "size"');const m=new Uint8Array(x);return Object.setPrototypeOf(m,s.prototype),m}function s(x,m,p){if(typeof x=="number"){if(typeof m=="string")throw new TypeError('The "string" argument must be of type string. Received type number');return h(x)}return c(x,m,p)}s.poolSize=8192;function c(x,m,p){if(typeof x=="string")return f(x,m);if(ArrayBuffer.isView(x))return g(x);if(x==null)throw new TypeError("The first argument must be one of type string, Buffer, ArrayBuffer, Array, or Array-like Object. Received type "+typeof x);if(Be(x,ArrayBuffer)||x&&Be(x.buffer,ArrayBuffer)||typeof SharedArrayBuffer<"u"&&(Be(x,SharedArrayBuffer)||x&&Be(x.buffer,SharedArrayBuffer)))return b(x,m,p);if(typeof x=="number")throw new TypeError('The "value" argument must not be of type number. Received type number');const E=x.valueOf&&x.valueOf();if(E!=null&&E!==x)return s.from(E,m,p);const j=y(x);if(j)return j;if(typeof Symbol<"u"&&Symbol.toPrimitive!=null&&typeof x[Symbol.toPrimitive]=="function")return s.from(x[Symbol.toPrimitive]("string"),m,p);throw new TypeError("The first argument must be one of type string, Buffer, ArrayBuffer, Array, or Array-like Object. Received type "+typeof x)}s.from=function(x,m,p){return c(x,m,p)},Object.setPrototypeOf(s.prototype,Uint8Array.prototype),Object.setPrototypeOf(s,Uint8Array);function u(x){if(typeof x!="number")throw new TypeError('"size" argument must be of type number');if(x<0)throw new RangeError('The value "'+x+'" is invalid for option "size"')}function d(x,m,p){return u(x),x<=0?i(x):m!==void 0?typeof p=="string"?i(x).fill(m,p):i(x).fill(m):i(x)}s.alloc=function(x,m,p){return d(x,m,p)};function h(x){return u(x),i(x<0?0:_(x)|0)}s.allocUnsafe=function(x){return h(x)},s.allocUnsafeSlow=function(x){return h(x)};function f(x,m){if((typeof m!="string"||m==="")&&(m="utf8"),!s.isEncoding(m))throw new TypeError("Unknown encoding: "+m);const p=w(x,m)|0;let E=i(p);const j=E.write(x,m);return j!==p&&(E=E.slice(0,j)),E}function l(x){const m=x.length<0?0:_(x.length)|0,p=i(m);for(let E=0;E<m;E+=1)p[E]=x[E]&255;return p}function g(x){if(Be(x,Uint8Array)){const m=new Uint8Array(x);return b(m.buffer,m.byteOffset,m.byteLength)}return l(x)}function b(x,m,p){if(m<0||x.byteLength<m)throw new RangeError('"offset" is outside of buffer bounds');if(x.byteLength<m+(p||0))throw new RangeError('"length" is outside of buffer bounds');let E;return m===void 0&&p===void 0?E=new Uint8Array(x):p===void 0?E=new Uint8Array(x,m):E=new Uint8Array(x,m,p),Object.setPrototypeOf(E,s.prototype),E}function y(x){if(s.isBuffer(x)){const m=_(x.length)|0,p=i(m);return p.length===0||x.copy(p,0,0,m),p}if(x.length!==void 0)return typeof x.length!="number"||Fe(x.length)?i(0):l(x);if(x.type==="Buffer"&&Array.isArray(x.data))return l(x.data)}function _(x){if(x>=a)throw new RangeError("Attempt to allocate Buffer larger than maximum size: 0x"+a.toString(16)+" bytes");return x|0}function k(x){return+x!=x&&(x=0),s.alloc(+x)}s.isBuffer=function(m){return m!=null&&m._isBuffer===!0&&m!==s.prototype},s.compare=function(m,p){if(Be(m,Uint8Array)&&(m=s.from(m,m.offset,m.byteLength)),Be(p,Uint8Array)&&(p=s.from(p,p.offset,p.byteLength)),!s.isBuffer(m)||!s.isBuffer(p))throw new TypeError('The "buf1", "buf2" arguments must be one of type Buffer or Uint8Array');if(m===p)return 0;let E=m.length,j=p.length;for(let O=0,F=Math.min(E,j);O<F;++O)if(m[O]!==p[O]){E=m[O],j=p[O];break}return E<j?-1:j<E?1:0},s.isEncoding=function(m){switch(String(m).toLowerCase()){case"hex":case"utf8":case"utf-8":case"ascii":case"latin1":case"binary":case"base64":case"ucs2":case"ucs-2":case"utf16le":case"utf-16le":return!0;default:return!1}},s.concat=function(m,p){if(!Array.isArray(m))throw new TypeError('"list" argument must be an Array of Buffers');if(m.length===0)return s.alloc(0);let E;if(p===void 0)for(p=0,E=0;E<m.length;++E)p+=m[E].length;const j=s.allocUnsafe(p);let O=0;for(E=0;E<m.length;++E){let F=m[E];if(Be(F,Uint8Array))O+F.length>j.length?(s.isBuffer(F)||(F=s.from(F)),F.copy(j,O)):Uint8Array.prototype.set.call(j,F,O);else if(s.isBuffer(F))F.copy(j,O);else throw new TypeError('"list" argument must be an Array of Buffers');O+=F.length}return j};function w(x,m){if(s.isBuffer(x))return x.length;if(ArrayBuffer.isView(x)||Be(x,ArrayBuffer))return x.byteLength;if(typeof x!="string")throw new TypeError('The "string" argument must be one of type string, Buffer, or ArrayBuffer. Received type '+typeof x);const p=x.length,E=arguments.length>2&&arguments[2]===!0;if(!E&&p===0)return 0;let j=!1;for(;;)switch(m){case"ascii":case"latin1":case"binary":return p;case"utf8":case"utf-8":return fe(x).length;case"ucs2":case"ucs-2":case"utf16le":case"utf-16le":return p*2;case"hex":return p>>>1;case"base64":return ke(x).length;default:if(j)return E?-1:fe(x).length;m=(""+m).toLowerCase(),j=!0}}s.byteLength=w;function v(x,m,p){let E=!1;if((m===void 0||m<0)&&(m=0),m>this.length||((p===void 0||p>this.length)&&(p=this.length),p<=0)||(p>>>=0,m>>>=0,p<=m))return"";for(x||(x="utf8");;)switch(x){case"hex":return C(this,m,p);case"utf8":case"utf-8":return R(this,m,p);case"ascii":return X(this,m,p);case"latin1":case"binary":return H(this,m,p);case"base64":return D(this,m,p);case"ucs2":case"ucs-2":case"utf16le":case"utf-16le":return V(this,m,p);default:if(E)throw new TypeError("Unknown encoding: "+x);x=(x+"").toLowerCase(),E=!0}}s.prototype._isBuffer=!0;function A(x,m,p){const E=x[m];x[m]=x[p],x[p]=E}s.prototype.swap16=function(){const m=this.length;if(m%2!==0)throw new RangeError("Buffer size must be a multiple of 16-bits");for(let p=0;p<m;p+=2)A(this,p,p+1);return this},s.prototype.swap32=function(){const m=this.length;if(m%4!==0)throw new RangeError("Buffer size must be a multiple of 32-bits");for(let p=0;p<m;p+=4)A(this,p,p+3),A(this,p+1,p+2);return this},s.prototype.swap64=function(){const m=this.length;if(m%8!==0)throw new RangeError("Buffer size must be a multiple of 64-bits");for(let p=0;p<m;p+=8)A(this,p,p+7),A(this,p+1,p+6),A(this,p+2,p+5),A(this,p+3,p+4);return this},s.prototype.toString=function(){const m=this.length;return m===0?"":arguments.length===0?R(this,0,m):v.apply(this,arguments)},s.prototype.toLocaleString=s.prototype.toString,s.prototype.equals=function(m){if(!s.isBuffer(m))throw new TypeError("Argument must be a Buffer");return this===m?!0:s.compare(this,m)===0},s.prototype.inspect=function(){let m="";const p=e.INSPECT_MAX_BYTES;return m=this.toString("hex",0,p).replace(/(.{2})/g,"$1 ").trim(),this.length>p&&(m+=" ... "),"<Buffer "+m+">"},r&&(s.prototype[r]=s.prototype.inspect),s.prototype.compare=function(m,p,E,j,O){if(Be(m,Uint8Array)&&(m=s.from(m,m.offset,m.byteLength)),!s.isBuffer(m))throw new TypeError('The "target" argument must be one of type Buffer or Uint8Array. Received type '+typeof m);if(p===void 0&&(p=0),E===void 0&&(E=m?m.length:0),j===void 0&&(j=0),O===void 0&&(O=this.length),p<0||E>m.length||j<0||O>this.length)throw new RangeError("out of range index");if(j>=O&&p>=E)return 0;if(j>=O)return-1;if(p>=E)return 1;if(p>>>=0,E>>>=0,j>>>=0,O>>>=0,this===m)return 0;let F=O-j,ne=E-p;const le=Math.min(F,ne),ue=this.slice(j,O),pe=m.slice(p,E);for(let he=0;he<le;++he)if(ue[he]!==pe[he]){F=ue[he],ne=pe[he];break}return F<ne?-1:ne<F?1:0};function T(x,m,p,E,j){if(x.length===0)return-1;if(typeof p=="string"?(E=p,p=0):p>2147483647?p=2147483647:p<-2147483648&&(p=-2147483648),p=+p,Fe(p)&&(p=j?0:x.length-1),p<0&&(p=x.length+p),p>=x.length){if(j)return-1;p=x.length-1}else if(p<0)if(j)p=0;else return-1;if(typeof m=="string"&&(m=s.from(m,E)),s.isBuffer(m))return m.length===0?-1:I(x,m,p,E,j);if(typeof m=="number")return m=m&255,typeof Uint8Array.prototype.indexOf=="function"?j?Uint8Array.prototype.indexOf.call(x,m,p):Uint8Array.prototype.lastIndexOf.call(x,m,p):I(x,[m],p,E,j);throw new TypeError("val must be string, number or Buffer")}function I(x,m,p,E,j){let O=1,F=x.length,ne=m.length;if(E!==void 0&&(E=String(E).toLowerCase(),E==="ucs2"||E==="ucs-2"||E==="utf16le"||E==="utf-16le")){if(x.length<2||m.length<2)return-1;O=2,F/=2,ne/=2,p/=2}function le(pe,he){return O===1?pe[he]:pe.readUInt16BE(he*O)}let ue;if(j){let pe=-1;for(ue=p;ue<F;ue++)if(le(x,ue)===le(m,pe===-1?0:ue-pe)){if(pe===-1&&(pe=ue),ue-pe+1===ne)return pe*O}else pe!==-1&&(ue-=ue-pe),pe=-1}else for(p+ne>F&&(p=F-ne),ue=p;ue>=0;ue--){let pe=!0;for(let he=0;he<ne;he++)if(le(x,ue+he)!==le(m,he)){pe=!1;break}if(pe)return ue}return-1}s.prototype.includes=function(m,p,E){return this.indexOf(m,p,E)!==-1},s.prototype.indexOf=function(m,p,E){return T(this,m,p,E,!0)},s.prototype.lastIndexOf=function(m,p,E){return T(this,m,p,E,!1)};function z(x,m,p,E){p=Number(p)||0;const j=x.length-p;E?(E=Number(E),E>j&&(E=j)):E=j;const O=m.length;E>O/2&&(E=O/2);let F;for(F=0;F<E;++F){const ne=parseInt(m.substr(F*2,2),16);if(Fe(ne))return F;x[p+F]=ne}return F}function S(x,m,p,E){return me(fe(m,x.length-p),x,p,E)}function B(x,m,p,E){return me(ge(m),x,p,E)}function P(x,m,p,E){return me(ke(m),x,p,E)}function M(x,m,p,E){return me(Q(m,x.length-p),x,p,E)}s.prototype.write=function(m,p,E,j){if(p===void 0)j="utf8",E=this.length,p=0;else if(E===void 0&&typeof p=="string")j=p,E=this.length,p=0;else if(isFinite(p))p=p>>>0,isFinite(E)?(E=E>>>0,j===void 0&&(j="utf8")):(j=E,E=void 0);else throw new Error("Buffer.write(string, encoding, offset[, length]) is no longer supported");const O=this.length-p;if((E===void 0||E>O)&&(E=O),m.length>0&&(E<0||p<0)||p>this.length)throw new RangeError("Attempt to write outside buffer bounds");j||(j="utf8");let F=!1;for(;;)switch(j){case"hex":return z(this,m,p,E);case"utf8":case"utf-8":return S(this,m,p,E);case"ascii":case"latin1":case"binary":return B(this,m,p,E);case"base64":return P(this,m,p,E);case"ucs2":case"ucs-2":case"utf16le":case"utf-16le":return M(this,m,p,E);default:if(F)throw new TypeError("Unknown encoding: "+j);j=(""+j).toLowerCase(),F=!0}},s.prototype.toJSON=function(){return{type:"Buffer",data:Array.prototype.slice.call(this._arr||this,0)}};function D(x,m,p){return m===0&&p===x.length?t.fromByteArray(x):t.fromByteArray(x.slice(m,p))}function R(x,m,p){p=Math.min(x.length,p);const E=[];let j=m;for(;j<p;){const O=x[j];let F=null,ne=O>239?4:O>223?3:O>191?2:1;if(j+ne<=p){let le,ue,pe,he;switch(ne){case 1:O<128&&(F=O);break;case 2:le=x[j+1],(le&192)===128&&(he=(O&31)<<6|le&63,he>127&&(F=he));break;case 3:le=x[j+1],ue=x[j+2],(le&192)===128&&(ue&192)===128&&(he=(O&15)<<12|(le&63)<<6|ue&63,he>2047&&(he<55296||he>57343)&&(F=he));break;case 4:le=x[j+1],ue=x[j+2],pe=x[j+3],(le&192)===128&&(ue&192)===128&&(pe&192)===128&&(he=(O&15)<<18|(le&63)<<12|(ue&63)<<6|pe&63,he>65535&&he<1114112&&(F=he))}}F===null?(F=65533,ne=1):F>65535&&(F-=65536,E.push(F>>>10&1023|55296),F=56320|F&1023),E.push(F),j+=ne}return q(E)}const $=4096;function q(x){const m=x.length;if(m<=$)return String.fromCharCode.apply(String,x);let p="",E=0;for(;E<m;)p+=String.fromCharCode.apply(String,x.slice(E,E+=$));return p}function X(x,m,p){let E="";p=Math.min(x.length,p);for(let j=m;j<p;++j)E+=String.fromCharCode(x[j]&127);return E}function H(x,m,p){let E="";p=Math.min(x.length,p);for(let j=m;j<p;++j)E+=String.fromCharCode(x[j]);return E}function C(x,m,p){const E=x.length;(!m||m<0)&&(m=0),(!p||p<0||p>E)&&(p=E);let j="";for(let O=m;O<p;++O)j+=Ge[x[O]];return j}function V(x,m,p){const E=x.slice(m,p);let j="";for(let O=0;O<E.length-1;O+=2)j+=String.fromCharCode(E[O]+E[O+1]*256);return j}s.prototype.slice=function(m,p){const E=this.length;m=~~m,p=p===void 0?E:~~p,m<0?(m+=E,m<0&&(m=0)):m>E&&(m=E),p<0?(p+=E,p<0&&(p=0)):p>E&&(p=E),p<m&&(p=m);const j=this.subarray(m,p);return Object.setPrototypeOf(j,s.prototype),j};function W(x,m,p){if(x%1!==0||x<0)throw new RangeError("offset is not uint");if(x+m>p)throw new RangeError("Trying to access beyond buffer length")}s.prototype.readUintLE=s.prototype.readUIntLE=function(m,p,E){m=m>>>0,p=p>>>0,E||W(m,p,this.length);let j=this[m],O=1,F=0;for(;++F<p&&(O*=256);)j+=this[m+F]*O;return j},s.prototype.readUintBE=s.prototype.readUIntBE=function(m,p,E){m=m>>>0,p=p>>>0,E||W(m,p,this.length);let j=this[m+--p],O=1;for(;p>0&&(O*=256);)j+=this[m+--p]*O;return j},s.prototype.readUint8=s.prototype.readUInt8=function(m,p){return m=m>>>0,p||W(m,1,this.length),this[m]},s.prototype.readUint16LE=s.prototype.readUInt16LE=function(m,p){return m=m>>>0,p||W(m,2,this.length),this[m]|this[m+1]<<8},s.prototype.readUint16BE=s.prototype.readUInt16BE=function(m,p){return m=m>>>0,p||W(m,2,this.length),this[m]<<8|this[m+1]},s.prototype.readUint32LE=s.prototype.readUInt32LE=function(m,p){return m=m>>>0,p||W(m,4,this.length),(this[m]|this[m+1]<<8|this[m+2]<<16)+this[m+3]*16777216},s.prototype.readUint32BE=s.prototype.readUInt32BE=function(m,p){return m=m>>>0,p||W(m,4,this.length),this[m]*16777216+(this[m+1]<<16|this[m+2]<<8|this[m+3])},s.prototype.readBigUInt64LE=Me(function(m){m=m>>>0,L(m,"offset");const p=this[m],E=this[m+7];(p===void 0||E===void 0)&&J(m,this.length-8);const j=p+this[++m]*2**8+this[++m]*2**16+this[++m]*2**24,O=this[++m]+this[++m]*2**8+this[++m]*2**16+E*2**24;return BigInt(j)+(BigInt(O)<<BigInt(32))}),s.prototype.readBigUInt64BE=Me(function(m){m=m>>>0,L(m,"offset");const p=this[m],E=this[m+7];(p===void 0||E===void 0)&&J(m,this.length-8);const j=p*2**24+this[++m]*2**16+this[++m]*2**8+this[++m],O=this[++m]*2**24+this[++m]*2**16+this[++m]*2**8+E;return(BigInt(j)<<BigInt(32))+BigInt(O)}),s.prototype.readIntLE=function(m,p,E){m=m>>>0,p=p>>>0,E||W(m,p,this.length);let j=this[m],O=1,F=0;for(;++F<p&&(O*=256);)j+=this[m+F]*O;return O*=128,j>=O&&(j-=Math.pow(2,8*p)),j},s.prototype.readIntBE=function(m,p,E){m=m>>>0,p=p>>>0,E||W(m,p,this.length);let j=p,O=1,F=this[m+--j];for(;j>0&&(O*=256);)F+=this[m+--j]*O;return O*=128,F>=O&&(F-=Math.pow(2,8*p)),F},s.prototype.readInt8=function(m,p){return m=m>>>0,p||W(m,1,this.length),this[m]&128?(255-this[m]+1)*-1:this[m]},s.prototype.readInt16LE=function(m,p){m=m>>>0,p||W(m,2,this.length);const E=this[m]|this[m+1]<<8;return E&32768?E|4294901760:E},s.prototype.readInt16BE=function(m,p){m=m>>>0,p||W(m,2,this.length);const E=this[m+1]|this[m]<<8;return E&32768?E|4294901760:E},s.prototype.readInt32LE=function(m,p){return m=m>>>0,p||W(m,4,this.length),this[m]|this[m+1]<<8|this[m+2]<<16|this[m+3]<<24},s.prototype.readInt32BE=function(m,p){return m=m>>>0,p||W(m,4,this.length),this[m]<<24|this[m+1]<<16|this[m+2]<<8|this[m+3]},s.prototype.readBigInt64LE=Me(function(m){m=m>>>0,L(m,"offset");const p=this[m],E=this[m+7];(p===void 0||E===void 0)&&J(m,this.length-8);const j=this[m+4]+this[m+5]*2**8+this[m+6]*2**16+(E<<24);return(BigInt(j)<<BigInt(32))+BigInt(p+this[++m]*2**8+this[++m]*2**16+this[++m]*2**24)}),s.prototype.readBigInt64BE=Me(function(m){m=m>>>0,L(m,"offset");const p=this[m],E=this[m+7];(p===void 0||E===void 0)&&J(m,this.length-8);const j=(p<<24)+this[++m]*2**16+this[++m]*2**8+this[++m];return(BigInt(j)<<BigInt(32))+BigInt(this[++m]*2**24+this[++m]*2**16+this[++m]*2**8+E)}),s.prototype.readFloatLE=function(m,p){return m=m>>>0,p||W(m,4,this.length),n.read(this,m,!0,23,4)},s.prototype.readFloatBE=function(m,p){return m=m>>>0,p||W(m,4,this.length),n.read(this,m,!1,23,4)},s.prototype.readDoubleLE=function(m,p){return m=m>>>0,p||W(m,8,this.length),n.read(this,m,!0,52,8)},s.prototype.readDoubleBE=function(m,p){return m=m>>>0,p||W(m,8,this.length),n.read(this,m,!1,52,8)};function U(x,m,p,E,j,O){if(!s.isBuffer(x))throw new TypeError('"buffer" argument must be a Buffer instance');if(m>j||m<O)throw new RangeError('"value" argument is out of bounds');if(p+E>x.length)throw new RangeError("Index out of range")}s.prototype.writeUintLE=s.prototype.writeUIntLE=function(m,p,E,j){if(m=+m,p=p>>>0,E=E>>>0,!j){const ne=Math.pow(2,8*E)-1;U(this,m,p,E,ne,0)}let O=1,F=0;for(this[p]=m&255;++F<E&&(O*=256);)this[p+F]=m/O&255;return p+E},s.prototype.writeUintBE=s.prototype.writeUIntBE=function(m,p,E,j){if(m=+m,p=p>>>0,E=E>>>0,!j){const ne=Math.pow(2,8*E)-1;U(this,m,p,E,ne,0)}let O=E-1,F=1;for(this[p+O]=m&255;--O>=0&&(F*=256);)this[p+O]=m/F&255;return p+E},s.prototype.writeUint8=s.prototype.writeUInt8=function(m,p,E){return m=+m,p=p>>>0,E||U(this,m,p,1,255,0),this[p]=m&255,p+1},s.prototype.writeUint16LE=s.prototype.writeUInt16LE=function(m,p,E){return m=+m,p=p>>>0,E||U(this,m,p,2,65535,0),this[p]=m&255,this[p+1]=m>>>8,p+2},s.prototype.writeUint16BE=s.prototype.writeUInt16BE=function(m,p,E){return m=+m,p=p>>>0,E||U(this,m,p,2,65535,0),this[p]=m>>>8,this[p+1]=m&255,p+2},s.prototype.writeUint32LE=s.prototype.writeUInt32LE=function(m,p,E){return m=+m,p=p>>>0,E||U(this,m,p,4,4294967295,0),this[p+3]=m>>>24,this[p+2]=m>>>16,this[p+1]=m>>>8,this[p]=m&255,p+4},s.prototype.writeUint32BE=s.prototype.writeUInt32BE=function(m,p,E){return m=+m,p=p>>>0,E||U(this,m,p,4,4294967295,0),this[p]=m>>>24,this[p+1]=m>>>16,this[p+2]=m>>>8,this[p+3]=m&255,p+4};function K(x,m,p,E,j){N(m,E,j,x,p,7);let O=Number(m&BigInt(4294967295));x[p++]=O,O=O>>8,x[p++]=O,O=O>>8,x[p++]=O,O=O>>8,x[p++]=O;let F=Number(m>>BigInt(32)&BigInt(4294967295));return x[p++]=F,F=F>>8,x[p++]=F,F=F>>8,x[p++]=F,F=F>>8,x[p++]=F,p}function Y(x,m,p,E,j){N(m,E,j,x,p,7);let O=Number(m&BigInt(4294967295));x[p+7]=O,O=O>>8,x[p+6]=O,O=O>>8,x[p+5]=O,O=O>>8,x[p+4]=O;let F=Number(m>>BigInt(32)&BigInt(4294967295));return x[p+3]=F,F=F>>8,x[p+2]=F,F=F>>8,x[p+1]=F,F=F>>8,x[p]=F,p+8}s.prototype.writeBigUInt64LE=Me(function(m,p=0){return K(this,m,p,BigInt(0),BigInt("0xffffffffffffffff"))}),s.prototype.writeBigUInt64BE=Me(function(m,p=0){return Y(this,m,p,BigInt(0),BigInt("0xffffffffffffffff"))}),s.prototype.writeIntLE=function(m,p,E,j){if(m=+m,p=p>>>0,!j){const le=Math.pow(2,8*E-1);U(this,m,p,E,le-1,-le)}let O=0,F=1,ne=0;for(this[p]=m&255;++O<E&&(F*=256);)m<0&&ne===0&&this[p+O-1]!==0&&(ne=1),this[p+O]=(m/F>>0)-ne&255;return p+E},s.prototype.writeIntBE=function(m,p,E,j){if(m=+m,p=p>>>0,!j){const le=Math.pow(2,8*E-1);U(this,m,p,E,le-1,-le)}let O=E-1,F=1,ne=0;for(this[p+O]=m&255;--O>=0&&(F*=256);)m<0&&ne===0&&this[p+O+1]!==0&&(ne=1),this[p+O]=(m/F>>0)-ne&255;return p+E},s.prototype.writeInt8=function(m,p,E){return m=+m,p=p>>>0,E||U(this,m,p,1,127,-128),m<0&&(m=255+m+1),this[p]=m&255,p+1},s.prototype.writeInt16LE=function(m,p,E){return m=+m,p=p>>>0,E||U(this,m,p,2,32767,-32768),this[p]=m&255,this[p+1]=m>>>8,p+2},s.prototype.writeInt16BE=function(m,p,E){return m=+m,p=p>>>0,E||U(this,m,p,2,32767,-32768),this[p]=m>>>8,this[p+1]=m&255,p+2},s.prototype.writeInt32LE=function(m,p,E){return m=+m,p=p>>>0,E||U(this,m,p,4,2147483647,-2147483648),this[p]=m&255,this[p+1]=m>>>8,this[p+2]=m>>>16,this[p+3]=m>>>24,p+4},s.prototype.writeInt32BE=function(m,p,E){return m=+m,p=p>>>0,E||U(this,m,p,4,2147483647,-2147483648),m<0&&(m=4294967295+m+1),this[p]=m>>>24,this[p+1]=m>>>16,this[p+2]=m>>>8,this[p+3]=m&255,p+4},s.prototype.writeBigInt64LE=Me(function(m,p=0){return K(this,m,p,-BigInt("0x8000000000000000"),BigInt("0x7fffffffffffffff"))}),s.prototype.writeBigInt64BE=Me(function(m,p=0){return Y(this,m,p,-BigInt("0x8000000000000000"),BigInt("0x7fffffffffffffff"))});function de(x,m,p,E,j,O){if(p+E>x.length)throw new RangeError("Index out of range");if(p<0)throw new RangeError("Index out of range")}function te(x,m,p,E,j){return m=+m,p=p>>>0,j||de(x,m,p,4),n.write(x,m,p,E,23,4),p+4}s.prototype.writeFloatLE=function(m,p,E){return te(this,m,p,!0,E)},s.prototype.writeFloatBE=function(m,p,E){return te(this,m,p,!1,E)};function re(x,m,p,E,j){return m=+m,p=p>>>0,j||de(x,m,p,8),n.write(x,m,p,E,52,8),p+8}s.prototype.writeDoubleLE=function(m,p,E){return re(this,m,p,!0,E)},s.prototype.writeDoubleBE=function(m,p,E){return re(this,m,p,!1,E)},s.prototype.copy=function(m,p,E,j){if(!s.isBuffer(m))throw new TypeError("argument should be a Buffer");if(E||(E=0),!j&&j!==0&&(j=this.length),p>=m.length&&(p=m.length),p||(p=0),j>0&&j<E&&(j=E),j===E||m.length===0||this.length===0)return 0;if(p<0)throw new RangeError("targetStart out of bounds");if(E<0||E>=this.length)throw new RangeError("Index out of range");if(j<0)throw new RangeError("sourceEnd out of bounds");j>this.length&&(j=this.length),m.length-p<j-E&&(j=m.length-p+E);const O=j-E;return this===m&&typeof Uint8Array.prototype.copyWithin=="function"?this.copyWithin(p,E,j):Uint8Array.prototype.set.call(m,this.subarray(E,j),p),O},s.prototype.fill=function(m,p,E,j){if(typeof m=="string"){if(typeof p=="string"?(j=p,p=0,E=this.length):typeof E=="string"&&(j=E,E=this.length),j!==void 0&&typeof j!="string")throw new TypeError("encoding must be a string");if(typeof j=="string"&&!s.isEncoding(j))throw new TypeError("Unknown encoding: "+j);if(m.length===1){const F=m.charCodeAt(0);(j==="utf8"&&F<128||j==="latin1")&&(m=F)}}else typeof m=="number"?m=m&255:typeof m=="boolean"&&(m=Number(m));if(p<0||this.length<p||this.length<E)throw new RangeError("Out of range index");if(E<=p)return this;p=p>>>0,E=E===void 0?this.length:E>>>0,m||(m=0);let O;if(typeof m=="number")for(O=p;O<E;++O)this[O]=m;else{const F=s.isBuffer(m)?m:s.from(m,j),ne=F.length;if(ne===0)throw new TypeError('The value "'+m+'" is invalid for argument "value"');for(O=0;O<E-p;++O)this[O+p]=F[O%ne]}return this};const oe={};function ae(x,m,p){oe[x]=class extends p{constructor(){super(),Object.defineProperty(this,"message",{value:m.apply(this,arguments),writable:!0,configurable:!0}),this.name=`${this.name} [${x}]`,this.stack,delete this.name}get code(){return x}set code(j){Object.defineProperty(this,"code",{configurable:!0,enumerable:!0,value:j,writable:!0})}toString(){return`${this.name} [${x}]: ${this.message}`}}}ae("ERR_BUFFER_OUT_OF_BOUNDS",function(x){return x?`${x} is outside of buffer bounds`:"Attempt to access memory outside buffer bounds"},RangeError),ae("ERR_INVALID_ARG_TYPE",function(x,m){return`The "${x}" argument must be of type number. Received type ${typeof m}`},TypeError),ae("ERR_OUT_OF_RANGE",function(x,m,p){let E=`The value of "${x}" is out of range.`,j=p;return Number.isInteger(p)&&Math.abs(p)>2**32?j=se(String(p)):typeof p=="bigint"&&(j=String(p),(p>BigInt(2)**BigInt(32)||p<-(BigInt(2)**BigInt(32)))&&(j=se(j)),j+="n"),E+=` It must be ${m}. Received ${j}`,E},RangeError);function se(x){let m="",p=x.length;const E=x[0]==="-"?1:0;for(;p>=E+4;p-=3)m=`_${x.slice(p-3,p)}${m}`;return`${x.slice(0,p)}${m}`}function G(x,m,p){L(m,"offset"),(x[m]===void 0||x[m+p]===void 0)&&J(m,x.length-(p+1))}function N(x,m,p,E,j,O){if(x>p||x<m){const F=typeof m=="bigint"?"n":"";let ne;throw m===0||m===BigInt(0)?ne=`>= 0${F} and < 2${F} ** ${(O+1)*8}${F}`:ne=`>= -(2${F} ** ${(O+1)*8-1}${F}) and < 2 ** ${(O+1)*8-1}${F}`,new oe.ERR_OUT_OF_RANGE("value",ne,x)}G(E,j,O)}function L(x,m){if(typeof x!="number")throw new oe.ERR_INVALID_ARG_TYPE(m,"number",x)}function J(x,m,p){throw Math.floor(x)!==x?(L(x,p),new oe.ERR_OUT_OF_RANGE("offset","an integer",x)):m<0?new oe.ERR_BUFFER_OUT_OF_BOUNDS:new oe.ERR_OUT_OF_RANGE("offset",`>= 0 and <= ${m}`,x)}const Z=/[^+/0-9A-Za-z-_]/g;function ce(x){if(x=x.split("=")[0],x=x.trim().replace(Z,""),x.length<2)return"";for(;x.length%4!==0;)x=x+"=";return x}function fe(x,m){m=m||1/0;let p;const E=x.length;let j=null;const O=[];for(let F=0;F<E;++F){if(p=x.charCodeAt(F),p>55295&&p<57344){if(!j){if(p>56319){(m-=3)>-1&&O.push(239,191,189);continue}else if(F+1===E){(m-=3)>-1&&O.push(239,191,189);continue}j=p;continue}if(p<56320){(m-=3)>-1&&O.push(239,191,189),j=p;continue}p=(j-55296<<10|p-56320)+65536}else j&&(m-=3)>-1&&O.push(239,191,189);if(j=null,p<128){if((m-=1)<0)break;O.push(p)}else if(p<2048){if((m-=2)<0)break;O.push(p>>6|192,p&63|128)}else if(p<65536){if((m-=3)<0)break;O.push(p>>12|224,p>>6&63|128,p&63|128)}else if(p<1114112){if((m-=4)<0)break;O.push(p>>18|240,p>>12&63|128,p>>6&63|128,p&63|128)}else throw new Error("Invalid code point")}return O}function ge(x){const m=[];for(let p=0;p<x.length;++p)m.push(x.charCodeAt(p)&255);return m}function Q(x,m){let p,E,j;const O=[];for(let F=0;F<x.length&&!((m-=2)<0);++F)p=x.charCodeAt(F),E=p>>8,j=p%256,O.push(j),O.push(E);return O}function ke(x){return t.toByteArray(ce(x))}function me(x,m,p,E){let j;for(j=0;j<E&&!(j+p>=m.length||j>=x.length);++j)m[j+p]=x[j];return j}function Be(x,m){return x instanceof m||x!=null&&x.constructor!=null&&x.constructor.name!=null&&x.constructor.name===m.name}function Fe(x){return x!==x}const Ge=(function(){const x="0123456789abcdef",m=new Array(256);for(let p=0;p<16;++p){const E=p*16;for(let j=0;j<16;++j)m[E+j]=x[p]+x[j]}return m})();function Me(x){return typeof BigInt>"u"?Ae:x}function Ae(){throw new Error("BigInt not supported")}})(Qu)),Qu}var el,Xm;function kf(){if(Xm)return el;Xm=1;var e={Array:function(n){return n!=null&&n.constructor===Array},Boolean:function(n){return typeof n=="boolean"},Function:function(n){return typeof n=="function"},Nil:function(n){return n==null},Number:function(n){return typeof n=="number"},Object:function(n){return typeof n=="object"},String:function(n){return typeof n=="string"},"":function(){return!0}};e.Null=e.Nil;for(var t in e)e[t].toJSON=(function(n){return n}).bind(null,t);return el=e,el}var tl,Zm;function e_(){if(Zm)return tl;Zm=1;var e=kf();function t(f){return f.name||f.toString().match(/function (.*?)\s*\(/)[1]}function n(f){return e.Nil(f)?"":t(f.constructor)}function r(f){return e.Function(f)?"":e.String(f)?JSON.stringify(f):f&&e.Object(f)?"":f}function a(f,l){Error.captureStackTrace&&Error.captureStackTrace(f,l)}function o(f){return e.Function(f)?f.toJSON?f.toJSON():t(f):e.Array(f)?"Array":f&&e.Object(f)?"Object":f!==void 0?f:""}function i(f,l,g){var b=r(l);return"Expected "+o(f)+", got"+(g!==""?" "+g:"")+(b!==""?" "+b:"")}function s(f,l,g){g=g||n(l),this.message=i(f,l,g),a(this,s),this.__type=f,this.__value=l,this.__valueTypeName=g}s.prototype=Object.create(Error.prototype),s.prototype.constructor=s;function c(f,l,g,b,y){var _='" of type ';return l==="key"&&(_='" with key type '),i('property "'+o(g)+_+o(f),b,y)}function u(f,l,g,b,y){f?(y=y||n(b),this.message=c(f,g,l,b,y)):this.message='Unexpected property "'+l+'"',a(this,s),this.__label=g,this.__property=l,this.__type=f,this.__value=b,this.__valueTypeName=y}u.prototype=Object.create(Error.prototype),u.prototype.constructor=s;function d(f,l){return new s(f,{},l)}function h(f,l,g){return f instanceof u?(l=l+"."+f.__property,f=new u(f.__type,l,f.__label,f.__value,f.__valueTypeName)):f instanceof s&&(f=new u(f.__type,l,g,f.__value,f.__valueTypeName)),a(f),f}return tl={TfTypeError:s,TfPropertyTypeError:u,tfCustomError:d,tfSubError:h,tfJSON:o,getValueTypeName:n},tl}var nl,Ym;function M3(){if(Ym)return nl;Ym=1;var e=kf(),t=e_();function n(T){return Buffer.isBuffer(T)}function r(T){return typeof T=="string"&&/^([0-9a-f]{2})+$/i.test(T)}function a(T,I){var z=T.toJSON();function S(B){if(!T(B))return!1;if(B.length===I)return!0;throw t.tfCustomError(z+"(Length: "+I+")",z+"(Length: "+B.length+")")}return S.toJSON=function(){return z},S}var o=a.bind(null,e.Array),i=a.bind(null,n),s=a.bind(null,r),c=a.bind(null,e.String);function u(T,I,z){z=z||e.Number;function S(B,P){return z(B,P)&&B>T&&B<I}return S.toJSON=function(){return`${z.toJSON()} between [${T}, ${I}]`},S}var d=Math.pow(2,53)-1;function h(T){return typeof T=="number"&&isFinite(T)}function f(T){return T<<24>>24===T}function l(T){return T<<16>>16===T}function g(T){return(T|0)===T}function b(T){return typeof T=="number"&&T>=-d&&T<=d&&Math.floor(T)===T}function y(T){return(T&255)===T}function _(T){return(T&65535)===T}function k(T){return T>>>0===T}function w(T){return typeof T=="number"&&T>=0&&T<=d&&Math.floor(T)===T}var v={ArrayN:o,Buffer:n,BufferN:i,Finite:h,Hex:r,HexN:s,Int8:f,Int16:l,Int32:g,Int53:b,Range:u,StringN:c,UInt8:y,UInt16:_,UInt32:k,UInt53:w};for(var A in v)v[A].toJSON=(function(T){return T}).bind(null,A);return nl=v,nl}var rl,Jm;function q3(){if(Jm)return rl;Jm=1;var e=e_(),t=kf(),n=e.tfJSON,r=e.TfTypeError,a=e.TfPropertyTypeError,o=e.tfSubError,i=e.getValueTypeName,s={arrayOf:function(l,g){l=c(l),g=g||{};function b(y,_){return!t.Array(y)||t.Nil(y)||g.minLength!==void 0&&y.length<g.minLength||g.maxLength!==void 0&&y.length>g.maxLength||g.length!==void 0&&y.length!==g.length?!1:y.every(function(k,w){try{return u(l,k,_)}catch(v){throw o(v,w)}})}return b.toJSON=function(){var y="["+n(l)+"]";return g.length!==void 0?y+="{"+g.length+"}":(g.minLength!==void 0||g.maxLength!==void 0)&&(y+="{"+(g.minLength===void 0?0:g.minLength)+","+(g.maxLength===void 0?1/0:g.maxLength)+"}"),y},b},maybe:function f(l){l=c(l);function g(b,y){return t.Nil(b)||l(b,y,f)}return g.toJSON=function(){return"?"+n(l)},g},map:function(l,g){l=c(l),g&&(g=c(g));function b(y,_){if(!t.Object(y)||t.Nil(y))return!1;for(var k in y){try{g&&u(g,k,_)}catch(v){throw o(v,k,"key")}try{var w=y[k];u(l,w,_)}catch(v){throw o(v,k)}}return!0}return g?b.toJSON=function(){return"{"+n(g)+": "+n(l)+"}"}:b.toJSON=function(){return"{"+n(l)+"}"},b},object:function(l){var g={};for(var b in l)g[b]=c(l[b]);function y(_,k){if(!t.Object(_)||t.Nil(_))return!1;var w;try{for(w in g){var v=g[w],A=_[w];u(v,A,k)}}catch(T){throw o(T,w)}if(k){for(w in _)if(!g[w])throw new a(void 0,w)}return!0}return y.toJSON=function(){return n(g)},y},anyOf:function(){var l=[].slice.call(arguments).map(c);function g(b,y){return l.some(function(_){try{return u(_,b,y)}catch{return!1}})}return g.toJSON=function(){return l.map(n).join("|")},g},allOf:function(){var l=[].slice.call(arguments).map(c);function g(b,y){return l.every(function(_){try{return u(_,b,y)}catch{return!1}})}return g.toJSON=function(){return l.map(n).join(" & ")},g},quacksLike:function(l){function g(b){return l===i(b)}return g.toJSON=function(){return l},g},tuple:function(){var l=[].slice.call(arguments).map(c);function g(b,y){return t.Nil(b)||t.Nil(b.length)||y&&b.length!==l.length?!1:l.every(function(_,k){try{return u(_,b[k],y)}catch(w){throw o(w,k)}})}return g.toJSON=function(){return"("+l.map(n).join(", ")+")"},g},value:function(l){function g(b){return b===l}return g.toJSON=function(){return l},g}};s.oneOf=s.anyOf;function c(f){if(t.String(f))return f[0]==="?"?s.maybe(f.slice(1)):t[f]||s.quacksLike(f);if(f&&t.Object(f)){if(t.Array(f)){if(f.length!==1)throw new TypeError("Expected compile() parameter of type Array of length 1");return s.arrayOf(f[0])}return s.object(f)}else if(t.Function(f))return f;return s.value(f)}function u(f,l,g,b){if(t.Function(f)){if(f(l,g))return!0;throw new r(b||f,l)}return u(c(f),l,g)}for(var d in t)u[d]=t[d];for(d in s)u[d]=s[d];var h=M3();for(d in h)u[d]=h[d];return u.compile=c,u.TfTypeError=r,u.TfPropertyTypeError=a,rl=u,rl}var Qm;function ht(){return Qm||(Qm=1,(function(e){Object.defineProperty(e,"__esModule",{value:!0}),e.oneOf=e.Null=e.BufferN=e.Function=e.UInt32=e.UInt8=e.tuple=e.maybe=e.Hex=e.Buffer=e.String=e.Boolean=e.Array=e.Number=e.Hash256bit=e.Hash160bit=e.Buffer256bit=e.isTaptree=e.isTapleaf=e.TAPLEAF_VERSION_MASK=e.Network=e.ECPoint=e.Satoshi=e.Signer=e.BIP32Path=e.UInt31=e.isPoint=e.typeforce=void 0;const t=Gs();e.typeforce=q3();const n=t.Buffer.alloc(32,0),r=t.Buffer.from("fffffffffffffffffffffffffffffffffffffffffffffffffffffffefffffc2f","hex");function a(l){if(!t.Buffer.isBuffer(l)||l.length<33)return!1;const g=l[0],b=l.slice(1,33);if(b.compare(n)===0||b.compare(r)>=0)return!1;if((g===2||g===3)&&l.length===33)return!0;const y=l.slice(33);return y.compare(n)===0||y.compare(r)>=0?!1:g===4&&l.length===65}e.isPoint=a;const o=Math.pow(2,31)-1;function i(l){return e.typeforce.UInt32(l)&&l<=o}e.UInt31=i;function s(l){return e.typeforce.String(l)&&!!l.match(/^(m\/)?(\d+'?\/)*\d+'?$/)}e.BIP32Path=s,s.toJSON=()=>"BIP32 derivation path";function c(l){return(e.typeforce.Buffer(l.publicKey)||typeof l.getPublicKey=="function")&&typeof l.sign=="function"}e.Signer=c;const u=21*1e14;function d(l){return e.typeforce.UInt53(l)&&l<=u}e.Satoshi=d,e.ECPoint=e.typeforce.quacksLike("Point"),e.Network=e.typeforce.compile({messagePrefix:e.typeforce.oneOf(e.typeforce.Buffer,e.typeforce.String),bip32:{public:e.typeforce.UInt32,private:e.typeforce.UInt32},pubKeyHash:e.typeforce.UInt8,scriptHash:e.typeforce.UInt8,wif:e.typeforce.UInt8}),e.TAPLEAF_VERSION_MASK=254;function h(l){return!l||!("output"in l)||!t.Buffer.isBuffer(l.output)?!1:l.version!==void 0?(l.version&e.TAPLEAF_VERSION_MASK)===l.version:!0}e.isTapleaf=h;function f(l){return(0,e.Array)(l)?l.length!==2?!1:l.every(g=>f(g)):h(l)}e.isTaptree=f,e.Buffer256bit=e.typeforce.BufferN(32),e.Hash160bit=e.typeforce.BufferN(20),e.Hash256bit=e.typeforce.BufferN(32),e.Number=e.typeforce.Number,e.Array=e.typeforce.Array,e.Boolean=e.typeforce.Boolean,e.String=e.typeforce.String,e.Buffer=e.typeforce.Buffer,e.Hex=e.typeforce.Hex,e.maybe=e.typeforce.maybe,e.tuple=e.typeforce.tuple,e.UInt8=e.typeforce.UInt8,e.UInt32=e.typeforce.UInt32,e.Function=e.typeforce.Function,e.BufferN=e.typeforce.BufferN,e.Null=e.typeforce.Null,e.oneOf=e.typeforce.oneOf})(Ju)),Ju}var eg;function V3(){if(eg)return Ar;eg=1,Object.defineProperty(Ar,"__esModule",{value:!0}),Ar.encode=Ar.decode=void 0;const e=Qk(),t=ht(),{typeforce:n}=t,r=Buffer.alloc(1,0);function a(c){let u=0;for(;c[u]===0;)++u;return u===c.length?r:(c=c.slice(u),c[0]&128?Buffer.concat([r,c],1+c.length):c)}function o(c){c[0]===0&&(c=c.slice(1));const u=Buffer.alloc(32,0),d=Math.max(0,32-c.length);return c.copy(u,d),u}function i(c){const u=c.readUInt8(c.length-1),d=u&-129;if(d<=0||d>=4)throw new Error("Invalid hashType "+u);const h=e.decode(c.slice(0,-1)),f=o(h.r),l=o(h.s);return{signature:Buffer.concat([f,l],64),hashType:u}}Ar.decode=i;function s(c,u){n({signature:t.BufferN(64),hashType:t.UInt8},{signature:c,hashType:u});const d=u&-129;if(d<=0||d>=4)throw new Error("Invalid hashType "+u);const h=Buffer.allocUnsafe(1);h.writeUInt8(u,0);const f=a(c.slice(0,32)),l=a(c.slice(32,64));return Buffer.concat([e.encode(f,l),h])}return Ar.encode=s,Ar}var tg;function It(){return tg||(tg=1,(function(e){Object.defineProperty(e,"__esModule",{value:!0}),e.signature=e.number=e.isCanonicalScriptSignature=e.isDefinedHashType=e.isCanonicalPubKey=e.toStack=e.fromASM=e.toASM=e.decompile=e.compile=e.countNonPushOnlyOPs=e.isPushOnly=e.OPS=void 0;const t=Qk(),n=wf();Object.defineProperty(e,"OPS",{enumerable:!0,get:function(){return n.OPS}});const r=H3(),a=L3(),o=V3(),i=ht(),{typeforce:s}=i,c=n.OPS.OP_RESERVED;function u(S){return i.Number(S)&&(S===n.OPS.OP_0||S>=n.OPS.OP_1&&S<=n.OPS.OP_16||S===n.OPS.OP_1NEGATE)}function d(S){return i.Buffer(S)||u(S)}function h(S){return i.Array(S)&&S.every(d)}e.isPushOnly=h;function f(S){return S.length-S.filter(d).length}e.countNonPushOnlyOPs=f;function l(S){if(S.length===0)return n.OPS.OP_0;if(S.length===1){if(S[0]>=1&&S[0]<=16)return c+S[0];if(S[0]===129)return n.OPS.OP_1NEGATE}}function g(S){return Buffer.isBuffer(S)}function b(S){return i.Array(S)}function y(S){return Buffer.isBuffer(S)}function _(S){if(g(S))return S;s(i.Array,S);const B=S.reduce((D,R)=>y(R)?R.length===1&&l(R)!==void 0?D+1:D+r.encodingLength(R.length)+R.length:D+1,0),P=Buffer.allocUnsafe(B);let M=0;if(S.forEach(D=>{if(y(D)){const R=l(D);if(R!==void 0){P.writeUInt8(R,M),M+=1;return}M+=r.encode(P,D.length,M),D.copy(P,M),M+=D.length}else P.writeUInt8(D,M),M+=1}),M!==P.length)throw new Error("Could not decode chunks");return P}e.compile=_;function k(S){if(b(S))return S;s(i.Buffer,S);const B=[];let P=0;for(;P<S.length;){const M=S[P];if(M>n.OPS.OP_0&&M<=n.OPS.OP_PUSHDATA4){const D=r.decode(S,P);if(D===null||(P+=D.size,P+D.number>S.length))return null;const R=S.slice(P,P+D.number);P+=D.number;const $=l(R);$!==void 0?B.push($):B.push(R)}else B.push(M),P+=1}return B}e.decompile=k;function w(S){return g(S)&&(S=k(S)),S.map(B=>{if(y(B)){const P=l(B);if(P===void 0)return B.toString("hex");B=P}return n.REVERSE_OPS[B]}).join(" ")}e.toASM=w;function v(S){return s(i.String,S),_(S.split(" ").map(B=>n.OPS[B]!==void 0?n.OPS[B]:(s(i.Hex,B),Buffer.from(B,"hex"))))}e.fromASM=v;function A(S){return S=k(S),s(h,S),S.map(B=>y(B)?B:B===n.OPS.OP_0?Buffer.allocUnsafe(0):a.encode(B-c))}e.toStack=A;function T(S){return i.isPoint(S)}e.isCanonicalPubKey=T;function I(S){const B=S&-129;return B>0&&B<4}e.isDefinedHashType=I;function z(S){return!Buffer.isBuffer(S)||!I(S[S.length-1])?!1:t.check(S.slice(0,-1))}e.isCanonicalScriptSignature=z,e.number=a,e.signature=o})(Yu)),Yu}var Sr={},ng;function wr(){if(ng)return Sr;ng=1,Object.defineProperty(Sr,"__esModule",{value:!0}),Sr.value=Sr.prop=void 0;function e(n,r,a){Object.defineProperty(n,r,{configurable:!0,enumerable:!0,get(){const o=a.call(this);return this[r]=o,o},set(o){Object.defineProperty(this,r,{configurable:!0,enumerable:!0,value:o,writable:!0})}})}Sr.prop=e;function t(n){let r;return()=>(r!==void 0||(r=n()),r)}return Sr.value=t,Sr}var rg;function $3(){if(rg)return Ga;rg=1,Object.defineProperty(Ga,"__esModule",{value:!0}),Ga.p2data=void 0;const e=nn(),t=It(),n=ht(),r=wr(),a=t.OPS;function o(s,c){return s.length!==c.length?!1:s.every((u,d)=>u.equals(c[d]))}function i(s,c){if(!s.data&&!s.output)throw new TypeError("Not enough data");c=Object.assign({validate:!0},c||{}),(0,n.typeforce)({network:n.typeforce.maybe(n.typeforce.Object),output:n.typeforce.maybe(n.typeforce.Buffer),data:n.typeforce.maybe(n.typeforce.arrayOf(n.typeforce.Buffer))},s);const d={name:"embed",network:s.network||e.bitcoin};if(r.prop(d,"output",()=>{if(s.data)return t.compile([a.OP_RETURN].concat(s.data))}),r.prop(d,"data",()=>{if(s.output)return t.decompile(s.output).slice(1)}),c.validate&&s.output){const h=t.decompile(s.output);if(h[0]!==a.OP_RETURN)throw new TypeError("Output is invalid");if(!h.slice(1).every(n.typeforce.Buffer))throw new TypeError("Output is invalid");if(s.data&&!o(s.data,d.data))throw new TypeError("Data mismatch")}return Object.assign(d,s)}return Ga.p2data=i,Ga}var Wa={},ag;function G3(){if(ag)return Wa;ag=1,Object.defineProperty(Wa,"__esModule",{value:!0}),Wa.p2ms=void 0;const e=nn(),t=It(),n=ht(),r=wr(),a=t.OPS,o=a.OP_RESERVED;function i(c,u){return c.length!==u.length?!1:c.every((d,h)=>d.equals(u[h]))}function s(c,u){if(!c.input&&!c.output&&!(c.pubkeys&&c.m!==void 0)&&!c.signatures)throw new TypeError("Not enough data");u=Object.assign({validate:!0},u||{});function d(y){return t.isCanonicalScriptSignature(y)||(u.allowIncomplete&&y===a.OP_0)!==void 0}(0,n.typeforce)({network:n.typeforce.maybe(n.typeforce.Object),m:n.typeforce.maybe(n.typeforce.Number),n:n.typeforce.maybe(n.typeforce.Number),output:n.typeforce.maybe(n.typeforce.Buffer),pubkeys:n.typeforce.maybe(n.typeforce.arrayOf(n.isPoint)),signatures:n.typeforce.maybe(n.typeforce.arrayOf(d)),input:n.typeforce.maybe(n.typeforce.Buffer)},c);const f={network:c.network||e.bitcoin};let l=[],g=!1;function b(y){g||(g=!0,l=t.decompile(y),f.m=l[0]-o,f.n=l[l.length-2]-o,f.pubkeys=l.slice(1,-2))}if(r.prop(f,"output",()=>{if(c.m&&f.n&&c.pubkeys)return t.compile([].concat(o+c.m,c.pubkeys,o+f.n,a.OP_CHECKMULTISIG))}),r.prop(f,"m",()=>{if(f.output)return b(f.output),f.m}),r.prop(f,"n",()=>{if(f.pubkeys)return f.pubkeys.length}),r.prop(f,"pubkeys",()=>{if(c.output)return b(c.output),f.pubkeys}),r.prop(f,"signatures",()=>{if(c.input)return t.decompile(c.input).slice(1)}),r.prop(f,"input",()=>{if(c.signatures)return t.compile([a.OP_0].concat(c.signatures))}),r.prop(f,"witness",()=>{if(f.input)return[]}),r.prop(f,"name",()=>{if(!(!f.m||!f.n))return`p2ms(${f.m} of ${f.n})`}),u.validate){if(c.output){if(b(c.output),!n.typeforce.Number(l[0]))throw new TypeError("Output is invalid");if(!n.typeforce.Number(l[l.length-2]))throw new TypeError("Output is invalid");if(l[l.length-1]!==a.OP_CHECKMULTISIG)throw new TypeError("Output is invalid");if(f.m<=0||f.n>16||f.m>f.n||f.n!==l.length-3)throw new TypeError("Output is invalid");if(!f.pubkeys.every(y=>(0,n.isPoint)(y)))throw new TypeError("Output is invalid");if(c.m!==void 0&&c.m!==f.m)throw new TypeError("m mismatch");if(c.n!==void 0&&c.n!==f.n)throw new TypeError("n mismatch");if(c.pubkeys&&!i(c.pubkeys,f.pubkeys))throw new TypeError("Pubkeys mismatch")}if(c.pubkeys){if(c.n!==void 0&&c.n!==c.pubkeys.length)throw new TypeError("Pubkey count mismatch");if(f.n=c.pubkeys.length,f.n<f.m)throw new TypeError("Pubkey count cannot be less than m")}if(c.signatures){if(c.signatures.length<f.m)throw new TypeError("Not enough signatures provided");if(c.signatures.length>f.m)throw new TypeError("Too many signatures provided")}if(c.input){if(c.input[0]!==a.OP_0)throw new TypeError("Input is invalid");if(f.signatures.length===0||!f.signatures.every(d))throw new TypeError("Input has invalid signature(s)");if(c.signatures&&!i(c.signatures,f.signatures))throw new TypeError("Signature mismatch");if(c.m!==void 0&&c.m!==c.signatures.length)throw new TypeError("Signature count mismatch")}}return Object.assign(f,c)}return Wa.p2ms=s,Wa}var Xa={},og;function K3(){if(og)return Xa;og=1,Object.defineProperty(Xa,"__esModule",{value:!0}),Xa.p2pk=void 0;const e=nn(),t=It(),n=ht(),r=wr(),a=t.OPS;function o(i,s){if(!i.input&&!i.output&&!i.pubkey&&!i.input&&!i.signature)throw new TypeError("Not enough data");s=Object.assign({validate:!0},s||{}),(0,n.typeforce)({network:n.typeforce.maybe(n.typeforce.Object),output:n.typeforce.maybe(n.typeforce.Buffer),pubkey:n.typeforce.maybe(n.isPoint),signature:n.typeforce.maybe(t.isCanonicalScriptSignature),input:n.typeforce.maybe(n.typeforce.Buffer)},i);const c=r.value(()=>t.decompile(i.input)),d={name:"p2pk",network:i.network||e.bitcoin};if(r.prop(d,"output",()=>{if(i.pubkey)return t.compile([i.pubkey,a.OP_CHECKSIG])}),r.prop(d,"pubkey",()=>{if(i.output)return i.output.slice(1,-1)}),r.prop(d,"signature",()=>{if(i.input)return c()[0]}),r.prop(d,"input",()=>{if(i.signature)return t.compile([i.signature])}),r.prop(d,"witness",()=>{if(d.input)return[]}),s.validate){if(i.output){if(i.output[i.output.length-1]!==a.OP_CHECKSIG)throw new TypeError("Output is invalid");if(!(0,n.isPoint)(d.pubkey))throw new TypeError("Output pubkey is invalid");if(i.pubkey&&!i.pubkey.equals(d.pubkey))throw new TypeError("Pubkey mismatch")}if(i.signature&&i.input&&!i.input.equals(d.input))throw new TypeError("Signature mismatch");if(i.input){if(c().length!==1)throw new TypeError("Input is invalid");if(!t.isCanonicalScriptSignature(d.signature))throw new TypeError("Input has invalid signature")}}return Object.assign(d,i)}return Xa.p2pk=o,Xa}var Za={},al={},jr={},gt={},pt={},ol={},Ya={},ig;function W3(){return ig||(ig=1,Object.defineProperty(Ya,"__esModule",{value:!0}),Ya.crypto=void 0,Ya.crypto=typeof globalThis=="object"&&"crypto"in globalThis?globalThis.crypto:void 0),Ya}var sg;function Ks(){return sg||(sg=1,(function(e){/*! noble-hashes - MIT License (c) 2022 Paul Miller (paulmillr.com) */Object.defineProperty(e,"__esModule",{value:!0}),e.wrapXOFConstructorWithOpts=e.wrapConstructorWithOpts=e.wrapConstructor=e.Hash=e.nextTick=e.swap32IfBE=e.byteSwapIfBE=e.swap8IfBE=e.isLE=void 0,e.isBytes=n,e.anumber=r,e.abytes=a,e.ahash=o,e.aexists=i,e.aoutput=s,e.u8=c,e.u32=u,e.clean=d,e.createView=h,e.rotr=f,e.rotl=l,e.byteSwap=g,e.byteSwap32=b,e.bytesToHex=k,e.hexToBytes=A,e.asyncLoop=I,e.utf8ToBytes=z,e.bytesToUtf8=S,e.toBytes=B,e.kdfInputToBytes=P,e.concatBytes=M,e.checkOpts=D,e.createHasher=$,e.createOptHasher=q,e.createXOFer=X,e.randomBytes=H;const t=W3();function n(C){return C instanceof Uint8Array||ArrayBuffer.isView(C)&&C.constructor.name==="Uint8Array"}function r(C){if(!Number.isSafeInteger(C)||C<0)throw new Error("positive integer expected, got "+C)}function a(C,...V){if(!n(C))throw new Error("Uint8Array expected");if(V.length>0&&!V.includes(C.length))throw new Error("Uint8Array expected of length "+V+", got length="+C.length)}function o(C){if(typeof C!="function"||typeof C.create!="function")throw new Error("Hash should be wrapped by utils.createHasher");r(C.outputLen),r(C.blockLen)}function i(C,V=!0){if(C.destroyed)throw new Error("Hash instance has been destroyed");if(V&&C.finished)throw new Error("Hash#digest() has already been called")}function s(C,V){a(C);const W=V.outputLen;if(C.length<W)throw new Error("digestInto() expects output buffer of length at least "+W)}function c(C){return new Uint8Array(C.buffer,C.byteOffset,C.byteLength)}function u(C){return new Uint32Array(C.buffer,C.byteOffset,Math.floor(C.byteLength/4))}function d(...C){for(let V=0;V<C.length;V++)C[V].fill(0)}function h(C){return new DataView(C.buffer,C.byteOffset,C.byteLength)}function f(C,V){return C<<32-V|C>>>V}function l(C,V){return C<<V|C>>>32-V>>>0}e.isLE=new Uint8Array(new Uint32Array([287454020]).buffer)[0]===68;function g(C){return C<<24&4278190080|C<<8&16711680|C>>>8&65280|C>>>24&255}e.swap8IfBE=e.isLE?C=>C:C=>g(C),e.byteSwapIfBE=e.swap8IfBE;function b(C){for(let V=0;V<C.length;V++)C[V]=g(C[V]);return C}e.swap32IfBE=e.isLE?C=>C:b;const y=typeof Uint8Array.from([]).toHex=="function"&&typeof Uint8Array.fromHex=="function",_=Array.from({length:256},(C,V)=>V.toString(16).padStart(2,"0"));function k(C){if(a(C),y)return C.toHex();let V="";for(let W=0;W<C.length;W++)V+=_[C[W]];return V}const w={_0:48,_9:57,A:65,F:70,a:97,f:102};function v(C){if(C>=w._0&&C<=w._9)return C-w._0;if(C>=w.A&&C<=w.F)return C-(w.A-10);if(C>=w.a&&C<=w.f)return C-(w.a-10)}function A(C){if(typeof C!="string")throw new Error("hex string expected, got "+typeof C);if(y)return Uint8Array.fromHex(C);const V=C.length,W=V/2;if(V%2)throw new Error("hex string expected, got unpadded hex of length "+V);const U=new Uint8Array(W);for(let K=0,Y=0;K<W;K++,Y+=2){const de=v(C.charCodeAt(Y)),te=v(C.charCodeAt(Y+1));if(de===void 0||te===void 0){const re=C[Y]+C[Y+1];throw new Error('hex string expected, got non-hex character "'+re+'" at index '+Y)}U[K]=de*16+te}return U}const T=async()=>{};e.nextTick=T;async function I(C,V,W){let U=Date.now();for(let K=0;K<C;K++){W(K);const Y=Date.now()-U;Y>=0&&Y<V||(await(0,e.nextTick)(),U+=Y)}}function z(C){if(typeof C!="string")throw new Error("string expected");return new Uint8Array(new TextEncoder().encode(C))}function S(C){return new TextDecoder().decode(C)}function B(C){return typeof C=="string"&&(C=z(C)),a(C),C}function P(C){return typeof C=="string"&&(C=z(C)),a(C),C}function M(...C){let V=0;for(let U=0;U<C.length;U++){const K=C[U];a(K),V+=K.length}const W=new Uint8Array(V);for(let U=0,K=0;U<C.length;U++){const Y=C[U];W.set(Y,K),K+=Y.length}return W}function D(C,V){if(V!==void 0&&{}.toString.call(V)!=="[object Object]")throw new Error("options should be object or undefined");return Object.assign(C,V)}class R{}e.Hash=R;function $(C){const V=U=>C().update(B(U)).digest(),W=C();return V.outputLen=W.outputLen,V.blockLen=W.blockLen,V.create=()=>C(),V}function q(C){const V=(U,K)=>C(K).update(B(U)).digest(),W=C({});return V.outputLen=W.outputLen,V.blockLen=W.blockLen,V.create=U=>C(U),V}function X(C){const V=(U,K)=>C(K).update(B(U)).digest(),W=C({});return V.outputLen=W.outputLen,V.blockLen=W.blockLen,V.create=U=>C(U),V}e.wrapConstructor=$,e.wrapConstructorWithOpts=q,e.wrapXOFConstructorWithOpts=X;function H(C=32){if(t.crypto&&typeof t.crypto.getRandomValues=="function")return t.crypto.getRandomValues(new Uint8Array(C));if(t.crypto&&typeof t.crypto.randomBytes=="function")return Uint8Array.from(t.crypto.randomBytes(C));throw new Error("crypto.getRandomValues must be defined")}})(ol)),ol}var cg;function t_(){if(cg)return pt;cg=1,Object.defineProperty(pt,"__esModule",{value:!0}),pt.SHA512_IV=pt.SHA384_IV=pt.SHA224_IV=pt.SHA256_IV=pt.HashMD=void 0,pt.setBigUint64=t,pt.Chi=n,pt.Maj=r;const e=Ks();function t(o,i,s,c){if(typeof o.setBigUint64=="function")return o.setBigUint64(i,s,c);const u=BigInt(32),d=BigInt(4294967295),h=Number(s>>u&d),f=Number(s&d),l=c?4:0,g=c?0:4;o.setUint32(i+l,h,c),o.setUint32(i+g,f,c)}function n(o,i,s){return o&i^~o&s}function r(o,i,s){return o&i^o&s^i&s}class a extends e.Hash{constructor(i,s,c,u){super(),this.finished=!1,this.length=0,this.pos=0,this.destroyed=!1,this.blockLen=i,this.outputLen=s,this.padOffset=c,this.isLE=u,this.buffer=new Uint8Array(i),this.view=(0,e.createView)(this.buffer)}update(i){(0,e.aexists)(this),i=(0,e.toBytes)(i),(0,e.abytes)(i);const{view:s,buffer:c,blockLen:u}=this,d=i.length;for(let h=0;h<d;){const f=Math.min(u-this.pos,d-h);if(f===u){const l=(0,e.createView)(i);for(;u<=d-h;h+=u)this.process(l,h);continue}c.set(i.subarray(h,h+f),this.pos),this.pos+=f,h+=f,this.pos===u&&(this.process(s,0),this.pos=0)}return this.length+=i.length,this.roundClean(),this}digestInto(i){(0,e.aexists)(this),(0,e.aoutput)(i,this),this.finished=!0;const{buffer:s,view:c,blockLen:u,isLE:d}=this;let{pos:h}=this;s[h++]=128,(0,e.clean)(this.buffer.subarray(h)),this.padOffset>u-h&&(this.process(c,0),h=0);for(let y=h;y<u;y++)s[y]=0;t(c,u-8,BigInt(this.length*8),d),this.process(c,0);const f=(0,e.createView)(i),l=this.outputLen;if(l%4)throw new Error("_sha2: outputLen should be aligned to 32bit");const g=l/4,b=this.get();if(g>b.length)throw new Error("_sha2: outputLen bigger than state");for(let y=0;y<g;y++)f.setUint32(4*y,b[y],d)}digest(){const{buffer:i,outputLen:s}=this;this.digestInto(i);const c=i.slice(0,s);return this.destroy(),c}_cloneInto(i){i||(i=new this.constructor),i.set(...this.get());const{blockLen:s,buffer:c,length:u,finished:d,destroyed:h,pos:f}=this;return i.destroyed=h,i.finished=d,i.length=u,i.pos=f,u%s&&i.buffer.set(c),i}clone(){return this._cloneInto()}}return pt.HashMD=a,pt.SHA256_IV=Uint32Array.from([1779033703,3144134277,1013904242,2773480762,1359893119,2600822924,528734635,1541459225]),pt.SHA224_IV=Uint32Array.from([3238371032,914150663,812702999,4144912697,4290775857,1750603025,1694076839,3204075428]),pt.SHA384_IV=Uint32Array.from([3418070365,3238371032,1654270250,914150663,2438529370,812702999,355462360,4144912697,1731405415,4290775857,2394180231,1750603025,3675008525,1694076839,1203062813,3204075428]),pt.SHA512_IV=Uint32Array.from([1779033703,4089235720,3144134277,2227873595,1013904242,4271175723,2773480762,1595750129,1359893119,2917565137,2600822924,725511199,528734635,4215389547,1541459225,327033209]),pt}var ug;function n_(){if(ug)return gt;ug=1,Object.defineProperty(gt,"__esModule",{value:!0}),gt.ripemd160=gt.RIPEMD160=gt.md5=gt.MD5=gt.sha1=gt.SHA1=void 0;const e=t_(),t=Ks(),n=Uint32Array.from([1732584193,4023233417,2562383102,271733878,3285377520]),r=new Uint32Array(80);class a extends e.HashMD{constructor(){super(64,20,8,!1),this.A=n[0]|0,this.B=n[1]|0,this.C=n[2]|0,this.D=n[3]|0,this.E=n[4]|0}get(){const{A:S,B,C:P,D:M,E:D}=this;return[S,B,P,M,D]}set(S,B,P,M,D){this.A=S|0,this.B=B|0,this.C=P|0,this.D=M|0,this.E=D|0}process(S,B){for(let q=0;q<16;q++,B+=4)r[q]=S.getUint32(B,!1);for(let q=16;q<80;q++)r[q]=(0,t.rotl)(r[q-3]^r[q-8]^r[q-14]^r[q-16],1);let{A:P,B:M,C:D,D:R,E:$}=this;for(let q=0;q<80;q++){let X,H;q<20?(X=(0,e.Chi)(M,D,R),H=1518500249):q<40?(X=M^D^R,H=1859775393):q<60?(X=(0,e.Maj)(M,D,R),H=2400959708):(X=M^D^R,H=3395469782);const C=(0,t.rotl)(P,5)+X+$+H+r[q]|0;$=R,R=D,D=(0,t.rotl)(M,30),M=P,P=C}P=P+this.A|0,M=M+this.B|0,D=D+this.C|0,R=R+this.D|0,$=$+this.E|0,this.set(P,M,D,R,$)}roundClean(){(0,t.clean)(r)}destroy(){this.set(0,0,0,0,0),(0,t.clean)(this.buffer)}}gt.SHA1=a,gt.sha1=(0,t.createHasher)(()=>new a);const o=Math.pow(2,32),i=Array.from({length:64},(z,S)=>Math.floor(o*Math.abs(Math.sin(S+1)))),s=n.slice(0,4),c=new Uint32Array(16);class u extends e.HashMD{constructor(){super(64,16,8,!0),this.A=s[0]|0,this.B=s[1]|0,this.C=s[2]|0,this.D=s[3]|0}get(){const{A:S,B,C:P,D:M}=this;return[S,B,P,M]}set(S,B,P,M){this.A=S|0,this.B=B|0,this.C=P|0,this.D=M|0}process(S,B){for(let $=0;$<16;$++,B+=4)c[$]=S.getUint32(B,!0);let{A:P,B:M,C:D,D:R}=this;for(let $=0;$<64;$++){let q,X,H;$<16?(q=(0,e.Chi)(M,D,R),X=$,H=[7,12,17,22]):$<32?(q=(0,e.Chi)(R,M,D),X=(5*$+1)%16,H=[5,9,14,20]):$<48?(q=M^D^R,X=(3*$+5)%16,H=[4,11,16,23]):(q=D^(M|~R),X=7*$%16,H=[6,10,15,21]),q=q+P+i[$]+c[X],P=R,R=D,D=M,M=M+(0,t.rotl)(q,H[$%4])}P=P+this.A|0,M=M+this.B|0,D=D+this.C|0,R=R+this.D|0,this.set(P,M,D,R)}roundClean(){(0,t.clean)(c)}destroy(){this.set(0,0,0,0),(0,t.clean)(this.buffer)}}gt.MD5=u,gt.md5=(0,t.createHasher)(()=>new u);const d=Uint8Array.from([7,4,13,1,10,6,15,3,12,0,9,5,2,14,11,8]),h=Uint8Array.from(new Array(16).fill(0).map((z,S)=>S)),f=h.map(z=>(9*z+5)%16),l=(()=>{const B=[[h],[f]];for(let P=0;P<4;P++)for(let M of B)M.push(M[P].map(D=>d[D]));return B})(),g=l[0],b=l[1],y=[[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(z=>Uint8Array.from(z)),_=g.map((z,S)=>z.map(B=>y[S][B])),k=b.map((z,S)=>z.map(B=>y[S][B])),w=Uint32Array.from([0,1518500249,1859775393,2400959708,2840853838]),v=Uint32Array.from([1352829926,1548603684,1836072691,2053994217,0]);function A(z,S,B,P){return z===0?S^B^P:z===1?S&B|~S&P:z===2?(S|~B)^P:z===3?S&P|B&~P:S^(B|~P)}const T=new Uint32Array(16);class I extends e.HashMD{constructor(){super(64,20,8,!0),this.h0=1732584193,this.h1=-271733879,this.h2=-1732584194,this.h3=271733878,this.h4=-1009589776}get(){const{h0:S,h1:B,h2:P,h3:M,h4:D}=this;return[S,B,P,M,D]}set(S,B,P,M,D){this.h0=S|0,this.h1=B|0,this.h2=P|0,this.h3=M|0,this.h4=D|0}process(S,B){for(let W=0;W<16;W++,B+=4)T[W]=S.getUint32(B,!0);let P=this.h0|0,M=P,D=this.h1|0,R=D,$=this.h2|0,q=$,X=this.h3|0,H=X,C=this.h4|0,V=C;for(let W=0;W<5;W++){const U=4-W,K=w[W],Y=v[W],de=g[W],te=b[W],re=_[W],oe=k[W];for(let ae=0;ae<16;ae++){const se=(0,t.rotl)(P+A(W,D,$,X)+T[de[ae]]+K,re[ae])+C|0;P=C,C=X,X=(0,t.rotl)($,10)|0,$=D,D=se}for(let ae=0;ae<16;ae++){const se=(0,t.rotl)(M+A(U,R,q,H)+T[te[ae]]+Y,oe[ae])+V|0;M=V,V=H,H=(0,t.rotl)(q,10)|0,q=R,R=se}}this.set(this.h1+$+H|0,this.h2+X+V|0,this.h3+C+M|0,this.h4+P+R|0,this.h0+D+q|0)}roundClean(){(0,t.clean)(T)}destroy(){this.destroyed=!0,(0,t.clean)(this.buffer),this.set(0,0,0,0,0)}}return gt.RIPEMD160=I,gt.ripemd160=(0,t.createHasher)(()=>new I),gt}var lg;function X3(){if(lg)return jr;lg=1,Object.defineProperty(jr,"__esModule",{value:!0}),jr.ripemd160=jr.RIPEMD160=void 0;const e=n_();return jr.RIPEMD160=e.RIPEMD160,jr.ripemd160=e.ripemd160,jr}var xr={},dg;function Z3(){if(dg)return xr;dg=1,Object.defineProperty(xr,"__esModule",{value:!0}),xr.sha1=xr.SHA1=void 0;const e=n_();return xr.SHA1=e.SHA1,xr.sha1=e.sha1,xr}var Kt={},Re={},ye={},fg;function Y3(){if(fg)return ye;fg=1,Object.defineProperty(ye,"__esModule",{value:!0}),ye.toBig=ye.shrSL=ye.shrSH=ye.rotrSL=ye.rotrSH=ye.rotrBL=ye.rotrBH=ye.rotr32L=ye.rotr32H=ye.rotlSL=ye.rotlSH=ye.rotlBL=ye.rotlBH=ye.add5L=ye.add5H=ye.add4L=ye.add4H=ye.add3L=ye.add3H=void 0,ye.add=_,ye.fromBig=n,ye.split=r;const e=BigInt(2**32-1),t=BigInt(32);function n(S,B=!1){return B?{h:Number(S&e),l:Number(S>>t&e)}:{h:Number(S>>t&e)|0,l:Number(S&e)|0}}function r(S,B=!1){const P=S.length;let M=new Uint32Array(P),D=new Uint32Array(P);for(let R=0;R<P;R++){const{h:$,l:q}=n(S[R],B);[M[R],D[R]]=[$,q]}return[M,D]}const a=(S,B)=>BigInt(S>>>0)<<t|BigInt(B>>>0);ye.toBig=a;const o=(S,B,P)=>S>>>P;ye.shrSH=o;const i=(S,B,P)=>S<<32-P|B>>>P;ye.shrSL=i;const s=(S,B,P)=>S>>>P|B<<32-P;ye.rotrSH=s;const c=(S,B,P)=>S<<32-P|B>>>P;ye.rotrSL=c;const u=(S,B,P)=>S<<64-P|B>>>P-32;ye.rotrBH=u;const d=(S,B,P)=>S>>>P-32|B<<64-P;ye.rotrBL=d;const h=(S,B)=>B;ye.rotr32H=h;const f=(S,B)=>S;ye.rotr32L=f;const l=(S,B,P)=>S<<P|B>>>32-P;ye.rotlSH=l;const g=(S,B,P)=>B<<P|S>>>32-P;ye.rotlSL=g;const b=(S,B,P)=>B<<P-32|S>>>64-P;ye.rotlBH=b;const y=(S,B,P)=>S<<P-32|B>>>64-P;ye.rotlBL=y;function _(S,B,P,M){const D=(B>>>0)+(M>>>0);return{h:S+P+(D/2**32|0)|0,l:D|0}}const k=(S,B,P)=>(S>>>0)+(B>>>0)+(P>>>0);ye.add3L=k;const w=(S,B,P,M)=>B+P+M+(S/2**32|0)|0;ye.add3H=w;const v=(S,B,P,M)=>(S>>>0)+(B>>>0)+(P>>>0)+(M>>>0);ye.add4L=v;const A=(S,B,P,M,D)=>B+P+M+D+(S/2**32|0)|0;ye.add4H=A;const T=(S,B,P,M,D)=>(S>>>0)+(B>>>0)+(P>>>0)+(M>>>0)+(D>>>0);ye.add5L=T;const I=(S,B,P,M,D,R)=>B+P+M+D+R+(S/2**32|0)|0;ye.add5H=I;const z={fromBig:n,split:r,toBig:a,shrSH:o,shrSL:i,rotrSH:s,rotrSL:c,rotrBH:u,rotrBL:d,rotr32H:h,rotr32L:f,rotlSH:l,rotlSL:g,rotlBH:b,rotlBL:y,add:_,add3L:k,add3H:w,add4L:v,add4H:A,add5H:I,add5L:T};return ye.default=z,ye}var pg;function r_(){if(pg)return Re;pg=1,Object.defineProperty(Re,"__esModule",{value:!0}),Re.sha512_224=Re.sha512_256=Re.sha384=Re.sha512=Re.sha224=Re.sha256=Re.SHA512_256=Re.SHA512_224=Re.SHA384=Re.SHA512=Re.SHA224=Re.SHA256=void 0;const e=t_(),t=Y3(),n=Ks(),r=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]),a=new Uint32Array(64);class o extends e.HashMD{constructor(w=32){super(64,w,8,!1),this.A=e.SHA256_IV[0]|0,this.B=e.SHA256_IV[1]|0,this.C=e.SHA256_IV[2]|0,this.D=e.SHA256_IV[3]|0,this.E=e.SHA256_IV[4]|0,this.F=e.SHA256_IV[5]|0,this.G=e.SHA256_IV[6]|0,this.H=e.SHA256_IV[7]|0}get(){const{A:w,B:v,C:A,D:T,E:I,F:z,G:S,H:B}=this;return[w,v,A,T,I,z,S,B]}set(w,v,A,T,I,z,S,B){this.A=w|0,this.B=v|0,this.C=A|0,this.D=T|0,this.E=I|0,this.F=z|0,this.G=S|0,this.H=B|0}process(w,v){for(let D=0;D<16;D++,v+=4)a[D]=w.getUint32(v,!1);for(let D=16;D<64;D++){const R=a[D-15],$=a[D-2],q=(0,n.rotr)(R,7)^(0,n.rotr)(R,18)^R>>>3,X=(0,n.rotr)($,17)^(0,n.rotr)($,19)^$>>>10;a[D]=X+a[D-7]+q+a[D-16]|0}let{A,B:T,C:I,D:z,E:S,F:B,G:P,H:M}=this;for(let D=0;D<64;D++){const R=(0,n.rotr)(S,6)^(0,n.rotr)(S,11)^(0,n.rotr)(S,25),$=M+R+(0,e.Chi)(S,B,P)+r[D]+a[D]|0,X=((0,n.rotr)(A,2)^(0,n.rotr)(A,13)^(0,n.rotr)(A,22))+(0,e.Maj)(A,T,I)|0;M=P,P=B,B=S,S=z+$|0,z=I,I=T,T=A,A=$+X|0}A=A+this.A|0,T=T+this.B|0,I=I+this.C|0,z=z+this.D|0,S=S+this.E|0,B=B+this.F|0,P=P+this.G|0,M=M+this.H|0,this.set(A,T,I,z,S,B,P,M)}roundClean(){(0,n.clean)(a)}destroy(){this.set(0,0,0,0,0,0,0,0),(0,n.clean)(this.buffer)}}Re.SHA256=o;class i extends o{constructor(){super(28),this.A=e.SHA224_IV[0]|0,this.B=e.SHA224_IV[1]|0,this.C=e.SHA224_IV[2]|0,this.D=e.SHA224_IV[3]|0,this.E=e.SHA224_IV[4]|0,this.F=e.SHA224_IV[5]|0,this.G=e.SHA224_IV[6]|0,this.H=e.SHA224_IV[7]|0}}Re.SHA224=i;const s=t.split(["0x428a2f98d728ae22","0x7137449123ef65cd","0xb5c0fbcfec4d3b2f","0xe9b5dba58189dbbc","0x3956c25bf348b538","0x59f111f1b605d019","0x923f82a4af194f9b","0xab1c5ed5da6d8118","0xd807aa98a3030242","0x12835b0145706fbe","0x243185be4ee4b28c","0x550c7dc3d5ffb4e2","0x72be5d74f27b896f","0x80deb1fe3b1696b1","0x9bdc06a725c71235","0xc19bf174cf692694","0xe49b69c19ef14ad2","0xefbe4786384f25e3","0x0fc19dc68b8cd5b5","0x240ca1cc77ac9c65","0x2de92c6f592b0275","0x4a7484aa6ea6e483","0x5cb0a9dcbd41fbd4","0x76f988da831153b5","0x983e5152ee66dfab","0xa831c66d2db43210","0xb00327c898fb213f","0xbf597fc7beef0ee4","0xc6e00bf33da88fc2","0xd5a79147930aa725","0x06ca6351e003826f","0x142929670a0e6e70","0x27b70a8546d22ffc","0x2e1b21385c26c926","0x4d2c6dfc5ac42aed","0x53380d139d95b3df","0x650a73548baf63de","0x766a0abb3c77b2a8","0x81c2c92e47edaee6","0x92722c851482353b","0xa2bfe8a14cf10364","0xa81a664bbc423001","0xc24b8b70d0f89791","0xc76c51a30654be30","0xd192e819d6ef5218","0xd69906245565a910","0xf40e35855771202a","0x106aa07032bbd1b8","0x19a4c116b8d2d0c8","0x1e376c085141ab53","0x2748774cdf8eeb99","0x34b0bcb5e19b48a8","0x391c0cb3c5c95a63","0x4ed8aa4ae3418acb","0x5b9cca4f7763e373","0x682e6ff3d6b2b8a3","0x748f82ee5defb2fc","0x78a5636f43172f60","0x84c87814a1f0ab72","0x8cc702081a6439ec","0x90befffa23631e28","0xa4506cebde82bde9","0xbef9a3f7b2c67915","0xc67178f2e372532b","0xca273eceea26619c","0xd186b8c721c0c207","0xeada7dd6cde0eb1e","0xf57d4f7fee6ed178","0x06f067aa72176fba","0x0a637dc5a2c898a6","0x113f9804bef90dae","0x1b710b35131c471b","0x28db77f523047d84","0x32caab7b40c72493","0x3c9ebe0a15c9bebc","0x431d67c49c100d4c","0x4cc5d4becb3e42b6","0x597f299cfc657e2a","0x5fcb6fab3ad6faec","0x6c44198c4a475817"].map(k=>BigInt(k))),c=s[0],u=s[1],d=new Uint32Array(80),h=new Uint32Array(80);class f extends e.HashMD{constructor(w=64){super(128,w,16,!1),this.Ah=e.SHA512_IV[0]|0,this.Al=e.SHA512_IV[1]|0,this.Bh=e.SHA512_IV[2]|0,this.Bl=e.SHA512_IV[3]|0,this.Ch=e.SHA512_IV[4]|0,this.Cl=e.SHA512_IV[5]|0,this.Dh=e.SHA512_IV[6]|0,this.Dl=e.SHA512_IV[7]|0,this.Eh=e.SHA512_IV[8]|0,this.El=e.SHA512_IV[9]|0,this.Fh=e.SHA512_IV[10]|0,this.Fl=e.SHA512_IV[11]|0,this.Gh=e.SHA512_IV[12]|0,this.Gl=e.SHA512_IV[13]|0,this.Hh=e.SHA512_IV[14]|0,this.Hl=e.SHA512_IV[15]|0}get(){const{Ah:w,Al:v,Bh:A,Bl:T,Ch:I,Cl:z,Dh:S,Dl:B,Eh:P,El:M,Fh:D,Fl:R,Gh:$,Gl:q,Hh:X,Hl:H}=this;return[w,v,A,T,I,z,S,B,P,M,D,R,$,q,X,H]}set(w,v,A,T,I,z,S,B,P,M,D,R,$,q,X,H){this.Ah=w|0,this.Al=v|0,this.Bh=A|0,this.Bl=T|0,this.Ch=I|0,this.Cl=z|0,this.Dh=S|0,this.Dl=B|0,this.Eh=P|0,this.El=M|0,this.Fh=D|0,this.Fl=R|0,this.Gh=$|0,this.Gl=q|0,this.Hh=X|0,this.Hl=H|0}process(w,v){for(let W=0;W<16;W++,v+=4)d[W]=w.getUint32(v),h[W]=w.getUint32(v+=4);for(let W=16;W<80;W++){const U=d[W-15]|0,K=h[W-15]|0,Y=t.rotrSH(U,K,1)^t.rotrSH(U,K,8)^t.shrSH(U,K,7),de=t.rotrSL(U,K,1)^t.rotrSL(U,K,8)^t.shrSL(U,K,7),te=d[W-2]|0,re=h[W-2]|0,oe=t.rotrSH(te,re,19)^t.rotrBH(te,re,61)^t.shrSH(te,re,6),ae=t.rotrSL(te,re,19)^t.rotrBL(te,re,61)^t.shrSL(te,re,6),se=t.add4L(de,ae,h[W-7],h[W-16]),G=t.add4H(se,Y,oe,d[W-7],d[W-16]);d[W]=G|0,h[W]=se|0}let{Ah:A,Al:T,Bh:I,Bl:z,Ch:S,Cl:B,Dh:P,Dl:M,Eh:D,El:R,Fh:$,Fl:q,Gh:X,Gl:H,Hh:C,Hl:V}=this;for(let W=0;W<80;W++){const U=t.rotrSH(D,R,14)^t.rotrSH(D,R,18)^t.rotrBH(D,R,41),K=t.rotrSL(D,R,14)^t.rotrSL(D,R,18)^t.rotrBL(D,R,41),Y=D&$^~D&X,de=R&q^~R&H,te=t.add5L(V,K,de,u[W],h[W]),re=t.add5H(te,C,U,Y,c[W],d[W]),oe=te|0,ae=t.rotrSH(A,T,28)^t.rotrBH(A,T,34)^t.rotrBH(A,T,39),se=t.rotrSL(A,T,28)^t.rotrBL(A,T,34)^t.rotrBL(A,T,39),G=A&I^A&S^I&S,N=T&z^T&B^z&B;C=X|0,V=H|0,X=$|0,H=q|0,$=D|0,q=R|0,{h:D,l:R}=t.add(P|0,M|0,re|0,oe|0),P=S|0,M=B|0,S=I|0,B=z|0,I=A|0,z=T|0;const L=t.add3L(oe,se,N);A=t.add3H(L,re,ae,G),T=L|0}({h:A,l:T}=t.add(this.Ah|0,this.Al|0,A|0,T|0)),{h:I,l:z}=t.add(this.Bh|0,this.Bl|0,I|0,z|0),{h:S,l:B}=t.add(this.Ch|0,this.Cl|0,S|0,B|0),{h:P,l:M}=t.add(this.Dh|0,this.Dl|0,P|0,M|0),{h:D,l:R}=t.add(this.Eh|0,this.El|0,D|0,R|0),{h:$,l:q}=t.add(this.Fh|0,this.Fl|0,$|0,q|0),{h:X,l:H}=t.add(this.Gh|0,this.Gl|0,X|0,H|0),{h:C,l:V}=t.add(this.Hh|0,this.Hl|0,C|0,V|0),this.set(A,T,I,z,S,B,P,M,D,R,$,q,X,H,C,V)}roundClean(){(0,n.clean)(d,h)}destroy(){(0,n.clean)(this.buffer),this.set(0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0)}}Re.SHA512=f;class l extends f{constructor(){super(48),this.Ah=e.SHA384_IV[0]|0,this.Al=e.SHA384_IV[1]|0,this.Bh=e.SHA384_IV[2]|0,this.Bl=e.SHA384_IV[3]|0,this.Ch=e.SHA384_IV[4]|0,this.Cl=e.SHA384_IV[5]|0,this.Dh=e.SHA384_IV[6]|0,this.Dl=e.SHA384_IV[7]|0,this.Eh=e.SHA384_IV[8]|0,this.El=e.SHA384_IV[9]|0,this.Fh=e.SHA384_IV[10]|0,this.Fl=e.SHA384_IV[11]|0,this.Gh=e.SHA384_IV[12]|0,this.Gl=e.SHA384_IV[13]|0,this.Hh=e.SHA384_IV[14]|0,this.Hl=e.SHA384_IV[15]|0}}Re.SHA384=l;const g=Uint32Array.from([2352822216,424955298,1944164710,2312950998,502970286,855612546,1738396948,1479516111,258812777,2077511080,2011393907,79989058,1067287976,1780299464,286451373,2446758561]),b=Uint32Array.from([573645204,4230739756,2673172387,3360449730,596883563,1867755857,2520282905,1497426621,2519219938,2827943907,3193839141,1401305490,721525244,746961066,246885852,2177182882]);class y extends f{constructor(){super(28),this.Ah=g[0]|0,this.Al=g[1]|0,this.Bh=g[2]|0,this.Bl=g[3]|0,this.Ch=g[4]|0,this.Cl=g[5]|0,this.Dh=g[6]|0,this.Dl=g[7]|0,this.Eh=g[8]|0,this.El=g[9]|0,this.Fh=g[10]|0,this.Fl=g[11]|0,this.Gh=g[12]|0,this.Gl=g[13]|0,this.Hh=g[14]|0,this.Hl=g[15]|0}}Re.SHA512_224=y;class _ extends f{constructor(){super(32),this.Ah=b[0]|0,this.Al=b[1]|0,this.Bh=b[2]|0,this.Bl=b[3]|0,this.Ch=b[4]|0,this.Cl=b[5]|0,this.Dh=b[6]|0,this.Dl=b[7]|0,this.Eh=b[8]|0,this.El=b[9]|0,this.Fh=b[10]|0,this.Fl=b[11]|0,this.Gh=b[12]|0,this.Gl=b[13]|0,this.Hh=b[14]|0,this.Hl=b[15]|0}}return Re.SHA512_256=_,Re.sha256=(0,n.createHasher)(()=>new o),Re.sha224=(0,n.createHasher)(()=>new i),Re.sha512=(0,n.createHasher)(()=>new f),Re.sha384=(0,n.createHasher)(()=>new l),Re.sha512_256=(0,n.createHasher)(()=>new _),Re.sha512_224=(0,n.createHasher)(()=>new y),Re}var hg;function a_(){if(hg)return Kt;hg=1,Object.defineProperty(Kt,"__esModule",{value:!0}),Kt.sha224=Kt.SHA224=Kt.sha256=Kt.SHA256=void 0;const e=r_();return Kt.SHA256=e.SHA256,Kt.sha256=e.sha256,Kt.SHA224=e.SHA224,Kt.sha224=e.sha224,Kt}var mg;function Un(){return mg||(mg=1,(function(e){Object.defineProperty(e,"__esModule",{value:!0}),e.taggedHash=e.TAGGED_HASH_PREFIXES=e.TAGS=e.hash256=e.hash160=e.sha256=e.sha1=e.ripemd160=void 0;const t=X3(),n=Z3(),r=a_();function a(d){return Buffer.from((0,t.ripemd160)(Uint8Array.from(d)))}e.ripemd160=a;function o(d){return Buffer.from((0,n.sha1)(Uint8Array.from(d)))}e.sha1=o;function i(d){return Buffer.from((0,r.sha256)(Uint8Array.from(d)))}e.sha256=i;function s(d){return Buffer.from((0,t.ripemd160)((0,r.sha256)(Uint8Array.from(d))))}e.hash160=s;function c(d){return Buffer.from((0,r.sha256)((0,r.sha256)(Uint8Array.from(d))))}e.hash256=c,e.TAGS=["BIP0340/challenge","BIP0340/aux","BIP0340/nonce","TapLeaf","TapBranch","TapSighash","TapTweak","KeyAgg list","KeyAgg coefficient"],e.TAGGED_HASH_PREFIXES={"BIP0340/challenge":Buffer.from([123,181,45,122,159,239,88,50,62,177,191,122,64,125,179,130,210,243,242,216,27,177,34,79,73,254,81,143,109,72,211,124,123,181,45,122,159,239,88,50,62,177,191,122,64,125,179,130,210,243,242,216,27,177,34,79,73,254,81,143,109,72,211,124]),"BIP0340/aux":Buffer.from([241,239,78,94,192,99,202,218,109,148,202,250,157,152,126,160,105,38,88,57,236,193,31,151,45,119,165,46,216,193,204,144,241,239,78,94,192,99,202,218,109,148,202,250,157,152,126,160,105,38,88,57,236,193,31,151,45,119,165,46,216,193,204,144]),"BIP0340/nonce":Buffer.from([7,73,119,52,167,155,203,53,91,155,140,125,3,79,18,28,244,52,215,62,247,45,218,25,135,0,97,251,82,191,235,47,7,73,119,52,167,155,203,53,91,155,140,125,3,79,18,28,244,52,215,62,247,45,218,25,135,0,97,251,82,191,235,47]),TapLeaf:Buffer.from([174,234,143,220,66,8,152,49,5,115,75,88,8,29,30,38,56,211,95,28,181,64,8,212,211,87,202,3,190,120,233,238,174,234,143,220,66,8,152,49,5,115,75,88,8,29,30,38,56,211,95,28,181,64,8,212,211,87,202,3,190,120,233,238]),TapBranch:Buffer.from([25,65,161,242,229,110,185,95,162,169,241,148,190,92,1,247,33,111,51,237,130,176,145,70,52,144,208,91,245,22,160,21,25,65,161,242,229,110,185,95,162,169,241,148,190,92,1,247,33,111,51,237,130,176,145,70,52,144,208,91,245,22,160,21]),TapSighash:Buffer.from([244,10,72,223,75,42,112,200,180,146,75,242,101,70,97,237,61,149,253,102,163,19,235,135,35,117,151,198,40,228,160,49,244,10,72,223,75,42,112,200,180,146,75,242,101,70,97,237,61,149,253,102,163,19,235,135,35,117,151,198,40,228,160,49]),TapTweak:Buffer.from([232,15,225,99,156,156,160,80,227,175,27,57,193,67,198,62,66,156,188,235,21,217,64,251,181,197,161,244,175,87,197,233,232,15,225,99,156,156,160,80,227,175,27,57,193,67,198,62,66,156,188,235,21,217,64,251,181,197,161,244,175,87,197,233]),"KeyAgg list":Buffer.from([72,28,151,28,60,11,70,215,240,178,117,174,89,141,78,44,126,215,49,156,89,74,92,110,199,158,160,212,153,2,148,240,72,28,151,28,60,11,70,215,240,178,117,174,89,141,78,44,126,215,49,156,89,74,92,110,199,158,160,212,153,2,148,240]),"KeyAgg coefficient":Buffer.from([191,201,4,3,77,28,136,232,200,14,34,229,61,36,86,109,100,130,78,214,66,114,129,192,145,0,249,77,205,82,201,129,191,201,4,3,77,28,136,232,200,14,34,229,61,36,86,109,100,130,78,214,66,114,129,192,145,0,249,77,205,82,201,129])};function u(d,h){return i(Buffer.concat([e.TAGGED_HASH_PREFIXES[d],h]))}e.taggedHash=u})(al)),al}var il,gg;function J3(){if(gg)return il;gg=1;function e(t){if(t.length>=255)throw new TypeError("Alphabet too long");for(var n=new Uint8Array(256),r=0;r<n.length;r++)n[r]=255;for(var a=0;a<t.length;a++){var o=t.charAt(a),i=o.charCodeAt(0);if(n[i]!==255)throw new TypeError(o+" is ambiguous");n[i]=a}var s=t.length,c=t.charAt(0),u=Math.log(s)/Math.log(256),d=Math.log(256)/Math.log(s);function h(g){if(g instanceof Uint8Array||(ArrayBuffer.isView(g)?g=new Uint8Array(g.buffer,g.byteOffset,g.byteLength):Array.isArray(g)&&(g=Uint8Array.from(g))),!(g instanceof Uint8Array))throw new TypeError("Expected Uint8Array");if(g.length===0)return"";for(var b=0,y=0,_=0,k=g.length;_!==k&&g[_]===0;)_++,b++;for(var w=(k-_)*d+1>>>0,v=new Uint8Array(w);_!==k;){for(var A=g[_],T=0,I=w-1;(A!==0||T<y)&&I!==-1;I--,T++)A+=256*v[I]>>>0,v[I]=A%s>>>0,A=A/s>>>0;if(A!==0)throw new Error("Non-zero carry");y=T,_++}for(var z=w-y;z!==w&&v[z]===0;)z++;for(var S=c.repeat(b);z<w;++z)S+=t.charAt(v[z]);return S}function f(g){if(typeof g!="string")throw new TypeError("Expected String");if(g.length===0)return new Uint8Array;for(var b=0,y=0,_=0;g[b]===c;)y++,b++;for(var k=(g.length-b)*u+1>>>0,w=new Uint8Array(k);g[b];){var v=g.charCodeAt(b);if(v>255)return;var A=n[v];if(A===255)return;for(var T=0,I=k-1;(A!==0||T<_)&&I!==-1;I--,T++)A+=s*w[I]>>>0,w[I]=A%256>>>0,A=A/256>>>0;if(A!==0)throw new Error("Non-zero carry");_=T,b++}for(var z=k-_;z!==k&&w[z]===0;)z++;for(var S=new Uint8Array(y+(k-z)),B=y;z!==k;)S[B++]=w[z++];return S}function l(g){var b=f(g);if(b)return b;throw new Error("Non-base"+s+" character")}return{encode:h,decodeUnsafe:f,decode:l}}return il=e,il}var sl,yg;function Q3(){return yg||(yg=1,sl=J3()("123456789ABCDEFGHJKLMNPQRSTUVWXYZabcdefghijkmnopqrstuvwxyz")),sl}var cl,bg;function eC(){if(bg)return cl;bg=1;var e=Q3();return cl=function(t){function n(i){var s=Uint8Array.from(i),c=t(s),u=s.length+4,d=new Uint8Array(u);return d.set(s,0),d.set(c.subarray(0,4),s.length),e.encode(d,u)}function r(i){var s=i.slice(0,-4),c=i.slice(-4),u=t(s);if(!(c[0]^u[0]|c[1]^u[1]|c[2]^u[2]|c[3]^u[3]))return s}function a(i){var s=e.decodeUnsafe(i);if(s)return r(s)}function o(i){var s=e.decode(i),c=r(s);if(!c)throw new Error("Invalid checksum");return c}return{encode:n,decode:o,decodeUnsafe:a}},cl}var ul,wg;function _f(){if(wg)return ul;wg=1;var{sha256:e}=a_(),t=eC();function n(r){return e(e(r))}return ul=t(n),ul}var kg;function tC(){if(kg)return Za;kg=1,Object.defineProperty(Za,"__esModule",{value:!0}),Za.p2pkh=void 0;const e=Un(),t=nn(),n=It(),r=ht(),a=wr(),o=_f(),i=n.OPS;function s(c,u){if(!c.address&&!c.hash&&!c.output&&!c.pubkey&&!c.input)throw new TypeError("Not enough data");u=Object.assign({validate:!0},u||{}),(0,r.typeforce)({network:r.typeforce.maybe(r.typeforce.Object),address:r.typeforce.maybe(r.typeforce.String),hash:r.typeforce.maybe(r.typeforce.BufferN(20)),output:r.typeforce.maybe(r.typeforce.BufferN(25)),pubkey:r.typeforce.maybe(r.isPoint),signature:r.typeforce.maybe(n.isCanonicalScriptSignature),input:r.typeforce.maybe(r.typeforce.Buffer)},c);const d=a.value(()=>{const g=Buffer.from(o.decode(c.address)),b=g.readUInt8(0),y=g.slice(1);return{version:b,hash:y}}),h=a.value(()=>n.decompile(c.input)),f=c.network||t.bitcoin,l={name:"p2pkh",network:f};if(a.prop(l,"address",()=>{if(!l.hash)return;const g=Buffer.allocUnsafe(21);return g.writeUInt8(f.pubKeyHash,0),l.hash.copy(g,1),o.encode(g)}),a.prop(l,"hash",()=>{if(c.output)return c.output.slice(3,23);if(c.address)return d().hash;if(c.pubkey||l.pubkey)return e.hash160(c.pubkey||l.pubkey)}),a.prop(l,"output",()=>{if(l.hash)return n.compile([i.OP_DUP,i.OP_HASH160,l.hash,i.OP_EQUALVERIFY,i.OP_CHECKSIG])}),a.prop(l,"pubkey",()=>{if(c.input)return h()[1]}),a.prop(l,"signature",()=>{if(c.input)return h()[0]}),a.prop(l,"input",()=>{if(c.pubkey&&c.signature)return n.compile([c.signature,c.pubkey])}),a.prop(l,"witness",()=>{if(l.input)return[]}),u.validate){let g=Buffer.from([]);if(c.address){if(d().version!==f.pubKeyHash)throw new TypeError("Invalid version or Network mismatch");if(d().hash.length!==20)throw new TypeError("Invalid address");g=d().hash}if(c.hash){if(g.length>0&&!g.equals(c.hash))throw new TypeError("Hash mismatch");g=c.hash}if(c.output){if(c.output.length!==25||c.output[0]!==i.OP_DUP||c.output[1]!==i.OP_HASH160||c.output[2]!==20||c.output[23]!==i.OP_EQUALVERIFY||c.output[24]!==i.OP_CHECKSIG)throw new TypeError("Output is invalid");const b=c.output.slice(3,23);if(g.length>0&&!g.equals(b))throw new TypeError("Hash mismatch");g=b}if(c.pubkey){const b=e.hash160(c.pubkey);if(g.length>0&&!g.equals(b))throw new TypeError("Hash mismatch");g=b}if(c.input){const b=h();if(b.length!==2)throw new TypeError("Input is invalid");if(!n.isCanonicalScriptSignature(b[0]))throw new TypeError("Input has invalid signature");if(!(0,r.isPoint)(b[1]))throw new TypeError("Input has invalid pubkey");if(c.signature&&!c.signature.equals(b[0]))throw new TypeError("Signature mismatch");if(c.pubkey&&!c.pubkey.equals(b[1]))throw new TypeError("Pubkey mismatch");const y=e.hash160(b[1]);if(g.length>0&&!g.equals(y))throw new TypeError("Hash mismatch")}}return Object.assign(l,c)}return Za.p2pkh=s,Za}var Ja={},_g;function nC(){if(_g)return Ja;_g=1,Object.defineProperty(Ja,"__esModule",{value:!0}),Ja.p2sh=void 0;const e=Un(),t=nn(),n=It(),r=ht(),a=wr(),o=_f(),i=n.OPS;function s(u,d){return u.length!==d.length?!1:u.every((h,f)=>h.equals(d[f]))}function c(u,d){if(!u.address&&!u.hash&&!u.output&&!u.redeem&&!u.input)throw new TypeError("Not enough data");d=Object.assign({validate:!0},d||{}),(0,r.typeforce)({network:r.typeforce.maybe(r.typeforce.Object),address:r.typeforce.maybe(r.typeforce.String),hash:r.typeforce.maybe(r.typeforce.BufferN(20)),output:r.typeforce.maybe(r.typeforce.BufferN(23)),redeem:r.typeforce.maybe({network:r.typeforce.maybe(r.typeforce.Object),output:r.typeforce.maybe(r.typeforce.Buffer),input:r.typeforce.maybe(r.typeforce.Buffer),witness:r.typeforce.maybe(r.typeforce.arrayOf(r.typeforce.Buffer))}),input:r.typeforce.maybe(r.typeforce.Buffer),witness:r.typeforce.maybe(r.typeforce.arrayOf(r.typeforce.Buffer))},u);let h=u.network;h||(h=u.redeem&&u.redeem.network||t.bitcoin);const f={network:h},l=a.value(()=>{const y=Buffer.from(o.decode(u.address)),_=y.readUInt8(0),k=y.slice(1);return{version:_,hash:k}}),g=a.value(()=>n.decompile(u.input)),b=a.value(()=>{const y=g(),_=y[y.length-1];return{network:h,output:_===i.OP_FALSE?Buffer.from([]):_,input:n.compile(y.slice(0,-1)),witness:u.witness||[]}});if(a.prop(f,"address",()=>{if(!f.hash)return;const y=Buffer.allocUnsafe(21);return y.writeUInt8(f.network.scriptHash,0),f.hash.copy(y,1),o.encode(y)}),a.prop(f,"hash",()=>{if(u.output)return u.output.slice(2,22);if(u.address)return l().hash;if(f.redeem&&f.redeem.output)return e.hash160(f.redeem.output)}),a.prop(f,"output",()=>{if(f.hash)return n.compile([i.OP_HASH160,f.hash,i.OP_EQUAL])}),a.prop(f,"redeem",()=>{if(u.input)return b()}),a.prop(f,"input",()=>{if(!(!u.redeem||!u.redeem.input||!u.redeem.output))return n.compile([].concat(n.decompile(u.redeem.input),u.redeem.output))}),a.prop(f,"witness",()=>{if(f.redeem&&f.redeem.witness)return f.redeem.witness;if(f.input)return[]}),a.prop(f,"name",()=>{const y=["p2sh"];return f.redeem!==void 0&&f.redeem.name!==void 0&&y.push(f.redeem.name),y.join("-")}),d.validate){let y=Buffer.from([]);if(u.address){if(l().version!==h.scriptHash)throw new TypeError("Invalid version or Network mismatch");if(l().hash.length!==20)throw new TypeError("Invalid address");y=l().hash}if(u.hash){if(y.length>0&&!y.equals(u.hash))throw new TypeError("Hash mismatch");y=u.hash}if(u.output){if(u.output.length!==23||u.output[0]!==i.OP_HASH160||u.output[1]!==20||u.output[22]!==i.OP_EQUAL)throw new TypeError("Output is invalid");const k=u.output.slice(2,22);if(y.length>0&&!y.equals(k))throw new TypeError("Hash mismatch");y=k}const _=k=>{if(k.output){const w=n.decompile(k.output);if(!w||w.length<1)throw new TypeError("Redeem.output too short");if(k.output.byteLength>520)throw new TypeError("Redeem.output unspendable if larger than 520 bytes");if(n.countNonPushOnlyOPs(w)>201)throw new TypeError("Redeem.output unspendable with more than 201 non-push ops");const v=e.hash160(k.output);if(y.length>0&&!y.equals(v))throw new TypeError("Hash mismatch");y=v}if(k.input){const w=k.input.length>0,v=k.witness&&k.witness.length>0;if(!w&&!v)throw new TypeError("Empty input");if(w&&v)throw new TypeError("Input and witness provided");if(w){const A=n.decompile(k.input);if(!n.isPushOnly(A))throw new TypeError("Non push-only scriptSig")}}};if(u.input){const k=g();if(!k||k.length<1)throw new TypeError("Input too short");if(!Buffer.isBuffer(b().output))throw new TypeError("Input is invalid");_(b())}if(u.redeem){if(u.redeem.network&&u.redeem.network!==h)throw new TypeError("Network mismatch");if(u.input){const k=b();if(u.redeem.output&&!u.redeem.output.equals(k.output))throw new TypeError("Redeem.output mismatch");if(u.redeem.input&&!u.redeem.input.equals(k.input))throw new TypeError("Redeem.input mismatch")}_(u.redeem)}if(u.witness&&u.redeem&&u.redeem.witness&&!s(u.redeem.witness,u.witness))throw new TypeError("Witness and redeem.witness mismatch")}return Object.assign(f,u)}return Ja.p2sh=c,Ja}var Qa={},Tr={},vg;function Ws(){if(vg)return Tr;vg=1,Object.defineProperty(Tr,"__esModule",{value:!0}),Tr.bech32m=Tr.bech32=void 0;const e="qpzry9x8gf2tvdw0s3jn54khce6mua7l",t={};for(let u=0;u<e.length;u++){const d=e.charAt(u);t[d]=u}function n(u){const d=u>>25;return(u&33554431)<<5^-(d>>0&1)&996825010^-(d>>1&1)&642813549^-(d>>2&1)&513874426^-(d>>3&1)&1027748829^-(d>>4&1)&705979059}function r(u){let d=1;for(let h=0;h<u.length;++h){const f=u.charCodeAt(h);if(f<33||f>126)return"Invalid prefix ("+u+")";d=n(d)^f>>5}d=n(d);for(let h=0;h<u.length;++h){const f=u.charCodeAt(h);d=n(d)^f&31}return d}function a(u,d,h,f){let l=0,g=0;const b=(1<<h)-1,y=[];for(let _=0;_<u.length;++_)for(l=l<<d|u[_],g+=d;g>=h;)g-=h,y.push(l>>g&b);if(f)g>0&&y.push(l<<h-g&b);else{if(g>=d)return"Excess padding";if(l<<h-g&b)return"Non-zero padding"}return y}function o(u){return a(u,8,5,!0)}function i(u){const d=a(u,5,8,!1);if(Array.isArray(d))return d}function s(u){const d=a(u,5,8,!1);if(Array.isArray(d))return d;throw new Error(d)}function c(u){let d;u==="bech32"?d=1:d=734539939;function h(b,y,_){if(_=_||90,b.length+7+y.length>_)throw new TypeError("Exceeds length limit");b=b.toLowerCase();let k=r(b);if(typeof k=="string")throw new Error(k);let w=b+"1";for(let v=0;v<y.length;++v){const A=y[v];if(A>>5!==0)throw new Error("Non 5-bit word");k=n(k)^A,w+=e.charAt(A)}for(let v=0;v<6;++v)k=n(k);k^=d;for(let v=0;v<6;++v){const A=k>>(5-v)*5&31;w+=e.charAt(A)}return w}function f(b,y){if(y=y||90,b.length<8)return b+" too short";if(b.length>y)return"Exceeds length limit";const _=b.toLowerCase(),k=b.toUpperCase();if(b!==_&&b!==k)return"Mixed-case string "+b;b=_;const w=b.lastIndexOf("1");if(w===-1)return"No separator character for "+b;if(w===0)return"Missing prefix for "+b;const v=b.slice(0,w),A=b.slice(w+1);if(A.length<6)return"Data too short";let T=r(v);if(typeof T=="string")return T;const I=[];for(let z=0;z<A.length;++z){const S=A.charAt(z),B=t[S];if(B===void 0)return"Unknown character "+S;T=n(T)^B,!(z+6>=A.length)&&I.push(B)}return T!==d?"Invalid checksum for "+b:{prefix:v,words:I}}function l(b,y){const _=f(b,y);if(typeof _=="object")return _}function g(b,y){const _=f(b,y);if(typeof _=="object")return _;throw new Error(_)}return{decodeUnsafe:l,decode:g,encode:h,toWords:o,fromWordsUnsafe:i,fromWords:s}}return Tr.bech32=c("bech32"),Tr.bech32m=c("bech32m"),Tr}var Eg;function rC(){if(Eg)return Qa;Eg=1,Object.defineProperty(Qa,"__esModule",{value:!0}),Qa.p2wpkh=void 0;const e=Un(),t=nn(),n=It(),r=ht(),a=wr(),o=Ws(),i=n.OPS,s=Buffer.alloc(0);function c(u,d){if(!u.address&&!u.hash&&!u.output&&!u.pubkey&&!u.witness)throw new TypeError("Not enough data");d=Object.assign({validate:!0},d||{}),(0,r.typeforce)({address:r.typeforce.maybe(r.typeforce.String),hash:r.typeforce.maybe(r.typeforce.BufferN(20)),input:r.typeforce.maybe(r.typeforce.BufferN(0)),network:r.typeforce.maybe(r.typeforce.Object),output:r.typeforce.maybe(r.typeforce.BufferN(22)),pubkey:r.typeforce.maybe(r.isPoint),signature:r.typeforce.maybe(n.isCanonicalScriptSignature),witness:r.typeforce.maybe(r.typeforce.arrayOf(r.typeforce.Buffer))},u);const h=a.value(()=>{const g=o.bech32.decode(u.address),b=g.words.shift(),y=o.bech32.fromWords(g.words);return{version:b,prefix:g.prefix,data:Buffer.from(y)}}),f=u.network||t.bitcoin,l={name:"p2wpkh",network:f};if(a.prop(l,"address",()=>{if(!l.hash)return;const g=o.bech32.toWords(l.hash);return g.unshift(0),o.bech32.encode(f.bech32,g)}),a.prop(l,"hash",()=>{if(u.output)return u.output.slice(2,22);if(u.address)return h().data;if(u.pubkey||l.pubkey)return e.hash160(u.pubkey||l.pubkey)}),a.prop(l,"output",()=>{if(l.hash)return n.compile([i.OP_0,l.hash])}),a.prop(l,"pubkey",()=>{if(u.pubkey)return u.pubkey;if(u.witness)return u.witness[1]}),a.prop(l,"signature",()=>{if(u.witness)return u.witness[0]}),a.prop(l,"input",()=>{if(l.witness)return s}),a.prop(l,"witness",()=>{if(u.pubkey&&u.signature)return[u.signature,u.pubkey]}),d.validate){let g=Buffer.from([]);if(u.address){if(f&&f.bech32!==h().prefix)throw new TypeError("Invalid prefix or Network mismatch");if(h().version!==0)throw new TypeError("Invalid address version");if(h().data.length!==20)throw new TypeError("Invalid address data");g=h().data}if(u.hash){if(g.length>0&&!g.equals(u.hash))throw new TypeError("Hash mismatch");g=u.hash}if(u.output){if(u.output.length!==22||u.output[0]!==i.OP_0||u.output[1]!==20)throw new TypeError("Output is invalid");if(g.length>0&&!g.equals(u.output.slice(2)))throw new TypeError("Hash mismatch");g=u.output.slice(2)}if(u.pubkey){const b=e.hash160(u.pubkey);if(g.length>0&&!g.equals(b))throw new TypeError("Hash mismatch");if(g=b,!(0,r.isPoint)(u.pubkey)||u.pubkey.length!==33)throw new TypeError("Invalid pubkey for p2wpkh")}if(u.witness){if(u.witness.length!==2)throw new TypeError("Witness is invalid");if(!n.isCanonicalScriptSignature(u.witness[0]))throw new TypeError("Witness has invalid signature");if(!(0,r.isPoint)(u.witness[1])||u.witness[1].length!==33)throw new TypeError("Witness has invalid pubkey");if(u.signature&&!u.signature.equals(u.witness[0]))throw new TypeError("Signature mismatch");if(u.pubkey&&!u.pubkey.equals(u.witness[1]))throw new TypeError("Pubkey mismatch");const b=e.hash160(u.witness[1]);if(g.length>0&&!g.equals(b))throw new TypeError("Hash mismatch")}}return Object.assign(l,u)}return Qa.p2wpkh=c,Qa}var eo={},Ag;function aC(){if(Ag)return eo;Ag=1,Object.defineProperty(eo,"__esModule",{value:!0}),eo.p2wsh=void 0;const e=Un(),t=nn(),n=It(),r=ht(),a=wr(),o=Ws(),i=n.OPS,s=Buffer.alloc(0);function c(h,f){return h.length!==f.length?!1:h.every((l,g)=>l.equals(f[g]))}function u(h){return!!(Buffer.isBuffer(h)&&h.length===65&&h[0]===4&&(0,r.isPoint)(h))}function d(h,f){if(!h.address&&!h.hash&&!h.output&&!h.redeem&&!h.witness)throw new TypeError("Not enough data");f=Object.assign({validate:!0},f||{}),(0,r.typeforce)({network:r.typeforce.maybe(r.typeforce.Object),address:r.typeforce.maybe(r.typeforce.String),hash:r.typeforce.maybe(r.typeforce.BufferN(32)),output:r.typeforce.maybe(r.typeforce.BufferN(34)),redeem:r.typeforce.maybe({input:r.typeforce.maybe(r.typeforce.Buffer),network:r.typeforce.maybe(r.typeforce.Object),output:r.typeforce.maybe(r.typeforce.Buffer),witness:r.typeforce.maybe(r.typeforce.arrayOf(r.typeforce.Buffer))}),input:r.typeforce.maybe(r.typeforce.BufferN(0)),witness:r.typeforce.maybe(r.typeforce.arrayOf(r.typeforce.Buffer))},h);const l=a.value(()=>{const _=o.bech32.decode(h.address),k=_.words.shift(),w=o.bech32.fromWords(_.words);return{version:k,prefix:_.prefix,data:Buffer.from(w)}}),g=a.value(()=>n.decompile(h.redeem.input));let b=h.network;b||(b=h.redeem&&h.redeem.network||t.bitcoin);const y={network:b};if(a.prop(y,"address",()=>{if(!y.hash)return;const _=o.bech32.toWords(y.hash);return _.unshift(0),o.bech32.encode(b.bech32,_)}),a.prop(y,"hash",()=>{if(h.output)return h.output.slice(2);if(h.address)return l().data;if(y.redeem&&y.redeem.output)return e.sha256(y.redeem.output)}),a.prop(y,"output",()=>{if(y.hash)return n.compile([i.OP_0,y.hash])}),a.prop(y,"redeem",()=>{if(h.witness)return{output:h.witness[h.witness.length-1],input:s,witness:h.witness.slice(0,-1)}}),a.prop(y,"input",()=>{if(y.witness)return s}),a.prop(y,"witness",()=>{if(h.redeem&&h.redeem.input&&h.redeem.input.length>0&&h.redeem.output&&h.redeem.output.length>0){const _=n.toStack(g());return y.redeem=Object.assign({witness:_},h.redeem),y.redeem.input=s,[].concat(_,h.redeem.output)}if(h.redeem&&h.redeem.output&&h.redeem.witness)return[].concat(h.redeem.witness,h.redeem.output)}),a.prop(y,"name",()=>{const _=["p2wsh"];return y.redeem!==void 0&&y.redeem.name!==void 0&&_.push(y.redeem.name),_.join("-")}),f.validate){let _=Buffer.from([]);if(h.address){if(l().prefix!==b.bech32)throw new TypeError("Invalid prefix or Network mismatch");if(l().version!==0)throw new TypeError("Invalid address version");if(l().data.length!==32)throw new TypeError("Invalid address data");_=l().data}if(h.hash){if(_.length>0&&!_.equals(h.hash))throw new TypeError("Hash mismatch");_=h.hash}if(h.output){if(h.output.length!==34||h.output[0]!==i.OP_0||h.output[1]!==32)throw new TypeError("Output is invalid");const k=h.output.slice(2);if(_.length>0&&!_.equals(k))throw new TypeError("Hash mismatch");_=k}if(h.redeem){if(h.redeem.network&&h.redeem.network!==b)throw new TypeError("Network mismatch");if(h.redeem.input&&h.redeem.input.length>0&&h.redeem.witness&&h.redeem.witness.length>0)throw new TypeError("Ambiguous witness source");if(h.redeem.output){const k=n.decompile(h.redeem.output);if(!k||k.length<1)throw new TypeError("Redeem.output is invalid");if(h.redeem.output.byteLength>3600)throw new TypeError("Redeem.output unspendable if larger than 3600 bytes");if(n.countNonPushOnlyOPs(k)>201)throw new TypeError("Redeem.output unspendable with more than 201 non-push ops");const w=e.sha256(h.redeem.output);if(_.length>0&&!_.equals(w))throw new TypeError("Hash mismatch");_=w}if(h.redeem.input&&!n.isPushOnly(g()))throw new TypeError("Non push-only scriptSig");if(h.witness&&h.redeem.witness&&!c(h.witness,h.redeem.witness))throw new TypeError("Witness and redeem.witness mismatch");if(h.redeem.input&&g().some(u)||h.redeem.output&&(n.decompile(h.redeem.output)||[]).some(u))throw new TypeError("redeem.input or redeem.output contains uncompressed pubkey")}if(h.witness&&h.witness.length>0){const k=h.witness[h.witness.length-1];if(h.redeem&&h.redeem.output&&!h.redeem.output.equals(k))throw new TypeError("Witness and redeem.output mismatch");if(h.witness.some(u)||(n.decompile(k)||[]).some(u))throw new TypeError("Witness contains uncompressed pubkey")}}return Object.assign(y,h)}return eo.p2wsh=d,eo}var to={},Ir={},Sg;function vf(){if(Sg)return Ir;Sg=1,Object.defineProperty(Ir,"__esModule",{value:!0}),Ir.getEccLib=Ir.initEccLib=void 0;const e={};function t(s){s?s!==e.eccLib&&(a(s),e.eccLib=s):e.eccLib=s}Ir.initEccLib=t;function n(){if(!e.eccLib)throw new Error("No ECC Library provided. You must call initEccLib() with a valid TinySecp256k1Interface instance");return e.eccLib}Ir.getEccLib=n;const r=s=>Buffer.from(s,"hex");function a(s){o(typeof s.isXOnlyPoint=="function"),o(s.isXOnlyPoint(r("79be667ef9dcbbac55a06295ce870b07029bfcdb2dce28d959f2815b16f81798"))),o(s.isXOnlyPoint(r("fffffffffffffffffffffffffffffffffffffffffffffffffffffffeeffffc2e"))),o(s.isXOnlyPoint(r("f9308a019258c31049344f85f89d5229b531c845836f99b08601f113bce036f9"))),o(s.isXOnlyPoint(r("0000000000000000000000000000000000000000000000000000000000000001"))),o(!s.isXOnlyPoint(r("0000000000000000000000000000000000000000000000000000000000000000"))),o(!s.isXOnlyPoint(r("fffffffffffffffffffffffffffffffffffffffffffffffffffffffefffffc2f"))),o(typeof s.xOnlyPointAddTweak=="function"),i.forEach(c=>{const u=s.xOnlyPointAddTweak(r(c.pubkey),r(c.tweak));c.result===null?o(u===null):(o(u!==null),o(u.parity===c.parity),o(Buffer.from(u.xOnlyPubkey).equals(r(c.result))))})}function o(s){if(!s)throw new Error("ecc library invalid")}const i=[{pubkey:"79be667ef9dcbbac55a06295ce870b07029bfcdb2dce28d959f2815b16f81798",tweak:"fffffffffffffffffffffffffffffffebaaedce6af48a03bbfd25e8cd0364140",parity:-1,result:null},{pubkey:"1617d38ed8d8657da4d4761e8057bc396ea9e4b9d29776d4be096016dbd2509b",tweak:"a8397a935f0dfceba6ba9618f6451ef4d80637abf4e6af2669fbc9de6a8fd2ac",parity:1,result:"e478f99dab91052ab39a33ea35fd5e6e4933f4d28023cd597c9a1f6760346adf"},{pubkey:"2c0b7cf95324a07d05398b240174dc0c2be444d96b159aa6c7f7b1e668680991",tweak:"823c3cd2142744b075a87eade7e1b8678ba308d566226a0056ca2b7a76f86b47",parity:0,result:"9534f8dc8c6deda2dc007655981c78b49c5d96c778fbf363462a11ec9dfd948c"}];return Ir}var ll={},it={},Ui={exports:{}};/*! safe-buffer. MIT License. Feross Aboukhadijeh <https://feross.org/opensource> */var jg;function oC(){return jg||(jg=1,(function(e,t){var n=Gs(),r=n.Buffer;function a(i,s){for(var c in i)s[c]=i[c]}r.from&&r.alloc&&r.allocUnsafe&&r.allocUnsafeSlow?e.exports=n:(a(n,t),t.Buffer=o);function o(i,s,c){return r(i,s,c)}o.prototype=Object.create(r.prototype),a(r,o),o.from=function(i,s,c){if(typeof i=="number")throw new TypeError("Argument must not be a number");return r(i,s,c)},o.alloc=function(i,s,c){if(typeof i!="number")throw new TypeError("Argument must be a number");var u=r(i);return s!==void 0?typeof c=="string"?u.fill(s,c):u.fill(s):u.fill(0),u},o.allocUnsafe=function(i){if(typeof i!="number")throw new TypeError("Argument must be a number");return r(i)},o.allocUnsafeSlow=function(i){if(typeof i!="number")throw new TypeError("Argument must be a number");return n.SlowBuffer(i)}})(Ui,Ui.exports)),Ui.exports}var dl,xg;function iC(){if(xg)return dl;xg=1;var e=oC().Buffer,t=9007199254740991;function n(i){if(i<0||i>t||i%1!==0)throw new RangeError("value out of range")}function r(i,s,c){if(n(i),s||(s=e.allocUnsafe(o(i))),!e.isBuffer(s))throw new TypeError("buffer must be a Buffer instance");return c||(c=0),i<253?(s.writeUInt8(i,c),r.bytes=1):i<=65535?(s.writeUInt8(253,c),s.writeUInt16LE(i,c+1),r.bytes=3):i<=4294967295?(s.writeUInt8(254,c),s.writeUInt32LE(i,c+1),r.bytes=5):(s.writeUInt8(255,c),s.writeUInt32LE(i>>>0,c+1),s.writeUInt32LE(i/4294967296|0,c+5),r.bytes=9),s}function a(i,s){if(!e.isBuffer(i))throw new TypeError("buffer must be a Buffer instance");s||(s=0);var c=i.readUInt8(s);if(c<253)return a.bytes=1,c;if(c===253)return a.bytes=3,i.readUInt16LE(s+1);if(c===254)return a.bytes=5,i.readUInt32LE(s+1);a.bytes=9;var u=i.readUInt32LE(s+1),d=i.readUInt32LE(s+5),h=d*4294967296+u;return n(h),h}function o(i){return n(i),i<253?1:i<=65535?3:i<=4294967295?5:9}return dl={encode:r,decode:a,encodingLength:o},dl}var Tg;function Xs(){if(Tg)return it;Tg=1,Object.defineProperty(it,"__esModule",{value:!0}),it.BufferReader=it.BufferWriter=it.cloneBuffer=it.reverseBuffer=it.writeUInt64LE=it.readUInt64LE=it.varuint=void 0;const e=ht(),{typeforce:t}=e,n=iC();it.varuint=n;function r(d,h){if(typeof d!="number")throw new Error("cannot write a non-number as a number");if(d<0)throw new Error("specified a negative value for writing an unsigned value");if(d>h)throw new Error("RangeError: value out of range");if(Math.floor(d)!==d)throw new Error("value has a fractional component")}function a(d,h){const f=d.readUInt32LE(h);let l=d.readUInt32LE(h+4);return l*=4294967296,r(l+f,9007199254740991),l+f}it.readUInt64LE=a;function o(d,h,f){return r(h,9007199254740991),d.writeInt32LE(h&-1,f),d.writeUInt32LE(Math.floor(h/4294967296),f+4),f+8}it.writeUInt64LE=o;function i(d){if(d.length<1)return d;let h=d.length-1,f=0;for(let l=0;l<d.length/2;l++)f=d[l],d[l]=d[h],d[h]=f,h--;return d}it.reverseBuffer=i;function s(d){const h=Buffer.allocUnsafe(d.length);return d.copy(h),h}it.cloneBuffer=s;class c{static withCapacity(h){return new c(Buffer.alloc(h))}constructor(h,f=0){this.buffer=h,this.offset=f,t(e.tuple(e.Buffer,e.UInt32),[h,f])}writeUInt8(h){this.offset=this.buffer.writeUInt8(h,this.offset)}writeInt32(h){this.offset=this.buffer.writeInt32LE(h,this.offset)}writeUInt32(h){this.offset=this.buffer.writeUInt32LE(h,this.offset)}writeUInt64(h){this.offset=o(this.buffer,h,this.offset)}writeVarInt(h){n.encode(h,this.buffer,this.offset),this.offset+=n.encode.bytes}writeSlice(h){if(this.buffer.length<this.offset+h.length)throw new Error("Cannot write slice out of bounds");this.offset+=h.copy(this.buffer,this.offset)}writeVarSlice(h){this.writeVarInt(h.length),this.writeSlice(h)}writeVector(h){this.writeVarInt(h.length),h.forEach(f=>this.writeVarSlice(f))}end(){if(this.buffer.length===this.offset)return this.buffer;throw new Error(`buffer size ${this.buffer.length}, offset ${this.offset}`)}}it.BufferWriter=c;class u{constructor(h,f=0){this.buffer=h,this.offset=f,t(e.tuple(e.Buffer,e.UInt32),[h,f])}readUInt8(){const h=this.buffer.readUInt8(this.offset);return this.offset++,h}readInt32(){const h=this.buffer.readInt32LE(this.offset);return this.offset+=4,h}readUInt32(){const h=this.buffer.readUInt32LE(this.offset);return this.offset+=4,h}readUInt64(){const h=a(this.buffer,this.offset);return this.offset+=8,h}readVarInt(){const h=n.decode(this.buffer,this.offset);return this.offset+=n.decode.bytes,h}readSlice(h){if(this.buffer.length<this.offset+h)throw new Error("Cannot read slice out of bounds");const f=this.buffer.slice(this.offset,this.offset+h);return this.offset+=h,f}readVarSlice(){return this.readSlice(this.readVarInt())}readVector(){const h=this.readVarInt(),f=[];for(let l=0;l<h;l++)f.push(this.readVarSlice());return f}}return it.BufferReader=u,it}var Ig;function Ef(){return Ig||(Ig=1,(function(e){Object.defineProperty(e,"__esModule",{value:!0}),e.tweakKey=e.tapTweakHash=e.tapleafHash=e.findScriptPath=e.toHashTree=e.rootHashFromPath=e.MAX_TAPTREE_DEPTH=e.LEAF_VERSION_TAPSCRIPT=void 0;const t=Gs(),n=vf(),r=Un(),a=Xs(),o=ht();e.LEAF_VERSION_TAPSCRIPT=192,e.MAX_TAPTREE_DEPTH=128;const i=b=>"left"in b&&"right"in b;function s(b,y){if(b.length<33)throw new TypeError(`The control-block length is too small. Got ${b.length}, expected min 33.`);const _=(b.length-33)/32;let k=y;for(let w=0;w<_;w++){const v=b.slice(33+32*w,65+32*w);k.compare(v)<0?k=l(k,v):k=l(v,k)}return k}e.rootHashFromPath=s;function c(b){if((0,o.isTapleaf)(b))return{hash:d(b)};const y=[c(b[0]),c(b[1])];y.sort((w,v)=>w.hash.compare(v.hash));const[_,k]=y;return{hash:l(_.hash,k.hash),left:_,right:k}}e.toHashTree=c;function u(b,y){if(i(b)){const _=u(b.left,y);if(_!==void 0)return[..._,b.right.hash];const k=u(b.right,y);if(k!==void 0)return[...k,b.left.hash]}else if(b.hash.equals(y))return[]}e.findScriptPath=u;function d(b){const y=b.version||e.LEAF_VERSION_TAPSCRIPT;return r.taggedHash("TapLeaf",t.Buffer.concat([t.Buffer.from([y]),g(b.output)]))}e.tapleafHash=d;function h(b,y){return r.taggedHash("TapTweak",t.Buffer.concat(y?[b,y]:[b]))}e.tapTweakHash=h;function f(b,y){if(!t.Buffer.isBuffer(b)||b.length!==32||y&&y.length!==32)return null;const _=h(b,y),k=(0,n.getEccLib)().xOnlyPointAddTweak(b,_);return!k||k.xOnlyPubkey===null?null:{parity:k.parity,x:t.Buffer.from(k.xOnlyPubkey)}}e.tweakKey=f;function l(b,y){return r.taggedHash("TapBranch",t.Buffer.concat([b,y]))}function g(b){const y=a.varuint.encodingLength(b.length),_=t.Buffer.allocUnsafe(y);return a.varuint.encode(b.length,_),t.Buffer.concat([_,b])}})(ll)),ll}var Cg;function sC(){if(Cg)return to;Cg=1,Object.defineProperty(to,"__esModule",{value:!0}),to.p2tr=void 0;const e=Gs(),t=nn(),n=It(),r=ht(),a=vf(),o=Ef(),i=wr(),s=Ws(),c=n.OPS,u=1,d=80;function h(l,g){if(!l.address&&!l.output&&!l.pubkey&&!l.internalPubkey&&!(l.witness&&l.witness.length>1))throw new TypeError("Not enough data");g=Object.assign({validate:!0},g||{}),(0,r.typeforce)({address:r.typeforce.maybe(r.typeforce.String),input:r.typeforce.maybe(r.typeforce.BufferN(0)),network:r.typeforce.maybe(r.typeforce.Object),output:r.typeforce.maybe(r.typeforce.BufferN(34)),internalPubkey:r.typeforce.maybe(r.typeforce.BufferN(32)),hash:r.typeforce.maybe(r.typeforce.BufferN(32)),pubkey:r.typeforce.maybe(r.typeforce.BufferN(32)),signature:r.typeforce.maybe(r.typeforce.anyOf(r.typeforce.BufferN(64),r.typeforce.BufferN(65))),witness:r.typeforce.maybe(r.typeforce.arrayOf(r.typeforce.Buffer)),scriptTree:r.typeforce.maybe(r.isTaptree),redeem:r.typeforce.maybe({output:r.typeforce.maybe(r.typeforce.Buffer),redeemVersion:r.typeforce.maybe(r.typeforce.Number),witness:r.typeforce.maybe(r.typeforce.arrayOf(r.typeforce.Buffer))}),redeemVersion:r.typeforce.maybe(r.typeforce.Number)},l);const b=i.value(()=>{const v=s.bech32m.decode(l.address),A=v.words.shift(),T=s.bech32m.fromWords(v.words);return{version:A,prefix:v.prefix,data:e.Buffer.from(T)}}),y=i.value(()=>{if(!(!l.witness||!l.witness.length))return l.witness.length>=2&&l.witness[l.witness.length-1][0]===d?l.witness.slice(0,-1):l.witness.slice()}),_=i.value(()=>{if(l.scriptTree)return(0,o.toHashTree)(l.scriptTree);if(l.hash)return{hash:l.hash}}),k=l.network||t.bitcoin,w={name:"p2tr",network:k};if(i.prop(w,"address",()=>{if(!w.pubkey)return;const v=s.bech32m.toWords(w.pubkey);return v.unshift(u),s.bech32m.encode(k.bech32,v)}),i.prop(w,"hash",()=>{const v=_();if(v)return v.hash;const A=y();if(A&&A.length>1){const T=A[A.length-1],I=T[0]&r.TAPLEAF_VERSION_MASK,z=A[A.length-2],S=(0,o.tapleafHash)({output:z,version:I});return(0,o.rootHashFromPath)(T,S)}return null}),i.prop(w,"output",()=>{if(w.pubkey)return n.compile([c.OP_1,w.pubkey])}),i.prop(w,"redeemVersion",()=>l.redeemVersion?l.redeemVersion:l.redeem&&l.redeem.redeemVersion!==void 0&&l.redeem.redeemVersion!==null?l.redeem.redeemVersion:o.LEAF_VERSION_TAPSCRIPT),i.prop(w,"redeem",()=>{const v=y();if(!(!v||v.length<2))return{output:v[v.length-2],witness:v.slice(0,-2),redeemVersion:v[v.length-1][0]&r.TAPLEAF_VERSION_MASK}}),i.prop(w,"pubkey",()=>{if(l.pubkey)return l.pubkey;if(l.output)return l.output.slice(2);if(l.address)return b().data;if(w.internalPubkey){const v=(0,o.tweakKey)(w.internalPubkey,w.hash);if(v)return v.x}}),i.prop(w,"internalPubkey",()=>{if(l.internalPubkey)return l.internalPubkey;const v=y();if(v&&v.length>1)return v[v.length-1].slice(1,33)}),i.prop(w,"signature",()=>{if(l.signature)return l.signature;const v=y();if(!(!v||v.length!==1))return v[0]}),i.prop(w,"witness",()=>{if(l.witness)return l.witness;const v=_();if(v&&l.redeem&&l.redeem.output&&l.internalPubkey){const A=(0,o.tapleafHash)({output:l.redeem.output,version:w.redeemVersion}),T=(0,o.findScriptPath)(v,A);if(!T)return;const I=(0,o.tweakKey)(l.internalPubkey,v.hash);if(!I)return;const z=e.Buffer.concat([e.Buffer.from([w.redeemVersion|I.parity]),l.internalPubkey].concat(T));return[l.redeem.output,z]}if(l.signature)return[l.signature]}),g.validate){let v=e.Buffer.from([]);if(l.address){if(k&&k.bech32!==b().prefix)throw new TypeError("Invalid prefix or Network mismatch");if(b().version!==u)throw new TypeError("Invalid address version");if(b().data.length!==32)throw new TypeError("Invalid address data");v=b().data}if(l.pubkey){if(v.length>0&&!v.equals(l.pubkey))throw new TypeError("Pubkey mismatch");v=l.pubkey}if(l.output){if(l.output.length!==34||l.output[0]!==c.OP_1||l.output[1]!==32)throw new TypeError("Output is invalid");if(v.length>0&&!v.equals(l.output.slice(2)))throw new TypeError("Pubkey mismatch");v=l.output.slice(2)}if(l.internalPubkey){const I=(0,o.tweakKey)(l.internalPubkey,w.hash);if(v.length>0&&!v.equals(I.x))throw new TypeError("Pubkey mismatch");v=I.x}if(v&&v.length&&!(0,a.getEccLib)().isXOnlyPoint(v))throw new TypeError("Invalid pubkey for p2tr");const A=_();if(l.hash&&A&&!l.hash.equals(A.hash))throw new TypeError("Hash mismatch");if(l.redeem&&l.redeem.output&&A){const I=(0,o.tapleafHash)({output:l.redeem.output,version:w.redeemVersion});if(!(0,o.findScriptPath)(A,I))throw new TypeError("Redeem script not in tree")}const T=y();if(l.redeem&&w.redeem){if(l.redeem.redeemVersion&&l.redeem.redeemVersion!==w.redeem.redeemVersion)throw new TypeError("Redeem.redeemVersion and witness mismatch");if(l.redeem.output){if(n.decompile(l.redeem.output).length===0)throw new TypeError("Redeem.output is invalid");if(w.redeem.output&&!l.redeem.output.equals(w.redeem.output))throw new TypeError("Redeem.output and witness mismatch")}if(l.redeem.witness&&w.redeem.witness&&!f(l.redeem.witness,w.redeem.witness))throw new TypeError("Redeem.witness and witness mismatch")}if(T&&T.length)if(T.length===1){if(l.signature&&!l.signature.equals(T[0]))throw new TypeError("Signature mismatch")}else{const I=T[T.length-1];if(I.length<33)throw new TypeError(`The control-block length is too small. Got ${I.length}, expected min 33.`);if((I.length-33)%32!==0)throw new TypeError(`The control-block length of ${I.length} is incorrect!`);const z=(I.length-33)/32;if(z>128)throw new TypeError(`The script path is too long. Got ${z}, expected max 128.`);const S=I.slice(1,33);if(l.internalPubkey&&!l.internalPubkey.equals(S))throw new TypeError("Internal pubkey mismatch");if(!(0,a.getEccLib)().isXOnlyPoint(S))throw new TypeError("Invalid internalPubkey for p2tr witness");const B=I[0]&r.TAPLEAF_VERSION_MASK,P=T[T.length-2],M=(0,o.tapleafHash)({output:P,version:B}),D=(0,o.rootHashFromPath)(I,M),R=(0,o.tweakKey)(S,D);if(!R)throw new TypeError("Invalid outputKey for p2tr witness");if(v.length&&!v.equals(R.x))throw new TypeError("Pubkey mismatch for p2tr witness");if(R.parity!==(I[0]&1))throw new Error("Incorrect parity")}}return Object.assign(w,l)}to.p2tr=h;function f(l,g){return l.length!==g.length?!1:l.every((b,y)=>b.equals(g[y]))}return to}var Og;function li(){return Og||(Og=1,(function(e){Object.defineProperty(e,"__esModule",{value:!0}),e.p2tr=e.p2wsh=e.p2wpkh=e.p2sh=e.p2pkh=e.p2pk=e.p2ms=e.embed=void 0;const t=$3();Object.defineProperty(e,"embed",{enumerable:!0,get:function(){return t.p2data}});const n=G3();Object.defineProperty(e,"p2ms",{enumerable:!0,get:function(){return n.p2ms}});const r=K3();Object.defineProperty(e,"p2pk",{enumerable:!0,get:function(){return r.p2pk}});const a=tC();Object.defineProperty(e,"p2pkh",{enumerable:!0,get:function(){return a.p2pkh}});const o=nC();Object.defineProperty(e,"p2sh",{enumerable:!0,get:function(){return o.p2sh}});const i=rC();Object.defineProperty(e,"p2wpkh",{enumerable:!0,get:function(){return i.p2wpkh}});const s=aC();Object.defineProperty(e,"p2wsh",{enumerable:!0,get:function(){return s.p2wsh}});const c=sC();Object.defineProperty(e,"p2tr",{enumerable:!0,get:function(){return c.p2tr}})})(Zu)),Zu}var Bg;function o_(){if(Bg)return mt;Bg=1,Object.defineProperty(mt,"__esModule",{value:!0}),mt.toOutputScript=mt.fromOutputScript=mt.toBech32=mt.toBase58Check=mt.fromBech32=mt.fromBase58Check=void 0;const e=nn(),t=li(),n=It(),r=ht(),a=Ws(),o=_f(),i=40,s=2,c=16,u=2,d=80,h="WARNING: Sending to a future segwit version address can lead to loss of funds. End users MUST be warned carefully in the GUI and asked if they wish to proceed with caution. Wallets should verify the segwit version from the output of fromBech32, then decide when it is safe to use which version of segwit.";function f(w,v){const A=w.slice(2);if(A.length<s||A.length>i)throw new TypeError("Invalid program length for segwit address");const T=w[0]-d;if(T<u||T>c)throw new TypeError("Invalid version for segwit address");if(w[1]!==A.length)throw new TypeError("Invalid script for segwit address");return console.warn(h),y(A,T,v.bech32)}function l(w){const v=Buffer.from(o.decode(w));if(v.length<21)throw new TypeError(w+" is too short");if(v.length>21)throw new TypeError(w+" is too long");const A=v.readUInt8(0),T=v.slice(1);return{version:A,hash:T}}mt.fromBase58Check=l;function g(w){let v,A;try{v=a.bech32.decode(w)}catch{}if(v){if(A=v.words[0],A!==0)throw new TypeError(w+" uses wrong encoding")}else if(v=a.bech32m.decode(w),A=v.words[0],A===0)throw new TypeError(w+" uses wrong encoding");const T=a.bech32.fromWords(v.words.slice(1));return{version:A,prefix:v.prefix,data:Buffer.from(T)}}mt.fromBech32=g;function b(w,v){(0,r.typeforce)((0,r.tuple)(r.Hash160bit,r.UInt8),arguments);const A=Buffer.allocUnsafe(21);return A.writeUInt8(v,0),w.copy(A,1),o.encode(A)}mt.toBase58Check=b;function y(w,v,A){const T=a.bech32.toWords(w);return T.unshift(v),v===0?a.bech32.encode(A,T):a.bech32m.encode(A,T)}mt.toBech32=y;function _(w,v){v=v||e.bitcoin;try{return t.p2pkh({output:w,network:v}).address}catch{}try{return t.p2sh({output:w,network:v}).address}catch{}try{return t.p2wpkh({output:w,network:v}).address}catch{}try{return t.p2wsh({output:w,network:v}).address}catch{}try{return t.p2tr({output:w,network:v}).address}catch{}try{return f(w,v)}catch{}throw new Error(n.toASM(w)+" has no matching Address")}mt.fromOutputScript=_;function k(w,v){v=v||e.bitcoin;let A,T;try{A=l(w)}catch{}if(A){if(A.version===v.pubKeyHash)return t.p2pkh({hash:A.hash}).output;if(A.version===v.scriptHash)return t.p2sh({hash:A.hash}).output}else{try{T=g(w)}catch{}if(T){if(T.prefix!==v.bech32)throw new Error(w+" has an invalid prefix");if(T.version===0){if(T.data.length===20)return t.p2wpkh({hash:T.data}).output;if(T.data.length===32)return t.p2wsh({hash:T.data}).output}else if(T.version===1){if(T.data.length===32)return t.p2tr({pubkey:T.data}).output}else if(T.version>=u&&T.version<=c&&T.data.length>=s&&T.data.length<=i)return console.warn(h),n.compile([T.version+d,T.data])}}throw new Error(w+" has no matching Script")}return mt.toOutputScript=k,mt}var no={},ro={},zg;function cC(){if(zg)return ro;zg=1,Object.defineProperty(ro,"__esModule",{value:!0}),ro.fastMerkleRoot=void 0;function e(t,n){if(!Array.isArray(t))throw TypeError("Expected values Array");if(typeof n!="function")throw TypeError("Expected digest Function");let r=t.length;const a=t.concat();for(;r>1;){let o=0;for(let i=0;i<r;i+=2,++o){const s=a[i],c=i+1===r?s:a[i+1],u=Buffer.concat([s,c]);a[o]=n(u)}r=o}return a[0]}return ro.fastMerkleRoot=e,ro}var ao={},Pg;function di(){if(Pg)return ao;Pg=1,Object.defineProperty(ao,"__esModule",{value:!0}),ao.Transaction=void 0;const e=Xs(),t=Un(),n=It(),r=It(),a=ht(),{typeforce:o}=a;function i(y){const _=y.length;return e.varuint.encodingLength(_)+_}function s(y){const _=y.length;return e.varuint.encodingLength(_)+y.reduce((k,w)=>k+i(w),0)}const c=Buffer.allocUnsafe(0),u=[],d=Buffer.from("0000000000000000000000000000000000000000000000000000000000000000","hex"),h=Buffer.from("0000000000000000000000000000000000000000000000000000000000000001","hex"),f=Buffer.from("ffffffffffffffff","hex"),l={script:c,valueBuffer:f};function g(y){return y.value!==void 0}class b{constructor(){this.version=1,this.locktime=0,this.ins=[],this.outs=[]}static fromBuffer(_,k){const w=new e.BufferReader(_),v=new b;v.version=w.readInt32();const A=w.readUInt8(),T=w.readUInt8();let I=!1;A===b.ADVANCED_TRANSACTION_MARKER&&T===b.ADVANCED_TRANSACTION_FLAG?I=!0:w.offset-=2;const z=w.readVarInt();for(let B=0;B<z;++B)v.ins.push({hash:w.readSlice(32),index:w.readUInt32(),script:w.readVarSlice(),sequence:w.readUInt32(),witness:u});const S=w.readVarInt();for(let B=0;B<S;++B)v.outs.push({value:w.readUInt64(),script:w.readVarSlice()});if(I){for(let B=0;B<z;++B)v.ins[B].witness=w.readVector();if(!v.hasWitnesses())throw new Error("Transaction has superfluous witness data")}if(v.locktime=w.readUInt32(),k)return v;if(w.offset!==_.length)throw new Error("Transaction has unexpected data");return v}static fromHex(_){return b.fromBuffer(Buffer.from(_,"hex"),!1)}static isCoinbaseHash(_){o(a.Hash256bit,_);for(let k=0;k<32;++k)if(_[k]!==0)return!1;return!0}isCoinbase(){return this.ins.length===1&&b.isCoinbaseHash(this.ins[0].hash)}addInput(_,k,w,v){return o(a.tuple(a.Hash256bit,a.UInt32,a.maybe(a.UInt32),a.maybe(a.Buffer)),arguments),a.Null(w)&&(w=b.DEFAULT_SEQUENCE),this.ins.push({hash:_,index:k,script:v||c,sequence:w,witness:u})-1}addOutput(_,k){return o(a.tuple(a.Buffer,a.Satoshi),arguments),this.outs.push({script:_,value:k})-1}hasWitnesses(){return this.ins.some(_=>_.witness.length!==0)}weight(){const _=this.byteLength(!1),k=this.byteLength(!0);return _*3+k}virtualSize(){return Math.ceil(this.weight()/4)}byteLength(_=!0){const k=_&&this.hasWitnesses();return(k?10:8)+e.varuint.encodingLength(this.ins.length)+e.varuint.encodingLength(this.outs.length)+this.ins.reduce((w,v)=>w+40+i(v.script),0)+this.outs.reduce((w,v)=>w+8+i(v.script),0)+(k?this.ins.reduce((w,v)=>w+s(v.witness),0):0)}clone(){const _=new b;return _.version=this.version,_.locktime=this.locktime,_.ins=this.ins.map(k=>({hash:k.hash,index:k.index,script:k.script,sequence:k.sequence,witness:k.witness})),_.outs=this.outs.map(k=>({script:k.script,value:k.value})),_}hashForSignature(_,k,w){if(o(a.tuple(a.UInt32,a.Buffer,a.Number),arguments),_>=this.ins.length)return h;const v=n.compile(n.decompile(k).filter(I=>I!==r.OPS.OP_CODESEPARATOR)),A=this.clone();if((w&31)===b.SIGHASH_NONE)A.outs=[],A.ins.forEach((I,z)=>{z!==_&&(I.sequence=0)});else if((w&31)===b.SIGHASH_SINGLE){if(_>=this.outs.length)return h;A.outs.length=_+1;for(let I=0;I<_;I++)A.outs[I]=l;A.ins.forEach((I,z)=>{z!==_&&(I.sequence=0)})}w&b.SIGHASH_ANYONECANPAY?(A.ins=[A.ins[_]],A.ins[0].script=v):(A.ins.forEach(I=>{I.script=c}),A.ins[_].script=v);const T=Buffer.allocUnsafe(A.byteLength(!1)+4);return T.writeInt32LE(w,T.length-4),A.__toBuffer(T,0,!1),t.hash256(T)}hashForWitnessV1(_,k,w,v,A,T){if(o(a.tuple(a.UInt32,o.arrayOf(a.Buffer),o.arrayOf(a.Satoshi),a.UInt32),arguments),w.length!==this.ins.length||k.length!==this.ins.length)throw new Error("Must supply prevout script and value for all inputs");const I=v===b.SIGHASH_DEFAULT?b.SIGHASH_ALL:v&b.SIGHASH_OUTPUT_MASK,S=(v&b.SIGHASH_INPUT_MASK)===b.SIGHASH_ANYONECANPAY,B=I===b.SIGHASH_NONE,P=I===b.SIGHASH_SINGLE;let M=c,D=c,R=c,$=c,q=c;if(!S){let V=e.BufferWriter.withCapacity(36*this.ins.length);this.ins.forEach(W=>{V.writeSlice(W.hash),V.writeUInt32(W.index)}),M=t.sha256(V.end()),V=e.BufferWriter.withCapacity(8*this.ins.length),w.forEach(W=>V.writeUInt64(W)),D=t.sha256(V.end()),V=e.BufferWriter.withCapacity(k.map(i).reduce((W,U)=>W+U)),k.forEach(W=>V.writeVarSlice(W)),R=t.sha256(V.end()),V=e.BufferWriter.withCapacity(4*this.ins.length),this.ins.forEach(W=>V.writeUInt32(W.sequence)),$=t.sha256(V.end())}if(B||P){if(P&&_<this.outs.length){const V=this.outs[_],W=e.BufferWriter.withCapacity(8+i(V.script));W.writeUInt64(V.value),W.writeVarSlice(V.script),q=t.sha256(W.end())}}else{const V=this.outs.map(U=>8+i(U.script)).reduce((U,K)=>U+K),W=e.BufferWriter.withCapacity(V);this.outs.forEach(U=>{W.writeUInt64(U.value),W.writeVarSlice(U.script)}),q=t.sha256(W.end())}const X=(A?2:0)+(T?1:0),H=174-(S?49:0)-(B?32:0)+(T?32:0)+(A?37:0),C=e.BufferWriter.withCapacity(H);if(C.writeUInt8(v),C.writeInt32(this.version),C.writeUInt32(this.locktime),C.writeSlice(M),C.writeSlice(D),C.writeSlice(R),C.writeSlice($),B||P||C.writeSlice(q),C.writeUInt8(X),S){const V=this.ins[_];C.writeSlice(V.hash),C.writeUInt32(V.index),C.writeUInt64(w[_]),C.writeVarSlice(k[_]),C.writeUInt32(V.sequence)}else C.writeUInt32(_);if(T){const V=e.BufferWriter.withCapacity(i(T));V.writeVarSlice(T),C.writeSlice(t.sha256(V.end()))}return P&&C.writeSlice(q),A&&(C.writeSlice(A),C.writeUInt8(0),C.writeUInt32(4294967295)),t.taggedHash("TapSighash",Buffer.concat([Buffer.from([0]),C.end()]))}hashForWitnessV0(_,k,w,v){o(a.tuple(a.UInt32,a.Buffer,a.Satoshi,a.UInt32),arguments);let A=Buffer.from([]),T,I=d,z=d,S=d;if(v&b.SIGHASH_ANYONECANPAY||(A=Buffer.allocUnsafe(36*this.ins.length),T=new e.BufferWriter(A,0),this.ins.forEach(P=>{T.writeSlice(P.hash),T.writeUInt32(P.index)}),z=t.hash256(A)),!(v&b.SIGHASH_ANYONECANPAY)&&(v&31)!==b.SIGHASH_SINGLE&&(v&31)!==b.SIGHASH_NONE&&(A=Buffer.allocUnsafe(4*this.ins.length),T=new e.BufferWriter(A,0),this.ins.forEach(P=>{T.writeUInt32(P.sequence)}),S=t.hash256(A)),(v&31)!==b.SIGHASH_SINGLE&&(v&31)!==b.SIGHASH_NONE){const P=this.outs.reduce((M,D)=>M+8+i(D.script),0);A=Buffer.allocUnsafe(P),T=new e.BufferWriter(A,0),this.outs.forEach(M=>{T.writeUInt64(M.value),T.writeVarSlice(M.script)}),I=t.hash256(A)}else if((v&31)===b.SIGHASH_SINGLE&&_<this.outs.length){const P=this.outs[_];A=Buffer.allocUnsafe(8+i(P.script)),T=new e.BufferWriter(A,0),T.writeUInt64(P.value),T.writeVarSlice(P.script),I=t.hash256(A)}A=Buffer.allocUnsafe(156+i(k)),T=new e.BufferWriter(A,0);const B=this.ins[_];return T.writeInt32(this.version),T.writeSlice(z),T.writeSlice(S),T.writeSlice(B.hash),T.writeUInt32(B.index),T.writeVarSlice(k),T.writeUInt64(w),T.writeUInt32(B.sequence),T.writeSlice(I),T.writeUInt32(this.locktime),T.writeUInt32(v),t.hash256(A)}getHash(_){return _&&this.isCoinbase()?Buffer.alloc(32,0):t.hash256(this.__toBuffer(void 0,void 0,_))}getId(){return(0,e.reverseBuffer)(this.getHash(!1)).toString("hex")}toBuffer(_,k){return this.__toBuffer(_,k,!0)}toHex(){return this.toBuffer(void 0,void 0).toString("hex")}setInputScript(_,k){o(a.tuple(a.Number,a.Buffer),arguments),this.ins[_].script=k}setWitness(_,k){o(a.tuple(a.Number,[a.Buffer]),arguments),this.ins[_].witness=k}__toBuffer(_,k,w=!1){_||(_=Buffer.allocUnsafe(this.byteLength(w)));const v=new e.BufferWriter(_,k||0);v.writeInt32(this.version);const A=w&&this.hasWitnesses();return A&&(v.writeUInt8(b.ADVANCED_TRANSACTION_MARKER),v.writeUInt8(b.ADVANCED_TRANSACTION_FLAG)),v.writeVarInt(this.ins.length),this.ins.forEach(T=>{v.writeSlice(T.hash),v.writeUInt32(T.index),v.writeVarSlice(T.script),v.writeUInt32(T.sequence)}),v.writeVarInt(this.outs.length),this.outs.forEach(T=>{g(T)?v.writeUInt64(T.value):v.writeSlice(T.valueBuffer),v.writeVarSlice(T.script)}),A&&this.ins.forEach(T=>{v.writeVector(T.witness)}),v.writeUInt32(this.locktime),k!==void 0?_.slice(k,v.offset):_}}return ao.Transaction=b,b.DEFAULT_SEQUENCE=4294967295,b.SIGHASH_DEFAULT=0,b.SIGHASH_ALL=1,b.SIGHASH_NONE=2,b.SIGHASH_SINGLE=3,b.SIGHASH_ANYONECANPAY=128,b.SIGHASH_OUTPUT_MASK=3,b.SIGHASH_INPUT_MASK=128,b.ADVANCED_TRANSACTION_MARKER=0,b.ADVANCED_TRANSACTION_FLAG=1,ao}var Rg;function uC(){if(Rg)return no;Rg=1,Object.defineProperty(no,"__esModule",{value:!0}),no.Block=void 0;const e=Xs(),t=Un(),n=cC(),r=di(),a=ht(),{typeforce:o}=a,i=new TypeError("Cannot compute merkle root for zero transactions"),s=new TypeError("Cannot compute witness commit for non-segwit block");class c{constructor(){this.version=1,this.prevHash=void 0,this.merkleRoot=void 0,this.timestamp=0,this.witnessCommit=void 0,this.bits=0,this.nonce=0,this.transactions=void 0}static fromBuffer(f){if(f.length<80)throw new Error("Buffer too small (< 80 bytes)");const l=new e.BufferReader(f),g=new c;if(g.version=l.readInt32(),g.prevHash=l.readSlice(32),g.merkleRoot=l.readSlice(32),g.timestamp=l.readUInt32(),g.bits=l.readUInt32(),g.nonce=l.readUInt32(),f.length===80)return g;const b=()=>{const k=r.Transaction.fromBuffer(l.buffer.slice(l.offset),!0);return l.offset+=k.byteLength(),k},y=l.readVarInt();g.transactions=[];for(let k=0;k<y;++k){const w=b();g.transactions.push(w)}const _=g.getWitnessCommit();return _&&(g.witnessCommit=_),g}static fromHex(f){return c.fromBuffer(Buffer.from(f,"hex"))}static calculateTarget(f){const l=((f&4278190080)>>24)-3,g=f&8388607,b=Buffer.alloc(32,0);return b.writeUIntBE(g,29-l,3),b}static calculateMerkleRoot(f,l){if(o([{getHash:a.Function}],f),f.length===0)throw i;if(l&&!u(f))throw s;const g=f.map(y=>y.getHash(l)),b=(0,n.fastMerkleRoot)(g,t.hash256);return l?t.hash256(Buffer.concat([b,f[0].ins[0].witness[0]])):b}getWitnessCommit(){if(!u(this.transactions))return null;const f=this.transactions[0].outs.filter(g=>g.script.slice(0,6).equals(Buffer.from("6a24aa21a9ed","hex"))).map(g=>g.script.slice(6,38));if(f.length===0)return null;const l=f[f.length-1];return l instanceof Buffer&&l.length===32?l:null}hasWitnessCommit(){return this.witnessCommit instanceof Buffer&&this.witnessCommit.length===32||this.getWitnessCommit()!==null}hasWitness(){return d(this.transactions)}weight(){const f=this.byteLength(!1,!1),l=this.byteLength(!1,!0);return f*3+l}byteLength(f,l=!0){return f||!this.transactions?80:80+e.varuint.encodingLength(this.transactions.length)+this.transactions.reduce((g,b)=>g+b.byteLength(l),0)}getHash(){return t.hash256(this.toBuffer(!0))}getId(){return(0,e.reverseBuffer)(this.getHash()).toString("hex")}getUTCDate(){const f=new Date(0);return f.setUTCSeconds(this.timestamp),f}toBuffer(f){const l=Buffer.allocUnsafe(this.byteLength(f)),g=new e.BufferWriter(l);return g.writeInt32(this.version),g.writeSlice(this.prevHash),g.writeSlice(this.merkleRoot),g.writeUInt32(this.timestamp),g.writeUInt32(this.bits),g.writeUInt32(this.nonce),f||!this.transactions||(e.varuint.encode(this.transactions.length,l,g.offset),g.offset+=e.varuint.encode.bytes,this.transactions.forEach(b=>{const y=b.byteLength();b.toBuffer(l,g.offset),g.offset+=y})),l}toHex(f){return this.toBuffer(f).toString("hex")}checkTxRoots(){const f=this.hasWitnessCommit();return!f&&this.hasWitness()?!1:this.__checkMerkleRoot()&&(f?this.__checkWitnessCommit():!0)}checkProofOfWork(){const f=(0,e.reverseBuffer)(this.getHash()),l=c.calculateTarget(this.bits);return f.compare(l)<=0}__checkMerkleRoot(){if(!this.transactions)throw i;const f=c.calculateMerkleRoot(this.transactions);return this.merkleRoot.compare(f)===0}__checkWitnessCommit(){if(!this.transactions)throw i;if(!this.hasWitnessCommit())throw s;const f=c.calculateMerkleRoot(this.transactions,!0);return this.witnessCommit.compare(f)===0}}no.Block=c;function u(h){return h instanceof Array&&h[0]&&h[0].ins&&h[0].ins instanceof Array&&h[0].ins[0]&&h[0].ins[0].witness&&h[0].ins[0].witness instanceof Array&&h[0].ins[0].witness.length>0}function d(h){return h instanceof Array&&h.some(f=>typeof f=="object"&&f.ins instanceof Array&&f.ins.some(l=>typeof l=="object"&&l.witness instanceof Array&&l.witness.length>0))}return no}var oo={},Hi={},Li={},fl={},fa={},pa={},pl={},Ng;function dt(){return Ng||(Ng=1,(function(e){Object.defineProperty(e,"__esModule",{value:!0}),(function(t){t[t.UNSIGNED_TX=0]="UNSIGNED_TX",t[t.GLOBAL_XPUB=1]="GLOBAL_XPUB"})(e.GlobalTypes||(e.GlobalTypes={})),e.GLOBAL_TYPE_NAMES=["unsignedTx","globalXpub"],(function(t){t[t.NON_WITNESS_UTXO=0]="NON_WITNESS_UTXO",t[t.WITNESS_UTXO=1]="WITNESS_UTXO",t[t.PARTIAL_SIG=2]="PARTIAL_SIG",t[t.SIGHASH_TYPE=3]="SIGHASH_TYPE",t[t.REDEEM_SCRIPT=4]="REDEEM_SCRIPT",t[t.WITNESS_SCRIPT=5]="WITNESS_SCRIPT",t[t.BIP32_DERIVATION=6]="BIP32_DERIVATION",t[t.FINAL_SCRIPTSIG=7]="FINAL_SCRIPTSIG",t[t.FINAL_SCRIPTWITNESS=8]="FINAL_SCRIPTWITNESS",t[t.POR_COMMITMENT=9]="POR_COMMITMENT",t[t.TAP_KEY_SIG=19]="TAP_KEY_SIG",t[t.TAP_SCRIPT_SIG=20]="TAP_SCRIPT_SIG",t[t.TAP_LEAF_SCRIPT=21]="TAP_LEAF_SCRIPT",t[t.TAP_BIP32_DERIVATION=22]="TAP_BIP32_DERIVATION",t[t.TAP_INTERNAL_KEY=23]="TAP_INTERNAL_KEY",t[t.TAP_MERKLE_ROOT=24]="TAP_MERKLE_ROOT"})(e.InputTypes||(e.InputTypes={})),e.INPUT_TYPE_NAMES=["nonWitnessUtxo","witnessUtxo","partialSig","sighashType","redeemScript","witnessScript","bip32Derivation","finalScriptSig","finalScriptWitness","porCommitment","tapKeySig","tapScriptSig","tapLeafScript","tapBip32Derivation","tapInternalKey","tapMerkleRoot"],(function(t){t[t.REDEEM_SCRIPT=0]="REDEEM_SCRIPT",t[t.WITNESS_SCRIPT=1]="WITNESS_SCRIPT",t[t.BIP32_DERIVATION=2]="BIP32_DERIVATION",t[t.TAP_INTERNAL_KEY=5]="TAP_INTERNAL_KEY",t[t.TAP_TREE=6]="TAP_TREE",t[t.TAP_BIP32_DERIVATION=7]="TAP_BIP32_DERIVATION"})(e.OutputTypes||(e.OutputTypes={})),e.OUTPUT_TYPE_NAMES=["redeemScript","witnessScript","bip32Derivation","tapInternalKey","tapTree","tapBip32Derivation"]})(pl)),pl}var qn={},Ug;function lC(){if(Ug)return qn;Ug=1,Object.defineProperty(qn,"__esModule",{value:!0});const e=dt(),t=i=>[...Array(i).keys()];function n(i){if(i.key[0]!==e.GlobalTypes.GLOBAL_XPUB)throw new Error("Decode Error: could not decode globalXpub with key 0x"+i.key.toString("hex"));if(i.key.length!==79||![2,3].includes(i.key[46]))throw new Error("Decode Error: globalXpub has invalid extended pubkey in key 0x"+i.key.toString("hex"));if(i.value.length/4%1!==0)throw new Error("Decode Error: Global GLOBAL_XPUB value length should be multiple of 4");const s=i.key.slice(1),c={masterFingerprint:i.value.slice(0,4),extendedPubkey:s,path:"m"};for(const u of t(i.value.length/4-1)){const d=i.value.readUInt32LE(u*4+4),h=!!(d&2147483648),f=d&2147483647;c.path+="/"+f.toString(10)+(h?"'":"")}return c}qn.decode=n;function r(i){const s=Buffer.from([e.GlobalTypes.GLOBAL_XPUB]),c=Buffer.concat([s,i.extendedPubkey]),u=i.path.split("/"),d=Buffer.allocUnsafe(u.length*4);i.masterFingerprint.copy(d,0);let h=4;return u.slice(1).forEach(f=>{const l=f.slice(-1)==="'";let g=2147483647&parseInt(l?f.slice(0,-1):f,10);l&&(g+=2147483648),d.writeUInt32LE(g,h),h+=4}),{key:c,value:d}}qn.encode=r,qn.expected="{ masterFingerprint: Buffer; extendedPubkey: Buffer; path: string; }";function a(i){const s=i.extendedPubkey,c=i.masterFingerprint,u=i.path;return Buffer.isBuffer(s)&&s.length===78&&[2,3].indexOf(s[45])>-1&&Buffer.isBuffer(c)&&c.length===4&&typeof u=="string"&&!!u.match(/^m(\/\d+'?)*$/)}qn.check=a;function o(i,s,c){const u=s.extendedPubkey.toString("hex");return c.has(u)?!1:(c.add(u),i.filter(d=>d.extendedPubkey.equals(s.extendedPubkey)).length===0)}return qn.canAddToArray=o,qn}var Di={},Hg;function dC(){if(Hg)return Di;Hg=1,Object.defineProperty(Di,"__esModule",{value:!0});const e=dt();function t(n){return{key:Buffer.from([e.GlobalTypes.UNSIGNED_TX]),value:n.toBuffer()}}return Di.encode=t,Di}var Vn={},Lg;function fC(){if(Lg)return Vn;Lg=1,Object.defineProperty(Vn,"__esModule",{value:!0});const e=dt();function t(o){if(o.key[0]!==e.InputTypes.FINAL_SCRIPTSIG)throw new Error("Decode Error: could not decode finalScriptSig with key 0x"+o.key.toString("hex"));return o.value}Vn.decode=t;function n(o){return{key:Buffer.from([e.InputTypes.FINAL_SCRIPTSIG]),value:o}}Vn.encode=n,Vn.expected="Buffer";function r(o){return Buffer.isBuffer(o)}Vn.check=r;function a(o,i){return!!o&&!!i&&o.finalScriptSig===void 0}return Vn.canAdd=a,Vn}var $n={},Dg;function pC(){if(Dg)return $n;Dg=1,Object.defineProperty($n,"__esModule",{value:!0});const e=dt();function t(o){if(o.key[0]!==e.InputTypes.FINAL_SCRIPTWITNESS)throw new Error("Decode Error: could not decode finalScriptWitness with key 0x"+o.key.toString("hex"));return o.value}$n.decode=t;function n(o){return{key:Buffer.from([e.InputTypes.FINAL_SCRIPTWITNESS]),value:o}}$n.encode=n,$n.expected="Buffer";function r(o){return Buffer.isBuffer(o)}$n.check=r;function a(o,i){return!!o&&!!i&&o.finalScriptWitness===void 0}return $n.canAdd=a,$n}var Gn={},Fg;function hC(){if(Fg)return Gn;Fg=1,Object.defineProperty(Gn,"__esModule",{value:!0});const e=dt();function t(o){if(o.key[0]!==e.InputTypes.NON_WITNESS_UTXO)throw new Error("Decode Error: could not decode nonWitnessUtxo with key 0x"+o.key.toString("hex"));return o.value}Gn.decode=t;function n(o){return{key:Buffer.from([e.InputTypes.NON_WITNESS_UTXO]),value:o}}Gn.encode=n,Gn.expected="Buffer";function r(o){return Buffer.isBuffer(o)}Gn.check=r;function a(o,i){return!!o&&!!i&&o.nonWitnessUtxo===void 0}return Gn.canAdd=a,Gn}var Kn={},Mg;function mC(){if(Mg)return Kn;Mg=1,Object.defineProperty(Kn,"__esModule",{value:!0});const e=dt();function t(i){if(i.key[0]!==e.InputTypes.PARTIAL_SIG)throw new Error("Decode Error: could not decode partialSig with key 0x"+i.key.toString("hex"));if(!(i.key.length===34||i.key.length===66)||![2,3,4].includes(i.key[1]))throw new Error("Decode Error: partialSig has invalid pubkey in key 0x"+i.key.toString("hex"));return{pubkey:i.key.slice(1),signature:i.value}}Kn.decode=t;function n(i){const s=Buffer.from([e.InputTypes.PARTIAL_SIG]);return{key:Buffer.concat([s,i.pubkey]),value:i.signature}}Kn.encode=n,Kn.expected="{ pubkey: Buffer; signature: Buffer; }";function r(i){return Buffer.isBuffer(i.pubkey)&&Buffer.isBuffer(i.signature)&&[33,65].includes(i.pubkey.length)&&[2,3,4].includes(i.pubkey[0])&&a(i.signature)}Kn.check=r;function a(i){if(!Buffer.isBuffer(i)||i.length<9||i[0]!==48||i.length!==i[1]+3||i[2]!==2)return!1;const s=i[3];if(s>33||s<1||i[3+s+1]!==2)return!1;const c=i[3+s+2];return!(c>33||c<1||i.length!==3+s+2+c+2)}function o(i,s,c){const u=s.pubkey.toString("hex");return c.has(u)?!1:(c.add(u),i.filter(d=>d.pubkey.equals(s.pubkey)).length===0)}return Kn.canAddToArray=o,Kn}var Wn={},qg;function gC(){if(qg)return Wn;qg=1,Object.defineProperty(Wn,"__esModule",{value:!0});const e=dt();function t(o){if(o.key[0]!==e.InputTypes.POR_COMMITMENT)throw new Error("Decode Error: could not decode porCommitment with key 0x"+o.key.toString("hex"));return o.value.toString("utf8")}Wn.decode=t;function n(o){return{key:Buffer.from([e.InputTypes.POR_COMMITMENT]),value:Buffer.from(o,"utf8")}}Wn.encode=n,Wn.expected="string";function r(o){return typeof o=="string"}Wn.check=r;function a(o,i){return!!o&&!!i&&o.porCommitment===void 0}return Wn.canAdd=a,Wn}var Xn={},Vg;function yC(){if(Vg)return Xn;Vg=1,Object.defineProperty(Xn,"__esModule",{value:!0});const e=dt();function t(o){if(o.key[0]!==e.InputTypes.SIGHASH_TYPE)throw new Error("Decode Error: could not decode sighashType with key 0x"+o.key.toString("hex"));return o.value.readUInt32LE(0)}Xn.decode=t;function n(o){const i=Buffer.from([e.InputTypes.SIGHASH_TYPE]),s=Buffer.allocUnsafe(4);return s.writeUInt32LE(o,0),{key:i,value:s}}Xn.encode=n,Xn.expected="number";function r(o){return typeof o=="number"}Xn.check=r;function a(o,i){return!!o&&!!i&&o.sighashType===void 0}return Xn.canAdd=a,Xn}var Zn={},$g;function bC(){if($g)return Zn;$g=1,Object.defineProperty(Zn,"__esModule",{value:!0});const e=dt();function t(o){if(o.key[0]!==e.InputTypes.TAP_KEY_SIG||o.key.length!==1)throw new Error("Decode Error: could not decode tapKeySig with key 0x"+o.key.toString("hex"));if(!r(o.value))throw new Error("Decode Error: tapKeySig not a valid 64-65-byte BIP340 signature");return o.value}Zn.decode=t;function n(o){return{key:Buffer.from([e.InputTypes.TAP_KEY_SIG]),value:o}}Zn.encode=n,Zn.expected="Buffer";function r(o){return Buffer.isBuffer(o)&&(o.length===64||o.length===65)}Zn.check=r;function a(o,i){return!!o&&!!i&&o.tapKeySig===void 0}return Zn.canAdd=a,Zn}var Yn={},Gg;function wC(){if(Gg)return Yn;Gg=1,Object.defineProperty(Yn,"__esModule",{value:!0});const e=dt();function t(o){if(o.key[0]!==e.InputTypes.TAP_LEAF_SCRIPT)throw new Error("Decode Error: could not decode tapLeafScript with key 0x"+o.key.toString("hex"));if((o.key.length-2)%32!==0)throw new Error("Decode Error: tapLeafScript has invalid control block in key 0x"+o.key.toString("hex"));const i=o.value[o.value.length-1];if((o.key[1]&254)!==i)throw new Error("Decode Error: tapLeafScript bad leaf version in key 0x"+o.key.toString("hex"));const s=o.value.slice(0,-1);return{controlBlock:o.key.slice(1),script:s,leafVersion:i}}Yn.decode=t;function n(o){const i=Buffer.from([e.InputTypes.TAP_LEAF_SCRIPT]),s=Buffer.from([o.leafVersion]);return{key:Buffer.concat([i,o.controlBlock]),value:Buffer.concat([o.script,s])}}Yn.encode=n,Yn.expected="{ controlBlock: Buffer; leafVersion: number, script: Buffer; }";function r(o){return Buffer.isBuffer(o.controlBlock)&&(o.controlBlock.length-1)%32===0&&(o.controlBlock[0]&254)===o.leafVersion&&Buffer.isBuffer(o.script)}Yn.check=r;function a(o,i,s){const c=i.controlBlock.toString("hex");return s.has(c)?!1:(s.add(c),o.filter(u=>u.controlBlock.equals(i.controlBlock)).length===0)}return Yn.canAddToArray=a,Yn}var Jn={},Kg;function kC(){if(Kg)return Jn;Kg=1,Object.defineProperty(Jn,"__esModule",{value:!0});const e=dt();function t(o){if(o.key[0]!==e.InputTypes.TAP_MERKLE_ROOT||o.key.length!==1)throw new Error("Decode Error: could not decode tapMerkleRoot with key 0x"+o.key.toString("hex"));if(!r(o.value))throw new Error("Decode Error: tapMerkleRoot not a 32-byte hash");return o.value}Jn.decode=t;function n(o){return{key:Buffer.from([e.InputTypes.TAP_MERKLE_ROOT]),value:o}}Jn.encode=n,Jn.expected="Buffer";function r(o){return Buffer.isBuffer(o)&&o.length===32}Jn.check=r;function a(o,i){return!!o&&!!i&&o.tapMerkleRoot===void 0}return Jn.canAdd=a,Jn}var Qn={},Wg;function _C(){if(Wg)return Qn;Wg=1,Object.defineProperty(Qn,"__esModule",{value:!0});const e=dt();function t(o){if(o.key[0]!==e.InputTypes.TAP_SCRIPT_SIG)throw new Error("Decode Error: could not decode tapScriptSig with key 0x"+o.key.toString("hex"));if(o.key.length!==65)throw new Error("Decode Error: tapScriptSig has invalid key 0x"+o.key.toString("hex"));if(o.value.length!==64&&o.value.length!==65)throw new Error("Decode Error: tapScriptSig has invalid signature in key 0x"+o.key.toString("hex"));const i=o.key.slice(1,33),s=o.key.slice(33);return{pubkey:i,leafHash:s,signature:o.value}}Qn.decode=t;function n(o){const i=Buffer.from([e.InputTypes.TAP_SCRIPT_SIG]);return{key:Buffer.concat([i,o.pubkey,o.leafHash]),value:o.signature}}Qn.encode=n,Qn.expected="{ pubkey: Buffer; leafHash: Buffer; signature: Buffer; }";function r(o){return Buffer.isBuffer(o.pubkey)&&Buffer.isBuffer(o.leafHash)&&Buffer.isBuffer(o.signature)&&o.pubkey.length===32&&o.leafHash.length===32&&(o.signature.length===64||o.signature.length===65)}Qn.check=r;function a(o,i,s){const c=i.pubkey.toString("hex")+i.leafHash.toString("hex");return s.has(c)?!1:(s.add(c),o.filter(u=>u.pubkey.equals(i.pubkey)&&u.leafHash.equals(i.leafHash)).length===0)}return Qn.canAddToArray=a,Qn}var er={},Cn={},ha={},Xg;function ia(){if(Xg)return ha;Xg=1,Object.defineProperty(ha,"__esModule",{value:!0});const e=9007199254740991;function t(o){if(o<0||o>e||o%1!==0)throw new RangeError("value out of range")}function n(o,i,s){if(t(o),i||(i=Buffer.allocUnsafe(a(o))),!Buffer.isBuffer(i))throw new TypeError("buffer must be a Buffer instance");return s||(s=0),o<253?(i.writeUInt8(o,s),Object.assign(n,{bytes:1})):o<=65535?(i.writeUInt8(253,s),i.writeUInt16LE(o,s+1),Object.assign(n,{bytes:3})):o<=4294967295?(i.writeUInt8(254,s),i.writeUInt32LE(o,s+1),Object.assign(n,{bytes:5})):(i.writeUInt8(255,s),i.writeUInt32LE(o>>>0,s+1),i.writeUInt32LE(o/4294967296|0,s+5),Object.assign(n,{bytes:9})),i}ha.encode=n;function r(o,i){if(!Buffer.isBuffer(o))throw new TypeError("buffer must be a Buffer instance");i||(i=0);const s=o.readUInt8(i);if(s<253)return Object.assign(r,{bytes:1}),s;if(s===253)return Object.assign(r,{bytes:3}),o.readUInt16LE(i+1);if(s===254)return Object.assign(r,{bytes:5}),o.readUInt32LE(i+1);{Object.assign(r,{bytes:9});const c=o.readUInt32LE(i+1),d=o.readUInt32LE(i+5)*4294967296+c;return t(d),d}}ha.decode=r;function a(o){return t(o),o<253?1:o<=65535?3:o<=4294967295?5:9}return ha.encodingLength=a,ha}var Zg;function Af(){if(Zg)return Cn;Zg=1,Object.defineProperty(Cn,"__esModule",{value:!0});const e=ia();Cn.range=s=>[...Array(s).keys()];function t(s){if(s.length<1)return s;let c=s.length-1,u=0;for(let d=0;d<s.length/2;d++)u=s[d],s[d]=s[c],s[c]=u,c--;return s}Cn.reverseBuffer=t;function n(s){const c=s.map(r);return c.push(Buffer.from([0])),Buffer.concat(c)}Cn.keyValsToBuffer=n;function r(s){const c=s.key.length,u=s.value.length,d=e.encodingLength(c),h=e.encodingLength(u),f=Buffer.allocUnsafe(d+c+h+u);return e.encode(c,f,0),s.key.copy(f,d),e.encode(u,f,d+c),s.value.copy(f,d+c+h),f}Cn.keyValToBuffer=r;function a(s,c){if(typeof s!="number")throw new Error("cannot write a non-number as a number");if(s<0)throw new Error("specified a negative value for writing an unsigned value");if(s>c)throw new Error("RangeError: value out of range");if(Math.floor(s)!==s)throw new Error("value has a fractional component")}function o(s,c){const u=s.readUInt32LE(c);let d=s.readUInt32LE(c+4);return d*=4294967296,a(d+u,9007199254740991),d+u}Cn.readUInt64LE=o;function i(s,c,u){return a(c,9007199254740991),s.writeInt32LE(c&-1,u),s.writeUInt32LE(Math.floor(c/4294967296),u+4),u+8}return Cn.writeUInt64LE=i,Cn}var Yg;function vC(){if(Yg)return er;Yg=1,Object.defineProperty(er,"__esModule",{value:!0});const e=dt(),t=Af(),n=ia();function r(s){if(s.key[0]!==e.InputTypes.WITNESS_UTXO)throw new Error("Decode Error: could not decode witnessUtxo with key 0x"+s.key.toString("hex"));const c=t.readUInt64LE(s.value,0);let u=8;const d=n.decode(s.value,u);u+=n.encodingLength(d);const h=s.value.slice(u);if(h.length!==d)throw new Error("Decode Error: WITNESS_UTXO script is not proper length");return{script:h,value:c}}er.decode=r;function a(s){const{script:c,value:u}=s,d=n.encodingLength(c.length),h=Buffer.allocUnsafe(8+d+c.length);return t.writeUInt64LE(h,u,0),n.encode(c.length,h,8),c.copy(h,8+d),{key:Buffer.from([e.InputTypes.WITNESS_UTXO]),value:h}}er.encode=a,er.expected="{ script: Buffer; value: number; }";function o(s){return Buffer.isBuffer(s.script)&&typeof s.value=="number"}er.check=o;function i(s,c){return!!s&&!!c&&s.witnessUtxo===void 0}return er.canAdd=i,er}var tr={},Jg;function EC(){if(Jg)return tr;Jg=1,Object.defineProperty(tr,"__esModule",{value:!0});const e=dt(),t=ia();function n(i){if(i.key[0]!==e.OutputTypes.TAP_TREE||i.key.length!==1)throw new Error("Decode Error: could not decode tapTree with key 0x"+i.key.toString("hex"));let s=0;const c=[];for(;s<i.value.length;){const u=i.value[s++],d=i.value[s++],h=t.decode(i.value,s);s+=t.encodingLength(h),c.push({depth:u,leafVersion:d,script:i.value.slice(s,s+h)}),s+=h}return{leaves:c}}tr.decode=n;function r(i){const s=Buffer.from([e.OutputTypes.TAP_TREE]),c=[].concat(...i.leaves.map(u=>[Buffer.of(u.depth,u.leafVersion),t.encode(u.script.length),u.script]));return{key:s,value:Buffer.concat(c)}}tr.encode=r,tr.expected="{ leaves: [{ depth: number; leafVersion: number, script: Buffer; }] }";function a(i){return Array.isArray(i.leaves)&&i.leaves.every(s=>s.depth>=0&&s.depth<=128&&(s.leafVersion&254)===s.leafVersion&&Buffer.isBuffer(s.script))}tr.check=a;function o(i,s){return!!i&&!!s&&i.tapTree===void 0}return tr.canAdd=o,tr}var Fi={},Qg;function i_(){if(Qg)return Fi;Qg=1,Object.defineProperty(Fi,"__esModule",{value:!0});const e=r=>[...Array(r).keys()],t=r=>r.length===33&&[2,3].includes(r[0])||r.length===65&&r[0]===4;function n(r,a=t){function o(d){if(d.key[0]!==r)throw new Error("Decode Error: could not decode bip32Derivation with key 0x"+d.key.toString("hex"));const h=d.key.slice(1);if(!a(h))throw new Error("Decode Error: bip32Derivation has invalid pubkey in key 0x"+d.key.toString("hex"));if(d.value.length/4%1!==0)throw new Error("Decode Error: Input BIP32_DERIVATION value length should be multiple of 4");const f={masterFingerprint:d.value.slice(0,4),pubkey:h,path:"m"};for(const l of e(d.value.length/4-1)){const g=d.value.readUInt32LE(l*4+4),b=!!(g&2147483648),y=g&2147483647;f.path+="/"+y.toString(10)+(b?"'":"")}return f}function i(d){const h=Buffer.from([r]),f=Buffer.concat([h,d.pubkey]),l=d.path.split("/"),g=Buffer.allocUnsafe(l.length*4);d.masterFingerprint.copy(g,0);let b=4;return l.slice(1).forEach(y=>{const _=y.slice(-1)==="'";let k=2147483647&parseInt(_?y.slice(0,-1):y,10);_&&(k+=2147483648),g.writeUInt32LE(k,b),b+=4}),{key:f,value:g}}const s="{ masterFingerprint: Buffer; pubkey: Buffer; path: string; }";function c(d){return Buffer.isBuffer(d.pubkey)&&Buffer.isBuffer(d.masterFingerprint)&&typeof d.path=="string"&&a(d.pubkey)&&d.masterFingerprint.length===4}function u(d,h,f){const l=h.pubkey.toString("hex");return f.has(l)?!1:(f.add(l),d.filter(g=>g.pubkey.equals(h.pubkey)).length===0)}return{decode:o,encode:i,check:c,expected:s,canAddToArray:u}}return Fi.makeConverter=n,Fi}var Mi={},ey;function AC(){if(ey)return Mi;ey=1,Object.defineProperty(Mi,"__esModule",{value:!0});function e(t){return n;function n(r){let a;if(t.includes(r.key[0])&&(a=r.key.slice(1),!(a.length===33||a.length===65)||![2,3,4].includes(a[0])))throw new Error("Format Error: invalid pubkey in key 0x"+r.key.toString("hex"));return a}}return Mi.makeChecker=e,Mi}var qi={},ty;function SC(){if(ty)return qi;ty=1,Object.defineProperty(qi,"__esModule",{value:!0});function e(t){function n(s){if(s.key[0]!==t)throw new Error("Decode Error: could not decode redeemScript with key 0x"+s.key.toString("hex"));return s.value}function r(s){return{key:Buffer.from([t]),value:s}}const a="Buffer";function o(s){return Buffer.isBuffer(s)}function i(s,c){return!!s&&!!c&&s.redeemScript===void 0}return{decode:n,encode:r,check:o,expected:a,canAdd:i}}return qi.makeConverter=e,qi}var Vi={},ny;function jC(){if(ny)return Vi;ny=1,Object.defineProperty(Vi,"__esModule",{value:!0});const e=ia(),t=i_(),n=a=>a.length===32;function r(a){const o=t.makeConverter(a,n);function i(d){const h=e.decode(d.value),f=e.encodingLength(h),l=o.decode({key:d.key,value:d.value.slice(f+h*32)}),g=new Array(h);for(let b=0,y=f;b<h;b++,y+=32)g[b]=d.value.slice(y,y+32);return Object.assign({},l,{leafHashes:g})}function s(d){const h=o.encode(d),f=e.encodingLength(d.leafHashes.length),l=Buffer.allocUnsafe(f);e.encode(d.leafHashes.length,l);const g=Buffer.concat([l,...d.leafHashes,h.value]);return Object.assign({},h,{value:g})}const c="{ masterFingerprint: Buffer; pubkey: Buffer; path: string; leafHashes: Buffer[]; }";function u(d){return Array.isArray(d.leafHashes)&&d.leafHashes.every(h=>Buffer.isBuffer(h)&&h.length===32)&&o.check(d)}return{decode:i,encode:s,check:u,expected:c,canAddToArray:o.canAddToArray}}return Vi.makeConverter=r,Vi}var $i={},ry;function xC(){if(ry)return $i;ry=1,Object.defineProperty($i,"__esModule",{value:!0});function e(t){function n(s){if(s.key[0]!==t||s.key.length!==1)throw new Error("Decode Error: could not decode tapInternalKey with key 0x"+s.key.toString("hex"));if(s.value.length!==32)throw new Error("Decode Error: tapInternalKey not a 32-byte x-only pubkey");return s.value}function r(s){return{key:Buffer.from([t]),value:s}}const a="Buffer";function o(s){return Buffer.isBuffer(s)&&s.length===32}function i(s,c){return!!s&&!!c&&s.tapInternalKey===void 0}return{decode:n,encode:r,check:o,expected:a,canAdd:i}}return $i.makeConverter=e,$i}var Gi={},ay;function TC(){if(ay)return Gi;ay=1,Object.defineProperty(Gi,"__esModule",{value:!0});function e(t){function n(s){if(s.key[0]!==t)throw new Error("Decode Error: could not decode witnessScript with key 0x"+s.key.toString("hex"));return s.value}function r(s){return{key:Buffer.from([t]),value:s}}const a="Buffer";function o(s){return Buffer.isBuffer(s)}function i(s,c){return!!s&&!!c&&s.witnessScript===void 0}return{decode:n,encode:r,check:o,expected:a,canAdd:i}}return Gi.makeConverter=e,Gi}var oy;function Sf(){if(oy)return pa;oy=1,Object.defineProperty(pa,"__esModule",{value:!0});const e=dt(),t=lC(),n=dC(),r=fC(),a=pC(),o=hC(),i=mC(),s=gC(),c=yC(),u=bC(),d=wC(),h=kC(),f=_C(),l=vC(),g=EC(),b=i_(),y=AC(),_=SC(),k=jC(),w=xC(),v=TC(),A={unsignedTx:n,globalXpub:t,checkPubkey:y.makeChecker([])};pa.globals=A;const T={nonWitnessUtxo:o,partialSig:i,sighashType:c,finalScriptSig:r,finalScriptWitness:a,porCommitment:s,witnessUtxo:l,bip32Derivation:b.makeConverter(e.InputTypes.BIP32_DERIVATION),redeemScript:_.makeConverter(e.InputTypes.REDEEM_SCRIPT),witnessScript:v.makeConverter(e.InputTypes.WITNESS_SCRIPT),checkPubkey:y.makeChecker([e.InputTypes.PARTIAL_SIG,e.InputTypes.BIP32_DERIVATION]),tapKeySig:u,tapScriptSig:f,tapLeafScript:d,tapBip32Derivation:k.makeConverter(e.InputTypes.TAP_BIP32_DERIVATION),tapInternalKey:w.makeConverter(e.InputTypes.TAP_INTERNAL_KEY),tapMerkleRoot:h};pa.inputs=T;const I={bip32Derivation:b.makeConverter(e.OutputTypes.BIP32_DERIVATION),redeemScript:_.makeConverter(e.OutputTypes.REDEEM_SCRIPT),witnessScript:v.makeConverter(e.OutputTypes.WITNESS_SCRIPT),checkPubkey:y.makeChecker([e.OutputTypes.BIP32_DERIVATION]),tapBip32Derivation:k.makeConverter(e.OutputTypes.TAP_BIP32_DERIVATION),tapTree:g,tapInternalKey:w.makeConverter(e.OutputTypes.TAP_INTERNAL_KEY)};return pa.outputs=I,pa}var iy;function IC(){if(iy)return fa;iy=1,Object.defineProperty(fa,"__esModule",{value:!0});const e=Sf(),t=Af(),n=ia(),r=dt();function a(s,c){let u=0;function d(){const I=n.decode(s,u);u+=n.encodingLength(I);const z=s.slice(u,u+I);return u+=I,z}function h(){const I=s.readUInt32BE(u);return u+=4,I}function f(){const I=s.readUInt8(u);return u+=1,I}function l(){const I=d(),z=d();return{key:I,value:z}}function g(){if(u>=s.length)throw new Error("Format Error: Unexpected End of PSBT");const I=s.readUInt8(u)===0;return I&&u++,I}if(h()!==1886610036)throw new Error("Format Error: Invalid Magic Number");if(f()!==255)throw new Error("Format Error: Magic Number must be followed by 0xff separator");const b=[],y={};for(;!g();){const I=l(),z=I.key.toString("hex");if(y[z])throw new Error("Format Error: Keys must be unique for global keymap: key "+z);y[z]=1,b.push(I)}const _=b.filter(I=>I.key[0]===r.GlobalTypes.UNSIGNED_TX);if(_.length!==1)throw new Error("Format Error: Only one UNSIGNED_TX allowed");const k=c(_[0].value),{inputCount:w,outputCount:v}=k.getInputOutputCounts(),A=[],T=[];for(const I of t.range(w)){const z={},S=[];for(;!g();){const B=l(),P=B.key.toString("hex");if(z[P])throw new Error("Format Error: Keys must be unique for each input: input index "+I+" key "+P);z[P]=1,S.push(B)}A.push(S)}for(const I of t.range(v)){const z={},S=[];for(;!g();){const B=l(),P=B.key.toString("hex");if(z[P])throw new Error("Format Error: Keys must be unique for each output: output index "+I+" key "+P);z[P]=1,S.push(B)}T.push(S)}return i(k,{globalMapKeyVals:b,inputKeyVals:A,outputKeyVals:T})}fa.psbtFromBuffer=a;function o(s,c,u){if(!c.equals(Buffer.from([u])))throw new Error(`Format Error: Invalid ${s} key: ${c.toString("hex")}`)}fa.checkKeyBuffer=o;function i(s,{globalMapKeyVals:c,inputKeyVals:u,outputKeyVals:d}){const h={unsignedTx:s};let f=0;for(const _ of c)switch(_.key[0]){case r.GlobalTypes.UNSIGNED_TX:if(o("global",_.key,r.GlobalTypes.UNSIGNED_TX),f>0)throw new Error("Format Error: GlobalMap has multiple UNSIGNED_TX");f++;break;case r.GlobalTypes.GLOBAL_XPUB:h.globalXpub===void 0&&(h.globalXpub=[]),h.globalXpub.push(e.globals.globalXpub.decode(_));break;default:h.unknownKeyVals||(h.unknownKeyVals=[]),h.unknownKeyVals.push(_)}const l=u.length,g=d.length,b=[],y=[];for(const _ of t.range(l)){const k={};for(const w of u[_])switch(e.inputs.checkPubkey(w),w.key[0]){case r.InputTypes.NON_WITNESS_UTXO:if(o("input",w.key,r.InputTypes.NON_WITNESS_UTXO),k.nonWitnessUtxo!==void 0)throw new Error("Format Error: Input has multiple NON_WITNESS_UTXO");k.nonWitnessUtxo=e.inputs.nonWitnessUtxo.decode(w);break;case r.InputTypes.WITNESS_UTXO:if(o("input",w.key,r.InputTypes.WITNESS_UTXO),k.witnessUtxo!==void 0)throw new Error("Format Error: Input has multiple WITNESS_UTXO");k.witnessUtxo=e.inputs.witnessUtxo.decode(w);break;case r.InputTypes.PARTIAL_SIG:k.partialSig===void 0&&(k.partialSig=[]),k.partialSig.push(e.inputs.partialSig.decode(w));break;case r.InputTypes.SIGHASH_TYPE:if(o("input",w.key,r.InputTypes.SIGHASH_TYPE),k.sighashType!==void 0)throw new Error("Format Error: Input has multiple SIGHASH_TYPE");k.sighashType=e.inputs.sighashType.decode(w);break;case r.InputTypes.REDEEM_SCRIPT:if(o("input",w.key,r.InputTypes.REDEEM_SCRIPT),k.redeemScript!==void 0)throw new Error("Format Error: Input has multiple REDEEM_SCRIPT");k.redeemScript=e.inputs.redeemScript.decode(w);break;case r.InputTypes.WITNESS_SCRIPT:if(o("input",w.key,r.InputTypes.WITNESS_SCRIPT),k.witnessScript!==void 0)throw new Error("Format Error: Input has multiple WITNESS_SCRIPT");k.witnessScript=e.inputs.witnessScript.decode(w);break;case r.InputTypes.BIP32_DERIVATION:k.bip32Derivation===void 0&&(k.bip32Derivation=[]),k.bip32Derivation.push(e.inputs.bip32Derivation.decode(w));break;case r.InputTypes.FINAL_SCRIPTSIG:o("input",w.key,r.InputTypes.FINAL_SCRIPTSIG),k.finalScriptSig=e.inputs.finalScriptSig.decode(w);break;case r.InputTypes.FINAL_SCRIPTWITNESS:o("input",w.key,r.InputTypes.FINAL_SCRIPTWITNESS),k.finalScriptWitness=e.inputs.finalScriptWitness.decode(w);break;case r.InputTypes.POR_COMMITMENT:o("input",w.key,r.InputTypes.POR_COMMITMENT),k.porCommitment=e.inputs.porCommitment.decode(w);break;case r.InputTypes.TAP_KEY_SIG:o("input",w.key,r.InputTypes.TAP_KEY_SIG),k.tapKeySig=e.inputs.tapKeySig.decode(w);break;case r.InputTypes.TAP_SCRIPT_SIG:k.tapScriptSig===void 0&&(k.tapScriptSig=[]),k.tapScriptSig.push(e.inputs.tapScriptSig.decode(w));break;case r.InputTypes.TAP_LEAF_SCRIPT:k.tapLeafScript===void 0&&(k.tapLeafScript=[]),k.tapLeafScript.push(e.inputs.tapLeafScript.decode(w));break;case r.InputTypes.TAP_BIP32_DERIVATION:k.tapBip32Derivation===void 0&&(k.tapBip32Derivation=[]),k.tapBip32Derivation.push(e.inputs.tapBip32Derivation.decode(w));break;case r.InputTypes.TAP_INTERNAL_KEY:o("input",w.key,r.InputTypes.TAP_INTERNAL_KEY),k.tapInternalKey=e.inputs.tapInternalKey.decode(w);break;case r.InputTypes.TAP_MERKLE_ROOT:o("input",w.key,r.InputTypes.TAP_MERKLE_ROOT),k.tapMerkleRoot=e.inputs.tapMerkleRoot.decode(w);break;default:k.unknownKeyVals||(k.unknownKeyVals=[]),k.unknownKeyVals.push(w)}b.push(k)}for(const _ of t.range(g)){const k={};for(const w of d[_])switch(e.outputs.checkPubkey(w),w.key[0]){case r.OutputTypes.REDEEM_SCRIPT:if(o("output",w.key,r.OutputTypes.REDEEM_SCRIPT),k.redeemScript!==void 0)throw new Error("Format Error: Output has multiple REDEEM_SCRIPT");k.redeemScript=e.outputs.redeemScript.decode(w);break;case r.OutputTypes.WITNESS_SCRIPT:if(o("output",w.key,r.OutputTypes.WITNESS_SCRIPT),k.witnessScript!==void 0)throw new Error("Format Error: Output has multiple WITNESS_SCRIPT");k.witnessScript=e.outputs.witnessScript.decode(w);break;case r.OutputTypes.BIP32_DERIVATION:k.bip32Derivation===void 0&&(k.bip32Derivation=[]),k.bip32Derivation.push(e.outputs.bip32Derivation.decode(w));break;case r.OutputTypes.TAP_INTERNAL_KEY:o("output",w.key,r.OutputTypes.TAP_INTERNAL_KEY),k.tapInternalKey=e.outputs.tapInternalKey.decode(w);break;case r.OutputTypes.TAP_TREE:o("output",w.key,r.OutputTypes.TAP_TREE),k.tapTree=e.outputs.tapTree.decode(w);break;case r.OutputTypes.TAP_BIP32_DERIVATION:k.tapBip32Derivation===void 0&&(k.tapBip32Derivation=[]),k.tapBip32Derivation.push(e.outputs.tapBip32Derivation.decode(w));break;default:k.unknownKeyVals||(k.unknownKeyVals=[]),k.unknownKeyVals.push(w)}y.push(k)}return{globalMap:h,inputs:b,outputs:y}}return fa.psbtFromKeyVals=i,fa}var io={},sy;function CC(){if(sy)return io;sy=1,Object.defineProperty(io,"__esModule",{value:!0});const e=Sf(),t=Af();function n({globalMap:i,inputs:s,outputs:c}){const{globalKeyVals:u,inputKeyVals:d,outputKeyVals:h}=o({globalMap:i,inputs:s,outputs:c}),f=t.keyValsToBuffer(u),l=_=>_.length===0?[Buffer.from([0])]:_.map(t.keyValsToBuffer),g=l(d),b=l(h),y=Buffer.allocUnsafe(5);return y.writeUIntBE(482972169471,0,5),Buffer.concat([y,f].concat(g,b))}io.psbtToBuffer=n;const r=(i,s)=>i.key.compare(s.key);function a(i,s){const c=new Set,u=Object.entries(i).reduce((h,[f,l])=>{if(f==="unknownKeyVals")return h;const g=s[f];if(g===void 0)return h;const b=(Array.isArray(l)?l:[l]).map(g.encode);return b.map(_=>_.key.toString("hex")).forEach(_=>{if(c.has(_))throw new Error("Serialize Error: Duplicate key: "+_);c.add(_)}),h.concat(b)},[]),d=i.unknownKeyVals?i.unknownKeyVals.filter(h=>!c.has(h.key.toString("hex"))):[];return u.concat(d).sort(r)}function o({globalMap:i,inputs:s,outputs:c}){return{globalKeyVals:a(i,e.globals),inputKeyVals:s.map(u=>a(u,e.inputs)),outputKeyVals:c.map(u=>a(u,e.outputs))}}return io.psbtToKeyVals=o,io}var cy;function s_(){return cy||(cy=1,(function(e){function t(n){for(var r in n)e.hasOwnProperty(r)||(e[r]=n[r])}Object.defineProperty(e,"__esModule",{value:!0}),t(IC()),t(CC())})(fl)),fl}var uy;function OC(){if(uy)return Li;uy=1,Object.defineProperty(Li,"__esModule",{value:!0});const e=s_();function t(o){const i=o[0],s=e.psbtToKeyVals(i),c=o.slice(1);if(c.length===0)throw new Error("Combine: Nothing to combine");const u=r(i);if(u===void 0)throw new Error("Combine: Self missing transaction");const d=a(s.globalKeyVals),h=s.inputKeyVals.map(a),f=s.outputKeyVals.map(a);for(const l of c){const g=r(l);if(g===void 0||!g.toBuffer().equals(u.toBuffer()))throw new Error("Combine: One of the Psbts does not have the same transaction.");const b=e.psbtToKeyVals(l);a(b.globalKeyVals).forEach(n(d,s.globalKeyVals,b.globalKeyVals)),b.inputKeyVals.map(a).forEach((w,v)=>w.forEach(n(h[v],s.inputKeyVals[v],b.inputKeyVals[v]))),b.outputKeyVals.map(a).forEach((w,v)=>w.forEach(n(f[v],s.outputKeyVals[v],b.outputKeyVals[v])))}return e.psbtFromKeyVals(u,{globalMapKeyVals:s.globalKeyVals,inputKeyVals:s.inputKeyVals,outputKeyVals:s.outputKeyVals})}Li.combine=t;function n(o,i,s){return c=>{if(o.has(c))return;const u=s.filter(d=>d.key.toString("hex")===c)[0];i.push(u),o.add(c)}}function r(o){return o.globalMap.unsignedTx}function a(o){const i=new Set;return o.forEach(s=>{const c=s.key.toString("hex");if(i.has(c))throw new Error("Combine: KeyValue Map keys should be unique");i.add(c)}),i}return Li}var hl={},ly;function c_(){return ly||(ly=1,(function(e){Object.defineProperty(e,"__esModule",{value:!0});const t=Sf();function n(l,g){const b=l[g];if(b===void 0)throw new Error(`No input #${g}`);return b}e.checkForInput=n;function r(l,g){const b=l[g];if(b===void 0)throw new Error(`No output #${g}`);return b}e.checkForOutput=r;function a(l,g,b){if(l.key[0]<b)throw new Error("Use the method for your specific key instead of addUnknownKeyVal*");if(g&&g.filter(y=>y.key.equals(l.key)).length!==0)throw new Error(`Duplicate Key: ${l.key.toString("hex")}`)}e.checkHasKey=a;function o(l){let g=0;return Object.keys(l).forEach(b=>{Number(isNaN(Number(b)))&&g++}),g}e.getEnumLength=o;function i(l,g){let b=!1;if(g.nonWitnessUtxo||g.witnessUtxo){const y=!!g.redeemScript,_=!!g.witnessScript,k=!y||!!g.finalScriptSig,w=!_||!!g.finalScriptWitness,v=!!g.finalScriptSig||!!g.finalScriptWitness;b=k&&w&&v}if(b===!1)throw new Error(`Input #${l} has too much or too little data to clean`)}e.inputCheckUncleanFinalized=i;function s(l,g,b,y){throw new Error(`Data for ${l} key ${g} is incorrect: Expected ${b} and got ${JSON.stringify(y)}`)}function c(l){return(g,b)=>{for(const y of Object.keys(g)){const _=g[y],{canAdd:k,canAddToArray:w,check:v,expected:A}=t[l+"s"][y]||{},T=!!w;if(v)if(T){if(!Array.isArray(_)||b[y]&&!Array.isArray(b[y]))throw new Error(`Key type ${y} must be an array`);_.every(v)||s(l,y,A,_);const I=b[y]||[],z=new Set;if(!_.every(S=>w(I,S,z)))throw new Error("Can not add duplicate data to array");b[y]=I.concat(_)}else{if(v(_)||s(l,y,A,_),!k(b,_))throw new Error(`Can not add duplicate data to ${l}`);b[y]=_}}}}e.updateGlobal=c("global"),e.updateInput=c("input"),e.updateOutput=c("output");function u(l,g){const b=l.length-1,y=n(l,b);e.updateInput(g,y)}e.addInputAttributes=u;function d(l,g){const b=l.length-1,y=r(l,b);e.updateOutput(g,y)}e.addOutputAttributes=d;function h(l,g){if(!Buffer.isBuffer(g)||g.length<4)throw new Error("Set Version: Invalid Transaction");return g.writeUInt32LE(l,0),g}e.defaultVersionSetter=h;function f(l,g){if(!Buffer.isBuffer(g)||g.length<4)throw new Error("Set Locktime: Invalid Transaction");return g.writeUInt32LE(l,g.length-4),g}e.defaultLocktimeSetter=f})(hl)),hl}var dy;function BC(){if(dy)return Hi;dy=1,Object.defineProperty(Hi,"__esModule",{value:!0});const e=OC(),t=s_(),n=dt(),r=c_();class a{constructor(i){this.inputs=[],this.outputs=[],this.globalMap={unsignedTx:i}}static fromBase64(i,s){const c=Buffer.from(i,"base64");return this.fromBuffer(c,s)}static fromHex(i,s){const c=Buffer.from(i,"hex");return this.fromBuffer(c,s)}static fromBuffer(i,s){const c=t.psbtFromBuffer(i,s),u=new this(c.globalMap.unsignedTx);return Object.assign(u,c),u}toBase64(){return this.toBuffer().toString("base64")}toHex(){return this.toBuffer().toString("hex")}toBuffer(){return t.psbtToBuffer(this)}updateGlobal(i){return r.updateGlobal(i,this.globalMap),this}updateInput(i,s){const c=r.checkForInput(this.inputs,i);return r.updateInput(s,c),this}updateOutput(i,s){const c=r.checkForOutput(this.outputs,i);return r.updateOutput(s,c),this}addUnknownKeyValToGlobal(i){return r.checkHasKey(i,this.globalMap.unknownKeyVals,r.getEnumLength(n.GlobalTypes)),this.globalMap.unknownKeyVals||(this.globalMap.unknownKeyVals=[]),this.globalMap.unknownKeyVals.push(i),this}addUnknownKeyValToInput(i,s){const c=r.checkForInput(this.inputs,i);return r.checkHasKey(s,c.unknownKeyVals,r.getEnumLength(n.InputTypes)),c.unknownKeyVals||(c.unknownKeyVals=[]),c.unknownKeyVals.push(s),this}addUnknownKeyValToOutput(i,s){const c=r.checkForOutput(this.outputs,i);return r.checkHasKey(s,c.unknownKeyVals,r.getEnumLength(n.OutputTypes)),c.unknownKeyVals||(c.unknownKeyVals=[]),c.unknownKeyVals.push(s),this}addInput(i){this.globalMap.unsignedTx.addInput(i),this.inputs.push({unknownKeyVals:[]});const s=i.unknownKeyVals||[],c=this.inputs.length-1;if(!Array.isArray(s))throw new Error("unknownKeyVals must be an Array");return s.forEach(u=>this.addUnknownKeyValToInput(c,u)),r.addInputAttributes(this.inputs,i),this}addOutput(i){this.globalMap.unsignedTx.addOutput(i),this.outputs.push({unknownKeyVals:[]});const s=i.unknownKeyVals||[],c=this.outputs.length-1;if(!Array.isArray(s))throw new Error("unknownKeyVals must be an Array");return s.forEach(u=>this.addUnknownKeyValToOutput(c,u)),r.addOutputAttributes(this.outputs,i),this}clearFinalizedInput(i){const s=r.checkForInput(this.inputs,i);r.inputCheckUncleanFinalized(i,s);for(const c of Object.keys(s))["witnessUtxo","nonWitnessUtxo","finalScriptSig","finalScriptWitness","unknownKeyVals"].includes(c)||delete s[c];return this}combine(...i){const s=e.combine([this].concat(i));return Object.assign(this,s),this}getTransaction(){return this.globalMap.unsignedTx.toBuffer()}}return Hi.Psbt=a,Hi}var Ue={},Ne={},fy;function Jl(){if(fy)return Ne;fy=1,Object.defineProperty(Ne,"__esModule",{value:!0}),Ne.signatureBlocksAction=Ne.checkInputForSig=Ne.pubkeyInScript=Ne.pubkeyPositionInScript=Ne.witnessStackToScriptWitness=Ne.isP2TR=Ne.isP2SHScript=Ne.isP2WSHScript=Ne.isP2WPKH=Ne.isP2PKH=Ne.isP2PK=Ne.isP2MS=void 0;const e=ia(),t=It(),n=di(),r=Un(),a=li();function o(l){return g=>{try{return l({output:g}),!0}catch{return!1}}}Ne.isP2MS=o(a.p2ms),Ne.isP2PK=o(a.p2pk),Ne.isP2PKH=o(a.p2pkh),Ne.isP2WPKH=o(a.p2wpkh),Ne.isP2WSHScript=o(a.p2wsh),Ne.isP2SHScript=o(a.p2sh),Ne.isP2TR=o(a.p2tr);function i(l){let g=Buffer.allocUnsafe(0);function b(w){g=Buffer.concat([g,Buffer.from(w)])}function y(w){const v=g.length,A=e.encodingLength(w);g=Buffer.concat([g,Buffer.allocUnsafe(A)]),e.encode(w,g,v)}function _(w){y(w.length),b(w)}function k(w){y(w.length),w.forEach(_)}return k(l),g}Ne.witnessStackToScriptWitness=i;function s(l,g){const b=(0,r.hash160)(l),y=l.slice(1,33),_=t.decompile(g);if(_===null)throw new Error("Unknown script error");return _.findIndex(k=>typeof k=="number"?!1:k.equals(l)||k.equals(b)||k.equals(y))}Ne.pubkeyPositionInScript=s;function c(l,g){return s(l,g)!==-1}Ne.pubkeyInScript=c;function u(l,g){return h(l).some(y=>d(y,t.signature.decode,g))}Ne.checkInputForSig=u;function d(l,g,b){const{hashType:y}=g(l),_=[];switch(y&n.Transaction.SIGHASH_ANYONECANPAY&&_.push("addInput"),y&31){case n.Transaction.SIGHASH_ALL:break;case n.Transaction.SIGHASH_SINGLE:case n.Transaction.SIGHASH_NONE:_.push("addOutput"),_.push("setInputSequence");break}return _.indexOf(b)===-1}Ne.signatureBlocksAction=d;function h(l){let g=[];if((l.partialSig||[]).length===0){if(!l.finalScriptSig&&!l.finalScriptWitness)return[];g=f(l)}else g=l.partialSig;return g.map(b=>b.signature)}function f(l){const g=l.finalScriptSig?t.decompile(l.finalScriptSig)||[]:[],b=l.finalScriptWitness?t.decompile(l.finalScriptWitness)||[]:[];return g.concat(b).filter(y=>Buffer.isBuffer(y)&&t.isCanonicalScriptSignature(y)).map(y=>({signature:y}))}return Ne}var py;function zC(){if(py)return Ue;py=1,Object.defineProperty(Ue,"__esModule",{value:!0}),Ue.checkTaprootInputForSigs=Ue.tapTreeFromList=Ue.tapTreeToList=Ue.tweakInternalPubKey=Ue.checkTaprootOutputFields=Ue.checkTaprootInputFields=Ue.isTaprootOutput=Ue.isTaprootInput=Ue.serializeTaprootSignature=Ue.tapScriptFinalizer=Ue.toXOnly=void 0;const e=ht(),t=di(),n=Jl(),r=Ef(),a=li(),o=Jl(),i=H=>H.length===32?H:H.slice(1,33);Ue.toXOnly=i;function s(H,C,V){const W=$(C,H,V);try{const K=D(C,W).concat(W.script).concat(W.controlBlock);return{finalScriptWitness:(0,n.witnessStackToScriptWitness)(K)}}catch(U){throw new Error(`Can not finalize taproot input #${H}: ${U}`)}}Ue.tapScriptFinalizer=s;function c(H,C){const V=C?Buffer.from([C]):Buffer.from([]);return Buffer.concat([H,V])}Ue.serializeTaprootSignature=c;function u(H){return H&&!!(H.tapInternalKey||H.tapMerkleRoot||H.tapLeafScript&&H.tapLeafScript.length||H.tapBip32Derivation&&H.tapBip32Derivation.length||H.witnessUtxo&&(0,n.isP2TR)(H.witnessUtxo.script))}Ue.isTaprootInput=u;function d(H,C){return H&&!!(H.tapInternalKey||H.tapTree||H.tapBip32Derivation&&H.tapBip32Derivation.length||C&&(0,n.isP2TR)(C))}Ue.isTaprootOutput=d;function h(H,C,V){S(H,C,V),P(H,C,V)}Ue.checkTaprootInputFields=h;function f(H,C,V){B(H,C,V),l(H,C)}Ue.checkTaprootOutputFields=f;function l(H,C){if(!C.tapTree&&!C.tapInternalKey)return;const V=C.tapInternalKey||H.tapInternalKey,W=C.tapTree||H.tapTree;if(V){const{script:U}=H,K=g(V,W);if(U&&!U.equals(K))throw new Error("Error adding output. Script or address missmatch.")}}function g(H,C){const V=C&&_(C.leaves),{output:W}=(0,a.p2tr)({internalPubkey:H,scriptTree:V});return W}function b(H,C){const V=C.tapInternalKey,W=V&&(0,r.tweakKey)(V,C.tapMerkleRoot);if(!W)throw new Error(`Cannot tweak tap internal key for input #${H}. Public key: ${V&&V.toString("hex")}`);return W.x}Ue.tweakInternalPubKey=b;function y(H){if(!(0,e.isTaptree)(H))throw new Error("Cannot convert taptree to tapleaf list. Expecting a tapree structure.");return T(H)}Ue.tapTreeToList=y;function _(H=[]){return H.length===1&&H[0].depth===0?{output:H[0].script,version:H[0].leafVersion}:I(H)}Ue.tapTreeFromList=_;function k(H,C){return v(H).some(W=>(0,o.signatureBlocksAction)(W,w,C))}Ue.checkTaprootInputForSigs=k;function w(H){return{signature:H.slice(0,64),hashType:H.slice(64)[0]||t.Transaction.SIGHASH_DEFAULT}}function v(H){const C=[];if(H.tapKeySig&&C.push(H.tapKeySig),H.tapScriptSig&&C.push(...H.tapScriptSig.map(V=>V.signature)),!C.length){const V=A(H.finalScriptWitness);V&&C.push(V)}return C}function A(H){if(!H)return;const C=H.slice(2);if(C.length===64||C.length===65)return C}function T(H,C=[],V=0){if(V>r.MAX_TAPTREE_DEPTH)throw new Error("Max taptree depth exceeded.");return H?(0,e.isTapleaf)(H)?(C.push({depth:V,leafVersion:H.version||r.LEAF_VERSION_TAPSCRIPT,script:H.output}),C):(H[0]&&T(H[0],C,V+1),H[1]&&T(H[1],C,V+1),C):[]}function I(H){let C;for(const V of H)if(C=z(V,C),!C)throw new Error("No room left to insert tapleaf in tree");return C}function z(H,C,V=0){if(V>r.MAX_TAPTREE_DEPTH)throw new Error("Max taptree depth exceeded.");if(H.depth===V)return C?void 0:{output:H.script,version:H.leafVersion};if((0,e.isTapleaf)(C))return;const W=z(H,C&&C[0],V+1);if(W)return[W,C&&C[1]];const U=z(H,C&&C[1],V+1);if(U)return[C&&C[0],U]}function S(H,C,V){const W=u(H)&&X(C),U=X(H)&&u(C),K=H===C&&u(C)&&X(C);if(W||U||K)throw new Error(`Invalid arguments for Psbt.${V}. Cannot use both taproot and non-taproot fields.`)}function B(H,C,V){const W=d(H)&&X(C),U=X(H)&&d(C),K=H===C&&d(C)&&X(C);if(W||U||K)throw new Error(`Invalid arguments for Psbt.${V}. Cannot use both taproot and non-taproot fields.`)}function P(H,C,V){if(C.tapMerkleRoot){const W=(C.tapLeafScript||[]).every(K=>M(K,C.tapMerkleRoot)),U=(H.tapLeafScript||[]).every(K=>M(K,C.tapMerkleRoot));if(!W||!U)throw new Error(`Invalid arguments for Psbt.${V}. Tapleaf not part of taptree.`)}else if(H.tapMerkleRoot&&!(C.tapLeafScript||[]).every(U=>M(U,H.tapMerkleRoot)))throw new Error(`Invalid arguments for Psbt.${V}. Tapleaf not part of taptree.`)}function M(H,C){if(!C)return!0;const V=(0,r.tapleafHash)({output:H.script,version:H.leafVersion});return(0,r.rootHashFromPath)(H.controlBlock,V).equals(C)}function D(H,C){const V=(0,r.tapleafHash)({output:C.script,version:C.leafVersion});return(H.tapScriptSig||[]).filter(W=>W.leafHash.equals(V)).map(W=>R(C.script,W)).sort((W,U)=>U.positionInScript-W.positionInScript).map(W=>W.signature)}function R(H,C){return Object.assign({positionInScript:(0,n.pubkeyPositionInScript)(C.pubkey,H)},C)}function $(H,C,V){if(!H.tapScriptSig||!H.tapScriptSig.length)throw new Error(`Can not finalize taproot input #${C}. No tapleaf script signature provided.`);const W=(H.tapLeafScript||[]).sort((U,K)=>U.controlBlock.length-K.controlBlock.length).find(U=>q(U,H.tapScriptSig,V));if(!W)throw new Error(`Can not finalize taproot input #${C}. Signature for tapleaf script not found.`);return W}function q(H,C,V){const W=(0,r.tapleafHash)({output:H.script,version:H.leafVersion});return(!V||V.equals(W))&&C.find(K=>K.leafHash.equals(W))!==void 0}function X(H){return H&&!!(H.redeemScript||H.witnessScript||H.bip32Derivation&&H.bip32Derivation.length)}return Ue}var hy;function PC(){if(hy)return oo;hy=1,Object.defineProperty(oo,"__esModule",{value:!0}),oo.Psbt=void 0;const e=BC(),t=ia(),n=c_(),r=o_(),a=Xs(),o=nn(),i=li(),s=Ef(),c=It(),u=di(),d=zC(),h=Jl(),f={network:o.bitcoin,maximumFeeRate:5e3};class l{static fromBase64(p,E={}){const j=Buffer.from(p,"base64");return this.fromBuffer(j,E)}static fromHex(p,E={}){const j=Buffer.from(p,"hex");return this.fromBuffer(j,E)}static fromBuffer(p,E={}){const j=e.Psbt.fromBuffer(p,g),O=new l(E,j);return P(O.__CACHE.__TX,O.__CACHE),O}constructor(p={},E=new e.Psbt(new b)){this.data=E,this.opts=Object.assign({},f,p),this.__CACHE={__NON_WITNESS_UTXO_TX_CACHE:[],__NON_WITNESS_UTXO_BUF_CACHE:[],__TX_IN_CACHE:{},__TX:this.data.globalMap.unsignedTx.tx,__UNSAFE_SIGN_NONSEGWIT:!1},this.data.inputs.length===0&&this.setVersion(2);const j=(O,F,ne,le)=>Object.defineProperty(O,F,{enumerable:ne,writable:le});j(this,"__CACHE",!1,!0),j(this,"opts",!1,!0)}get inputCount(){return this.data.inputs.length}get version(){return this.__CACHE.__TX.version}set version(p){this.setVersion(p)}get locktime(){return this.__CACHE.__TX.locktime}set locktime(p){this.setLocktime(p)}get txInputs(){return this.__CACHE.__TX.ins.map(p=>({hash:(0,a.cloneBuffer)(p.hash),index:p.index,sequence:p.sequence}))}get txOutputs(){return this.__CACHE.__TX.outs.map(p=>{let E;try{E=(0,r.fromOutputScript)(p.script,this.opts.network)}catch{}return{script:(0,a.cloneBuffer)(p.script),value:p.value,address:E}})}combine(...p){return this.data.combine(...p.map(E=>E.data)),this}clone(){const p=l.fromBuffer(this.data.toBuffer());return p.opts=JSON.parse(JSON.stringify(this.opts)),p}setMaximumFeeRate(p){A(p),this.opts.maximumFeeRate=p}setVersion(p){A(p),I(this.data.inputs,"setVersion");const E=this.__CACHE;return E.__TX.version=p,E.__EXTRACTED_TX=void 0,this}setLocktime(p){A(p),I(this.data.inputs,"setLocktime");const E=this.__CACHE;return E.__TX.locktime=p,E.__EXTRACTED_TX=void 0,this}setInputSequence(p,E){A(E),I(this.data.inputs,"setInputSequence");const j=this.__CACHE;if(j.__TX.ins.length<=p)throw new Error("Input index too high");return j.__TX.ins[p].sequence=E,j.__EXTRACTED_TX=void 0,this}addInputs(p){return p.forEach(E=>this.addInput(E)),this}addInput(p){if(arguments.length>1||!p||p.hash===void 0||p.index===void 0)throw new Error("Invalid arguments for Psbt.addInput. Requires single object with at least [hash] and [index]");(0,d.checkTaprootInputFields)(p,p,"addInput"),I(this.data.inputs,"addInput"),p.witnessScript&&Me(p.witnessScript);const E=this.__CACHE;this.data.addInput(p);const j=E.__TX.ins[E.__TX.ins.length-1];M(E,j);const O=this.data.inputs.length-1,F=this.data.inputs[O];return F.nonWitnessUtxo&&N(this.__CACHE,F,O),E.__FEE=void 0,E.__FEE_RATE=void 0,E.__EXTRACTED_TX=void 0,this}addOutputs(p){return p.forEach(E=>this.addOutput(E)),this}addOutput(p){if(arguments.length>1||!p||p.value===void 0||p.address===void 0&&p.script===void 0)throw new Error("Invalid arguments for Psbt.addOutput. Requires single object with at least [script or address] and [value]");I(this.data.inputs,"addOutput");const{address:E}=p;if(typeof E=="string"){const{network:O}=this.opts,F=(0,r.toOutputScript)(E,O);p=Object.assign(p,{script:F})}(0,d.checkTaprootOutputFields)(p,p,"addOutput");const j=this.__CACHE;return this.data.addOutput(p),j.__FEE=void 0,j.__FEE_RATE=void 0,j.__EXTRACTED_TX=void 0,this}extractTransaction(p){if(!this.data.inputs.every(w))throw new Error("Not finalized");const E=this.__CACHE;if(p||T(this,E,this.opts),E.__EXTRACTED_TX)return E.__EXTRACTED_TX;const j=E.__TX.clone();return L(this.data.inputs,j,E,!0),j}getFeeRate(){return q("__FEE_RATE","fee rate",this.data.inputs,this.__CACHE)}getFee(){return q("__FEE","fee",this.data.inputs,this.__CACHE)}finalizeAllInputs(){return(0,n.checkForInput)(this.data.inputs,0),x(this.data.inputs.length).forEach(p=>this.finalizeInput(p)),this}finalizeInput(p,E){const j=(0,n.checkForInput)(this.data.inputs,p);return(0,d.isTaprootInput)(j)?this._finalizeTaprootInput(p,j,void 0,E):this._finalizeInput(p,j,E)}finalizeTaprootInput(p,E,j=d.tapScriptFinalizer){const O=(0,n.checkForInput)(this.data.inputs,p);if((0,d.isTaprootInput)(O))return this._finalizeTaprootInput(p,O,E,j);throw new Error(`Cannot finalize input #${p}. Not Taproot.`)}_finalizeInput(p,E,j=X){const{script:O,isP2SH:F,isP2WSH:ne,isSegwit:le}=re(p,E,this.__CACHE);if(!O)throw new Error(`No script found for input #${p}`);z(E);const{finalScriptSig:ue,finalScriptWitness:pe}=j(p,E,O,le,F,ne);if(ue&&this.data.updateInput(p,{finalScriptSig:ue}),pe&&this.data.updateInput(p,{finalScriptWitness:pe}),!ue&&!pe)throw new Error(`Unknown error finalizing input #${p}`);return this.data.clearFinalizedInput(p),this}_finalizeTaprootInput(p,E,j,O=d.tapScriptFinalizer){if(!E.witnessUtxo)throw new Error(`Cannot finalize input #${p}. Missing withness utxo.`);if(E.tapKeySig){const F=i.p2tr({output:E.witnessUtxo.script,signature:E.tapKeySig}),ne=(0,h.witnessStackToScriptWitness)(F.witness);this.data.updateInput(p,{finalScriptWitness:ne})}else{const{finalScriptWitness:F}=O(p,E,j);this.data.updateInput(p,{finalScriptWitness:F})}return this.data.clearFinalizedInput(p),this}getInputType(p){const E=(0,n.checkForInput)(this.data.inputs,p),j=Z(p,E,this.__CACHE),O=Ge(j,p,"input",E.redeemScript||Q(E.finalScriptSig),E.witnessScript||ke(E.finalScriptWitness)),F=O.type==="raw"?"":O.type+"-",ne=Ae(O.meaningfulScript);return F+ne}inputHasPubkey(p,E){const j=(0,n.checkForInput)(this.data.inputs,p);return fe(E,j,p,this.__CACHE)}inputHasHDKey(p,E){const j=(0,n.checkForInput)(this.data.inputs,p),O=v(E);return!!j.bip32Derivation&&j.bip32Derivation.some(O)}outputHasPubkey(p,E){const j=(0,n.checkForOutput)(this.data.outputs,p);return ge(E,j,p,this.__CACHE)}outputHasHDKey(p,E){const j=(0,n.checkForOutput)(this.data.outputs,p),O=v(E);return!!j.bip32Derivation&&j.bip32Derivation.some(O)}validateSignaturesOfAllInputs(p){return(0,n.checkForInput)(this.data.inputs,0),x(this.data.inputs.length).map(j=>this.validateSignaturesOfInput(j,p)).reduce((j,O)=>O===!0&&j,!0)}validateSignaturesOfInput(p,E,j){const O=this.data.inputs[p];return(0,d.isTaprootInput)(O)?this.validateSignaturesOfTaprootInput(p,E,j):this._validateSignaturesOfInput(p,E,j)}_validateSignaturesOfInput(p,E,j){const O=this.data.inputs[p],F=(O||{}).partialSig;if(!O||!F||F.length<1)throw new Error("No signatures to validate");if(typeof E!="function")throw new Error("Need validator function to validate signatures");const ne=j?F.filter(Pe=>Pe.pubkey.equals(j)):F;if(ne.length<1)throw new Error("No signatures for this pubkey");const le=[];let ue,pe,he;for(const Pe of ne){const ft=c.signature.decode(Pe.signature),{hash:kr,script:De}=he!==ft.hashType?V(p,Object.assign({},O,{sighashType:ft.hashType}),this.__CACHE,!0):{hash:ue,script:pe};he=ft.hashType,ue=kr,pe=De,S(Pe.pubkey,De,"verify"),le.push(E(Pe.pubkey,kr,ft.signature))}return le.every(Pe=>Pe===!0)}validateSignaturesOfTaprootInput(p,E,j){const O=this.data.inputs[p],F=(O||{}).tapKeySig,ne=(O||{}).tapScriptSig;if(!O&&!F&&!(ne&&!ne.length))throw new Error("No signatures to validate");if(typeof E!="function")throw new Error("Need validator function to validate signatures");j=j&&(0,d.toXOnly)(j);const le=j?Y(p,O,this.data.inputs,j,this.__CACHE):W(p,O,this.data.inputs,this.__CACHE);if(!le.length)throw new Error("No signatures for this pubkey");const ue=le.find(he=>!he.leafHash);let pe=0;if(F&&ue){if(!E(ue.pubkey,ue.hash,K(F)))return!1;pe++}if(ne)for(const he of ne){const Pe=le.find(ft=>he.pubkey.equals(ft.pubkey));if(Pe){if(!E(he.pubkey,Pe.hash,K(he.signature)))return!1;pe++}}return pe>0}signAllInputsHD(p,E=[u.Transaction.SIGHASH_ALL]){if(!p||!p.publicKey||!p.fingerprint)throw new Error("Need HDSigner to sign input");const j=[];for(const O of x(this.data.inputs.length))try{this.signInputHD(O,p,E),j.push(!0)}catch{j.push(!1)}if(j.every(O=>O===!1))throw new Error("No inputs were signed");return this}signAllInputsHDAsync(p,E=[u.Transaction.SIGHASH_ALL]){return new Promise((j,O)=>{if(!p||!p.publicKey||!p.fingerprint)return O(new Error("Need HDSigner to sign input"));const F=[],ne=[];for(const le of x(this.data.inputs.length))ne.push(this.signInputHDAsync(le,p,E).then(()=>{F.push(!0)},()=>{F.push(!1)}));return Promise.all(ne).then(()=>{if(F.every(le=>le===!1))return O(new Error("No inputs were signed"));j()})})}signInputHD(p,E,j=[u.Transaction.SIGHASH_ALL]){if(!E||!E.publicKey||!E.fingerprint)throw new Error("Need HDSigner to sign input");return oe(p,this.data.inputs,E).forEach(F=>this.signInput(p,F,j)),this}signInputHDAsync(p,E,j=[u.Transaction.SIGHASH_ALL]){return new Promise((O,F)=>{if(!E||!E.publicKey||!E.fingerprint)return F(new Error("Need HDSigner to sign input"));const le=oe(p,this.data.inputs,E).map(ue=>this.signInputAsync(p,ue,j));return Promise.all(le).then(()=>{O()}).catch(F)})}signAllInputs(p,E){if(!p||!p.publicKey)throw new Error("Need Signer to sign input");const j=[];for(const O of x(this.data.inputs.length))try{this.signInput(O,p,E),j.push(!0)}catch{j.push(!1)}if(j.every(O=>O===!1))throw new Error("No inputs were signed");return this}signAllInputsAsync(p,E){return new Promise((j,O)=>{if(!p||!p.publicKey)return O(new Error("Need Signer to sign input"));const F=[],ne=[];for(const[le]of this.data.inputs.entries())ne.push(this.signInputAsync(le,p,E).then(()=>{F.push(!0)},()=>{F.push(!1)}));return Promise.all(ne).then(()=>{if(F.every(le=>le===!1))return O(new Error("No inputs were signed"));j()})})}signInput(p,E,j){if(!E||!E.publicKey)throw new Error("Need Signer to sign input");const O=(0,n.checkForInput)(this.data.inputs,p);return(0,d.isTaprootInput)(O)?this._signTaprootInput(p,O,E,void 0,j):this._signInput(p,E,j)}signTaprootInput(p,E,j,O){if(!E||!E.publicKey)throw new Error("Need Signer to sign input");const F=(0,n.checkForInput)(this.data.inputs,p);if((0,d.isTaprootInput)(F))return this._signTaprootInput(p,F,E,j,O);throw new Error(`Input #${p} is not of type Taproot.`)}_signInput(p,E,j=[u.Transaction.SIGHASH_ALL]){const{hash:O,sighashType:F}=C(this.data.inputs,p,E.publicKey,this.__CACHE,j),ne=[{pubkey:E.publicKey,signature:c.signature.encode(E.sign(O),F)}];return this.data.updateInput(p,{partialSig:ne}),this}_signTaprootInput(p,E,j,O,F=[u.Transaction.SIGHASH_DEFAULT]){const ne=this.checkTaprootHashesForSig(p,E,j,O,F),le=ne.filter(pe=>!pe.leafHash).map(pe=>(0,d.serializeTaprootSignature)(j.signSchnorr(pe.hash),E.sighashType))[0],ue=ne.filter(pe=>!!pe.leafHash).map(pe=>({pubkey:(0,d.toXOnly)(j.publicKey),signature:(0,d.serializeTaprootSignature)(j.signSchnorr(pe.hash),E.sighashType),leafHash:pe.leafHash}));return le&&this.data.updateInput(p,{tapKeySig:le}),ue.length&&this.data.updateInput(p,{tapScriptSig:ue}),this}signInputAsync(p,E,j){return Promise.resolve().then(()=>{if(!E||!E.publicKey)throw new Error("Need Signer to sign input");const O=(0,n.checkForInput)(this.data.inputs,p);return(0,d.isTaprootInput)(O)?this._signTaprootInputAsync(p,O,E,void 0,j):this._signInputAsync(p,E,j)})}signTaprootInputAsync(p,E,j,O){return Promise.resolve().then(()=>{if(!E||!E.publicKey)throw new Error("Need Signer to sign input");const F=(0,n.checkForInput)(this.data.inputs,p);if((0,d.isTaprootInput)(F))return this._signTaprootInputAsync(p,F,E,j,O);throw new Error(`Input #${p} is not of type Taproot.`)})}_signInputAsync(p,E,j=[u.Transaction.SIGHASH_ALL]){const{hash:O,sighashType:F}=C(this.data.inputs,p,E.publicKey,this.__CACHE,j);return Promise.resolve(E.sign(O)).then(ne=>{const le=[{pubkey:E.publicKey,signature:c.signature.encode(ne,F)}];this.data.updateInput(p,{partialSig:le})})}async _signTaprootInputAsync(p,E,j,O,F=[u.Transaction.SIGHASH_DEFAULT]){const ne=this.checkTaprootHashesForSig(p,E,j,O,F),le=[],ue=ne.filter(he=>!he.leafHash)[0];if(ue){const he=Promise.resolve(j.signSchnorr(ue.hash)).then(Pe=>({tapKeySig:(0,d.serializeTaprootSignature)(Pe,E.sighashType)}));le.push(he)}const pe=ne.filter(he=>!!he.leafHash);if(pe.length){const he=pe.map(Pe=>Promise.resolve(j.signSchnorr(Pe.hash)).then(ft=>({tapScriptSig:[{pubkey:(0,d.toXOnly)(j.publicKey),signature:(0,d.serializeTaprootSignature)(ft,E.sighashType),leafHash:Pe.leafHash}]})));le.push(...he)}return Promise.all(le).then(he=>{he.forEach(Pe=>this.data.updateInput(p,Pe))})}checkTaprootHashesForSig(p,E,j,O,F){if(typeof j.signSchnorr!="function")throw new Error(`Need Schnorr Signer to sign taproot input #${p}.`);const ne=Y(p,E,this.data.inputs,j.publicKey,this.__CACHE,O,F);if(!ne||!ne.length)throw new Error(`Can not sign for input #${p} with the key ${j.publicKey.toString("hex")}`);return ne}toBuffer(){return _(this.__CACHE),this.data.toBuffer()}toHex(){return _(this.__CACHE),this.data.toHex()}toBase64(){return _(this.__CACHE),this.data.toBase64()}updateGlobal(p){return this.data.updateGlobal(p),this}updateInput(p,E){return E.witnessScript&&Me(E.witnessScript),(0,d.checkTaprootInputFields)(this.data.inputs[p],E,"updateInput"),this.data.updateInput(p,E),E.nonWitnessUtxo&&N(this.__CACHE,this.data.inputs[p],p),this}updateOutput(p,E){const j=this.data.outputs[p];return(0,d.checkTaprootOutputFields)(j,E,"updateOutput"),this.data.updateOutput(p,E),this}addUnknownKeyValToGlobal(p){return this.data.addUnknownKeyValToGlobal(p),this}addUnknownKeyValToInput(p,E){return this.data.addUnknownKeyValToInput(p,E),this}addUnknownKeyValToOutput(p,E){return this.data.addUnknownKeyValToOutput(p,E),this}clearFinalizedInput(p){return this.data.clearFinalizedInput(p),this}}oo.Psbt=l;const g=m=>new b(m);class b{constructor(p=Buffer.from([2,0,0,0,0,0,0,0,0,0])){this.tx=u.Transaction.fromBuffer(p),B(this.tx),Object.defineProperty(this,"tx",{enumerable:!1,writable:!0})}getInputOutputCounts(){return{inputCount:this.tx.ins.length,outputCount:this.tx.outs.length}}addInput(p){if(p.hash===void 0||p.index===void 0||!Buffer.isBuffer(p.hash)&&typeof p.hash!="string"||typeof p.index!="number")throw new Error("Error adding input.");const E=typeof p.hash=="string"?(0,a.reverseBuffer)(Buffer.from(p.hash,"hex")):p.hash;this.tx.addInput(E,p.index,p.sequence)}addOutput(p){if(p.script===void 0||p.value===void 0||!Buffer.isBuffer(p.script)||typeof p.value!="number")throw new Error("Error adding output.");this.tx.addOutput(p.script,p.value)}toBuffer(){return this.tx.toBuffer()}}function y(m,p,E){switch(E){case"pubkey":case"pubkeyhash":case"witnesspubkeyhash":return k(1,m.partialSig);case"multisig":const j=i.p2ms({output:p});return k(j.m,m.partialSig,j.pubkeys);default:return!1}}function _(m){if(m.__UNSAFE_SIGN_NONSEGWIT!==!1)throw new Error("Not BIP174 compliant, can not export")}function k(m,p,E){if(!p)return!1;let j;if(E?j=E.map(O=>{const F=me(O);return p.find(ne=>ne.pubkey.equals(F))}).filter(O=>!!O):j=p,j.length>m)throw new Error("Too many signatures");return j.length===m}function w(m){return!!m.finalScriptSig||!!m.finalScriptWitness}function v(m){return p=>!(!p.masterFingerprint.equals(m.fingerprint)||!m.derivePath(p.path).publicKey.equals(p.pubkey))}function A(m){if(typeof m!="number"||m!==Math.floor(m)||m>4294967295||m<0)throw new Error("Invalid 32 bit integer")}function T(m,p,E){const j=p.__FEE_RATE||m.getFeeRate(),O=p.__EXTRACTED_TX.virtualSize(),F=j*O;if(j>=E.maximumFeeRate)throw new Error(`Warning: You are paying around ${(F/1e8).toFixed(8)} in fees, which is ${j} satoshi per byte for a transaction with a VSize of ${O} bytes (segwit counted as 0.25 byte per byte). Use setMaximumFeeRate method to raise your threshold, or pass true to the first arg of extractTransaction.`)}function I(m,p){m.forEach(E=>{if((0,d.isTaprootInput)(E)?(0,d.checkTaprootInputForSigs)(E,p):(0,h.checkInputForSig)(E,p))throw new Error("Can not modify transaction, signatures exist.")})}function z(m){if(!m.sighashType||!m.partialSig)return;const{partialSig:p,sighashType:E}=m;p.forEach(j=>{const{hashType:O}=c.signature.decode(j.signature);if(E!==O)throw new Error("Signature sighash does not match input sighash type")})}function S(m,p,E){if(!(0,h.pubkeyInScript)(m,p))throw new Error(`Can not ${E} for this input with the key ${m.toString("hex")}`)}function B(m){if(!m.ins.every(E=>E.script&&E.script.length===0&&E.witness&&E.witness.length===0))throw new Error("Format Error: Transaction ScriptSigs are not empty")}function P(m,p){m.ins.forEach(E=>{M(p,E)})}function M(m,p){const E=(0,a.reverseBuffer)(Buffer.from(p.hash)).toString("hex")+":"+p.index;if(m.__TX_IN_CACHE[E])throw new Error("Duplicate input detected.");m.__TX_IN_CACHE[E]=1}function D(m,p){return(E,j,O,F)=>{const ne=m({redeem:{output:O}}).output;if(!j.equals(ne))throw new Error(`${p} for ${F} #${E} doesn't match the scriptPubKey in the prevout`)}}const R=D(i.p2sh,"Redeem script"),$=D(i.p2wsh,"Witness script");function q(m,p,E,j){if(!E.every(w))throw new Error(`PSBT must be finalized to calculate ${p}`);if(m==="__FEE_RATE"&&j.__FEE_RATE)return j.__FEE_RATE;if(m==="__FEE"&&j.__FEE)return j.__FEE;let O,F=!0;if(j.__EXTRACTED_TX?(O=j.__EXTRACTED_TX,F=!1):O=j.__TX.clone(),L(E,O,j,F),m==="__FEE_RATE")return j.__FEE_RATE;if(m==="__FEE")return j.__FEE}function X(m,p,E,j,O,F){const ne=Ae(E);if(!y(p,E,ne))throw new Error(`Can not finalize input #${m}`);return H(E,ne,p.partialSig,j,O,F)}function H(m,p,E,j,O,F){let ne,le;const ue=te(m,p,E),pe=F?i.p2wsh({redeem:ue}):null,he=O?i.p2sh({redeem:pe||ue}):null;return j?(pe?le=(0,h.witnessStackToScriptWitness)(pe.witness):le=(0,h.witnessStackToScriptWitness)(ue.witness),he&&(ne=he.input)):he?ne=he.input:ne=ue.input,{finalScriptSig:ne,finalScriptWitness:le}}function C(m,p,E,j,O){const F=(0,n.checkForInput)(m,p),{hash:ne,sighashType:le,script:ue}=V(p,F,j,!1,O);return S(E,ue,"sign"),{hash:ne,sighashType:le}}function V(m,p,E,j,O){const F=E.__TX,ne=p.sighashType||u.Transaction.SIGHASH_ALL;de(ne,O);let le,ue;if(p.nonWitnessUtxo){const Pe=J(E,p,m),ft=F.ins[m].hash,kr=Pe.getHash();if(!ft.equals(kr))throw new Error(`Non-witness UTXO hash for input #${m} doesn't match the hash specified in the prevout`);const De=F.ins[m].index;ue=Pe.outs[De]}else if(p.witnessUtxo)ue=p.witnessUtxo;else throw new Error("Need a Utxo input item for signing");const{meaningfulScript:pe,type:he}=Ge(ue.script,m,"input",p.redeemScript,p.witnessScript);if(["p2sh-p2wsh","p2wsh"].indexOf(he)>=0)le=F.hashForWitnessV0(m,pe,ue.value,ne);else if((0,h.isP2WPKH)(pe)){const Pe=i.p2pkh({hash:pe.slice(2)}).output;le=F.hashForWitnessV0(m,Pe,ue.value,ne)}else{if(p.nonWitnessUtxo===void 0&&E.__UNSAFE_SIGN_NONSEGWIT===!1)throw new Error(`Input #${m} has witnessUtxo but non-segwit script: ${pe.toString("hex")}`);!j&&E.__UNSAFE_SIGN_NONSEGWIT!==!1&&console.warn(`Warning: Signing non-segwit inputs without the full parent transaction means there is a chance that a miner could feed you incorrect information to trick you into paying large fees. This behavior is the same as Psbt's predecesor (TransactionBuilder - now removed) when signing non-segwit scripts. You are not able to export this Psbt with toBuffer|toBase64|toHex since it is not BIP174 compliant.
|
|
225
|
+
*/var Wm;function Gs(){return Wm||(Wm=1,(function(e){const t=D3(),n=F3(),r=typeof Symbol=="function"&&typeof Symbol.for=="function"?Symbol.for("nodejs.util.inspect.custom"):null;e.Buffer=s,e.SlowBuffer=k,e.INSPECT_MAX_BYTES=50;const a=2147483647;e.kMaxLength=a,s.TYPED_ARRAY_SUPPORT=o(),!s.TYPED_ARRAY_SUPPORT&&typeof console<"u"&&typeof console.error=="function"&&console.error("This browser lacks typed array (Uint8Array) support which is required by `buffer` v5.x. Use `buffer` v4.x if you require old browser support.");function o(){try{const x=new Uint8Array(1),m={foo:function(){return 42}};return Object.setPrototypeOf(m,Uint8Array.prototype),Object.setPrototypeOf(x,m),x.foo()===42}catch{return!1}}Object.defineProperty(s.prototype,"parent",{enumerable:!0,get:function(){if(s.isBuffer(this))return this.buffer}}),Object.defineProperty(s.prototype,"offset",{enumerable:!0,get:function(){if(s.isBuffer(this))return this.byteOffset}});function i(x){if(x>a)throw new RangeError('The value "'+x+'" is invalid for option "size"');const m=new Uint8Array(x);return Object.setPrototypeOf(m,s.prototype),m}function s(x,m,p){if(typeof x=="number"){if(typeof m=="string")throw new TypeError('The "string" argument must be of type string. Received type number');return h(x)}return c(x,m,p)}s.poolSize=8192;function c(x,m,p){if(typeof x=="string")return f(x,m);if(ArrayBuffer.isView(x))return g(x);if(x==null)throw new TypeError("The first argument must be one of type string, Buffer, ArrayBuffer, Array, or Array-like Object. Received type "+typeof x);if(Be(x,ArrayBuffer)||x&&Be(x.buffer,ArrayBuffer)||typeof SharedArrayBuffer<"u"&&(Be(x,SharedArrayBuffer)||x&&Be(x.buffer,SharedArrayBuffer)))return b(x,m,p);if(typeof x=="number")throw new TypeError('The "value" argument must not be of type number. Received type number');const E=x.valueOf&&x.valueOf();if(E!=null&&E!==x)return s.from(E,m,p);const j=y(x);if(j)return j;if(typeof Symbol<"u"&&Symbol.toPrimitive!=null&&typeof x[Symbol.toPrimitive]=="function")return s.from(x[Symbol.toPrimitive]("string"),m,p);throw new TypeError("The first argument must be one of type string, Buffer, ArrayBuffer, Array, or Array-like Object. Received type "+typeof x)}s.from=function(x,m,p){return c(x,m,p)},Object.setPrototypeOf(s.prototype,Uint8Array.prototype),Object.setPrototypeOf(s,Uint8Array);function u(x){if(typeof x!="number")throw new TypeError('"size" argument must be of type number');if(x<0)throw new RangeError('The value "'+x+'" is invalid for option "size"')}function d(x,m,p){return u(x),x<=0?i(x):m!==void 0?typeof p=="string"?i(x).fill(m,p):i(x).fill(m):i(x)}s.alloc=function(x,m,p){return d(x,m,p)};function h(x){return u(x),i(x<0?0:_(x)|0)}s.allocUnsafe=function(x){return h(x)},s.allocUnsafeSlow=function(x){return h(x)};function f(x,m){if((typeof m!="string"||m==="")&&(m="utf8"),!s.isEncoding(m))throw new TypeError("Unknown encoding: "+m);const p=w(x,m)|0;let E=i(p);const j=E.write(x,m);return j!==p&&(E=E.slice(0,j)),E}function l(x){const m=x.length<0?0:_(x.length)|0,p=i(m);for(let E=0;E<m;E+=1)p[E]=x[E]&255;return p}function g(x){if(Be(x,Uint8Array)){const m=new Uint8Array(x);return b(m.buffer,m.byteOffset,m.byteLength)}return l(x)}function b(x,m,p){if(m<0||x.byteLength<m)throw new RangeError('"offset" is outside of buffer bounds');if(x.byteLength<m+(p||0))throw new RangeError('"length" is outside of buffer bounds');let E;return m===void 0&&p===void 0?E=new Uint8Array(x):p===void 0?E=new Uint8Array(x,m):E=new Uint8Array(x,m,p),Object.setPrototypeOf(E,s.prototype),E}function y(x){if(s.isBuffer(x)){const m=_(x.length)|0,p=i(m);return p.length===0||x.copy(p,0,0,m),p}if(x.length!==void 0)return typeof x.length!="number"||Fe(x.length)?i(0):l(x);if(x.type==="Buffer"&&Array.isArray(x.data))return l(x.data)}function _(x){if(x>=a)throw new RangeError("Attempt to allocate Buffer larger than maximum size: 0x"+a.toString(16)+" bytes");return x|0}function k(x){return+x!=x&&(x=0),s.alloc(+x)}s.isBuffer=function(m){return m!=null&&m._isBuffer===!0&&m!==s.prototype},s.compare=function(m,p){if(Be(m,Uint8Array)&&(m=s.from(m,m.offset,m.byteLength)),Be(p,Uint8Array)&&(p=s.from(p,p.offset,p.byteLength)),!s.isBuffer(m)||!s.isBuffer(p))throw new TypeError('The "buf1", "buf2" arguments must be one of type Buffer or Uint8Array');if(m===p)return 0;let E=m.length,j=p.length;for(let O=0,F=Math.min(E,j);O<F;++O)if(m[O]!==p[O]){E=m[O],j=p[O];break}return E<j?-1:j<E?1:0},s.isEncoding=function(m){switch(String(m).toLowerCase()){case"hex":case"utf8":case"utf-8":case"ascii":case"latin1":case"binary":case"base64":case"ucs2":case"ucs-2":case"utf16le":case"utf-16le":return!0;default:return!1}},s.concat=function(m,p){if(!Array.isArray(m))throw new TypeError('"list" argument must be an Array of Buffers');if(m.length===0)return s.alloc(0);let E;if(p===void 0)for(p=0,E=0;E<m.length;++E)p+=m[E].length;const j=s.allocUnsafe(p);let O=0;for(E=0;E<m.length;++E){let F=m[E];if(Be(F,Uint8Array))O+F.length>j.length?(s.isBuffer(F)||(F=s.from(F)),F.copy(j,O)):Uint8Array.prototype.set.call(j,F,O);else if(s.isBuffer(F))F.copy(j,O);else throw new TypeError('"list" argument must be an Array of Buffers');O+=F.length}return j};function w(x,m){if(s.isBuffer(x))return x.length;if(ArrayBuffer.isView(x)||Be(x,ArrayBuffer))return x.byteLength;if(typeof x!="string")throw new TypeError('The "string" argument must be one of type string, Buffer, or ArrayBuffer. Received type '+typeof x);const p=x.length,E=arguments.length>2&&arguments[2]===!0;if(!E&&p===0)return 0;let j=!1;for(;;)switch(m){case"ascii":case"latin1":case"binary":return p;case"utf8":case"utf-8":return fe(x).length;case"ucs2":case"ucs-2":case"utf16le":case"utf-16le":return p*2;case"hex":return p>>>1;case"base64":return ke(x).length;default:if(j)return E?-1:fe(x).length;m=(""+m).toLowerCase(),j=!0}}s.byteLength=w;function v(x,m,p){let E=!1;if((m===void 0||m<0)&&(m=0),m>this.length||((p===void 0||p>this.length)&&(p=this.length),p<=0)||(p>>>=0,m>>>=0,p<=m))return"";for(x||(x="utf8");;)switch(x){case"hex":return C(this,m,p);case"utf8":case"utf-8":return R(this,m,p);case"ascii":return X(this,m,p);case"latin1":case"binary":return H(this,m,p);case"base64":return D(this,m,p);case"ucs2":case"ucs-2":case"utf16le":case"utf-16le":return V(this,m,p);default:if(E)throw new TypeError("Unknown encoding: "+x);x=(x+"").toLowerCase(),E=!0}}s.prototype._isBuffer=!0;function A(x,m,p){const E=x[m];x[m]=x[p],x[p]=E}s.prototype.swap16=function(){const m=this.length;if(m%2!==0)throw new RangeError("Buffer size must be a multiple of 16-bits");for(let p=0;p<m;p+=2)A(this,p,p+1);return this},s.prototype.swap32=function(){const m=this.length;if(m%4!==0)throw new RangeError("Buffer size must be a multiple of 32-bits");for(let p=0;p<m;p+=4)A(this,p,p+3),A(this,p+1,p+2);return this},s.prototype.swap64=function(){const m=this.length;if(m%8!==0)throw new RangeError("Buffer size must be a multiple of 64-bits");for(let p=0;p<m;p+=8)A(this,p,p+7),A(this,p+1,p+6),A(this,p+2,p+5),A(this,p+3,p+4);return this},s.prototype.toString=function(){const m=this.length;return m===0?"":arguments.length===0?R(this,0,m):v.apply(this,arguments)},s.prototype.toLocaleString=s.prototype.toString,s.prototype.equals=function(m){if(!s.isBuffer(m))throw new TypeError("Argument must be a Buffer");return this===m?!0:s.compare(this,m)===0},s.prototype.inspect=function(){let m="";const p=e.INSPECT_MAX_BYTES;return m=this.toString("hex",0,p).replace(/(.{2})/g,"$1 ").trim(),this.length>p&&(m+=" ... "),"<Buffer "+m+">"},r&&(s.prototype[r]=s.prototype.inspect),s.prototype.compare=function(m,p,E,j,O){if(Be(m,Uint8Array)&&(m=s.from(m,m.offset,m.byteLength)),!s.isBuffer(m))throw new TypeError('The "target" argument must be one of type Buffer or Uint8Array. Received type '+typeof m);if(p===void 0&&(p=0),E===void 0&&(E=m?m.length:0),j===void 0&&(j=0),O===void 0&&(O=this.length),p<0||E>m.length||j<0||O>this.length)throw new RangeError("out of range index");if(j>=O&&p>=E)return 0;if(j>=O)return-1;if(p>=E)return 1;if(p>>>=0,E>>>=0,j>>>=0,O>>>=0,this===m)return 0;let F=O-j,ne=E-p;const le=Math.min(F,ne),ue=this.slice(j,O),pe=m.slice(p,E);for(let he=0;he<le;++he)if(ue[he]!==pe[he]){F=ue[he],ne=pe[he];break}return F<ne?-1:ne<F?1:0};function T(x,m,p,E,j){if(x.length===0)return-1;if(typeof p=="string"?(E=p,p=0):p>2147483647?p=2147483647:p<-2147483648&&(p=-2147483648),p=+p,Fe(p)&&(p=j?0:x.length-1),p<0&&(p=x.length+p),p>=x.length){if(j)return-1;p=x.length-1}else if(p<0)if(j)p=0;else return-1;if(typeof m=="string"&&(m=s.from(m,E)),s.isBuffer(m))return m.length===0?-1:I(x,m,p,E,j);if(typeof m=="number")return m=m&255,typeof Uint8Array.prototype.indexOf=="function"?j?Uint8Array.prototype.indexOf.call(x,m,p):Uint8Array.prototype.lastIndexOf.call(x,m,p):I(x,[m],p,E,j);throw new TypeError("val must be string, number or Buffer")}function I(x,m,p,E,j){let O=1,F=x.length,ne=m.length;if(E!==void 0&&(E=String(E).toLowerCase(),E==="ucs2"||E==="ucs-2"||E==="utf16le"||E==="utf-16le")){if(x.length<2||m.length<2)return-1;O=2,F/=2,ne/=2,p/=2}function le(pe,he){return O===1?pe[he]:pe.readUInt16BE(he*O)}let ue;if(j){let pe=-1;for(ue=p;ue<F;ue++)if(le(x,ue)===le(m,pe===-1?0:ue-pe)){if(pe===-1&&(pe=ue),ue-pe+1===ne)return pe*O}else pe!==-1&&(ue-=ue-pe),pe=-1}else for(p+ne>F&&(p=F-ne),ue=p;ue>=0;ue--){let pe=!0;for(let he=0;he<ne;he++)if(le(x,ue+he)!==le(m,he)){pe=!1;break}if(pe)return ue}return-1}s.prototype.includes=function(m,p,E){return this.indexOf(m,p,E)!==-1},s.prototype.indexOf=function(m,p,E){return T(this,m,p,E,!0)},s.prototype.lastIndexOf=function(m,p,E){return T(this,m,p,E,!1)};function z(x,m,p,E){p=Number(p)||0;const j=x.length-p;E?(E=Number(E),E>j&&(E=j)):E=j;const O=m.length;E>O/2&&(E=O/2);let F;for(F=0;F<E;++F){const ne=parseInt(m.substr(F*2,2),16);if(Fe(ne))return F;x[p+F]=ne}return F}function S(x,m,p,E){return me(fe(m,x.length-p),x,p,E)}function B(x,m,p,E){return me(ge(m),x,p,E)}function P(x,m,p,E){return me(ke(m),x,p,E)}function M(x,m,p,E){return me(Q(m,x.length-p),x,p,E)}s.prototype.write=function(m,p,E,j){if(p===void 0)j="utf8",E=this.length,p=0;else if(E===void 0&&typeof p=="string")j=p,E=this.length,p=0;else if(isFinite(p))p=p>>>0,isFinite(E)?(E=E>>>0,j===void 0&&(j="utf8")):(j=E,E=void 0);else throw new Error("Buffer.write(string, encoding, offset[, length]) is no longer supported");const O=this.length-p;if((E===void 0||E>O)&&(E=O),m.length>0&&(E<0||p<0)||p>this.length)throw new RangeError("Attempt to write outside buffer bounds");j||(j="utf8");let F=!1;for(;;)switch(j){case"hex":return z(this,m,p,E);case"utf8":case"utf-8":return S(this,m,p,E);case"ascii":case"latin1":case"binary":return B(this,m,p,E);case"base64":return P(this,m,p,E);case"ucs2":case"ucs-2":case"utf16le":case"utf-16le":return M(this,m,p,E);default:if(F)throw new TypeError("Unknown encoding: "+j);j=(""+j).toLowerCase(),F=!0}},s.prototype.toJSON=function(){return{type:"Buffer",data:Array.prototype.slice.call(this._arr||this,0)}};function D(x,m,p){return m===0&&p===x.length?t.fromByteArray(x):t.fromByteArray(x.slice(m,p))}function R(x,m,p){p=Math.min(x.length,p);const E=[];let j=m;for(;j<p;){const O=x[j];let F=null,ne=O>239?4:O>223?3:O>191?2:1;if(j+ne<=p){let le,ue,pe,he;switch(ne){case 1:O<128&&(F=O);break;case 2:le=x[j+1],(le&192)===128&&(he=(O&31)<<6|le&63,he>127&&(F=he));break;case 3:le=x[j+1],ue=x[j+2],(le&192)===128&&(ue&192)===128&&(he=(O&15)<<12|(le&63)<<6|ue&63,he>2047&&(he<55296||he>57343)&&(F=he));break;case 4:le=x[j+1],ue=x[j+2],pe=x[j+3],(le&192)===128&&(ue&192)===128&&(pe&192)===128&&(he=(O&15)<<18|(le&63)<<12|(ue&63)<<6|pe&63,he>65535&&he<1114112&&(F=he))}}F===null?(F=65533,ne=1):F>65535&&(F-=65536,E.push(F>>>10&1023|55296),F=56320|F&1023),E.push(F),j+=ne}return q(E)}const $=4096;function q(x){const m=x.length;if(m<=$)return String.fromCharCode.apply(String,x);let p="",E=0;for(;E<m;)p+=String.fromCharCode.apply(String,x.slice(E,E+=$));return p}function X(x,m,p){let E="";p=Math.min(x.length,p);for(let j=m;j<p;++j)E+=String.fromCharCode(x[j]&127);return E}function H(x,m,p){let E="";p=Math.min(x.length,p);for(let j=m;j<p;++j)E+=String.fromCharCode(x[j]);return E}function C(x,m,p){const E=x.length;(!m||m<0)&&(m=0),(!p||p<0||p>E)&&(p=E);let j="";for(let O=m;O<p;++O)j+=Ge[x[O]];return j}function V(x,m,p){const E=x.slice(m,p);let j="";for(let O=0;O<E.length-1;O+=2)j+=String.fromCharCode(E[O]+E[O+1]*256);return j}s.prototype.slice=function(m,p){const E=this.length;m=~~m,p=p===void 0?E:~~p,m<0?(m+=E,m<0&&(m=0)):m>E&&(m=E),p<0?(p+=E,p<0&&(p=0)):p>E&&(p=E),p<m&&(p=m);const j=this.subarray(m,p);return Object.setPrototypeOf(j,s.prototype),j};function W(x,m,p){if(x%1!==0||x<0)throw new RangeError("offset is not uint");if(x+m>p)throw new RangeError("Trying to access beyond buffer length")}s.prototype.readUintLE=s.prototype.readUIntLE=function(m,p,E){m=m>>>0,p=p>>>0,E||W(m,p,this.length);let j=this[m],O=1,F=0;for(;++F<p&&(O*=256);)j+=this[m+F]*O;return j},s.prototype.readUintBE=s.prototype.readUIntBE=function(m,p,E){m=m>>>0,p=p>>>0,E||W(m,p,this.length);let j=this[m+--p],O=1;for(;p>0&&(O*=256);)j+=this[m+--p]*O;return j},s.prototype.readUint8=s.prototype.readUInt8=function(m,p){return m=m>>>0,p||W(m,1,this.length),this[m]},s.prototype.readUint16LE=s.prototype.readUInt16LE=function(m,p){return m=m>>>0,p||W(m,2,this.length),this[m]|this[m+1]<<8},s.prototype.readUint16BE=s.prototype.readUInt16BE=function(m,p){return m=m>>>0,p||W(m,2,this.length),this[m]<<8|this[m+1]},s.prototype.readUint32LE=s.prototype.readUInt32LE=function(m,p){return m=m>>>0,p||W(m,4,this.length),(this[m]|this[m+1]<<8|this[m+2]<<16)+this[m+3]*16777216},s.prototype.readUint32BE=s.prototype.readUInt32BE=function(m,p){return m=m>>>0,p||W(m,4,this.length),this[m]*16777216+(this[m+1]<<16|this[m+2]<<8|this[m+3])},s.prototype.readBigUInt64LE=Me(function(m){m=m>>>0,L(m,"offset");const p=this[m],E=this[m+7];(p===void 0||E===void 0)&&J(m,this.length-8);const j=p+this[++m]*2**8+this[++m]*2**16+this[++m]*2**24,O=this[++m]+this[++m]*2**8+this[++m]*2**16+E*2**24;return BigInt(j)+(BigInt(O)<<BigInt(32))}),s.prototype.readBigUInt64BE=Me(function(m){m=m>>>0,L(m,"offset");const p=this[m],E=this[m+7];(p===void 0||E===void 0)&&J(m,this.length-8);const j=p*2**24+this[++m]*2**16+this[++m]*2**8+this[++m],O=this[++m]*2**24+this[++m]*2**16+this[++m]*2**8+E;return(BigInt(j)<<BigInt(32))+BigInt(O)}),s.prototype.readIntLE=function(m,p,E){m=m>>>0,p=p>>>0,E||W(m,p,this.length);let j=this[m],O=1,F=0;for(;++F<p&&(O*=256);)j+=this[m+F]*O;return O*=128,j>=O&&(j-=Math.pow(2,8*p)),j},s.prototype.readIntBE=function(m,p,E){m=m>>>0,p=p>>>0,E||W(m,p,this.length);let j=p,O=1,F=this[m+--j];for(;j>0&&(O*=256);)F+=this[m+--j]*O;return O*=128,F>=O&&(F-=Math.pow(2,8*p)),F},s.prototype.readInt8=function(m,p){return m=m>>>0,p||W(m,1,this.length),this[m]&128?(255-this[m]+1)*-1:this[m]},s.prototype.readInt16LE=function(m,p){m=m>>>0,p||W(m,2,this.length);const E=this[m]|this[m+1]<<8;return E&32768?E|4294901760:E},s.prototype.readInt16BE=function(m,p){m=m>>>0,p||W(m,2,this.length);const E=this[m+1]|this[m]<<8;return E&32768?E|4294901760:E},s.prototype.readInt32LE=function(m,p){return m=m>>>0,p||W(m,4,this.length),this[m]|this[m+1]<<8|this[m+2]<<16|this[m+3]<<24},s.prototype.readInt32BE=function(m,p){return m=m>>>0,p||W(m,4,this.length),this[m]<<24|this[m+1]<<16|this[m+2]<<8|this[m+3]},s.prototype.readBigInt64LE=Me(function(m){m=m>>>0,L(m,"offset");const p=this[m],E=this[m+7];(p===void 0||E===void 0)&&J(m,this.length-8);const j=this[m+4]+this[m+5]*2**8+this[m+6]*2**16+(E<<24);return(BigInt(j)<<BigInt(32))+BigInt(p+this[++m]*2**8+this[++m]*2**16+this[++m]*2**24)}),s.prototype.readBigInt64BE=Me(function(m){m=m>>>0,L(m,"offset");const p=this[m],E=this[m+7];(p===void 0||E===void 0)&&J(m,this.length-8);const j=(p<<24)+this[++m]*2**16+this[++m]*2**8+this[++m];return(BigInt(j)<<BigInt(32))+BigInt(this[++m]*2**24+this[++m]*2**16+this[++m]*2**8+E)}),s.prototype.readFloatLE=function(m,p){return m=m>>>0,p||W(m,4,this.length),n.read(this,m,!0,23,4)},s.prototype.readFloatBE=function(m,p){return m=m>>>0,p||W(m,4,this.length),n.read(this,m,!1,23,4)},s.prototype.readDoubleLE=function(m,p){return m=m>>>0,p||W(m,8,this.length),n.read(this,m,!0,52,8)},s.prototype.readDoubleBE=function(m,p){return m=m>>>0,p||W(m,8,this.length),n.read(this,m,!1,52,8)};function U(x,m,p,E,j,O){if(!s.isBuffer(x))throw new TypeError('"buffer" argument must be a Buffer instance');if(m>j||m<O)throw new RangeError('"value" argument is out of bounds');if(p+E>x.length)throw new RangeError("Index out of range")}s.prototype.writeUintLE=s.prototype.writeUIntLE=function(m,p,E,j){if(m=+m,p=p>>>0,E=E>>>0,!j){const ne=Math.pow(2,8*E)-1;U(this,m,p,E,ne,0)}let O=1,F=0;for(this[p]=m&255;++F<E&&(O*=256);)this[p+F]=m/O&255;return p+E},s.prototype.writeUintBE=s.prototype.writeUIntBE=function(m,p,E,j){if(m=+m,p=p>>>0,E=E>>>0,!j){const ne=Math.pow(2,8*E)-1;U(this,m,p,E,ne,0)}let O=E-1,F=1;for(this[p+O]=m&255;--O>=0&&(F*=256);)this[p+O]=m/F&255;return p+E},s.prototype.writeUint8=s.prototype.writeUInt8=function(m,p,E){return m=+m,p=p>>>0,E||U(this,m,p,1,255,0),this[p]=m&255,p+1},s.prototype.writeUint16LE=s.prototype.writeUInt16LE=function(m,p,E){return m=+m,p=p>>>0,E||U(this,m,p,2,65535,0),this[p]=m&255,this[p+1]=m>>>8,p+2},s.prototype.writeUint16BE=s.prototype.writeUInt16BE=function(m,p,E){return m=+m,p=p>>>0,E||U(this,m,p,2,65535,0),this[p]=m>>>8,this[p+1]=m&255,p+2},s.prototype.writeUint32LE=s.prototype.writeUInt32LE=function(m,p,E){return m=+m,p=p>>>0,E||U(this,m,p,4,4294967295,0),this[p+3]=m>>>24,this[p+2]=m>>>16,this[p+1]=m>>>8,this[p]=m&255,p+4},s.prototype.writeUint32BE=s.prototype.writeUInt32BE=function(m,p,E){return m=+m,p=p>>>0,E||U(this,m,p,4,4294967295,0),this[p]=m>>>24,this[p+1]=m>>>16,this[p+2]=m>>>8,this[p+3]=m&255,p+4};function K(x,m,p,E,j){N(m,E,j,x,p,7);let O=Number(m&BigInt(4294967295));x[p++]=O,O=O>>8,x[p++]=O,O=O>>8,x[p++]=O,O=O>>8,x[p++]=O;let F=Number(m>>BigInt(32)&BigInt(4294967295));return x[p++]=F,F=F>>8,x[p++]=F,F=F>>8,x[p++]=F,F=F>>8,x[p++]=F,p}function Y(x,m,p,E,j){N(m,E,j,x,p,7);let O=Number(m&BigInt(4294967295));x[p+7]=O,O=O>>8,x[p+6]=O,O=O>>8,x[p+5]=O,O=O>>8,x[p+4]=O;let F=Number(m>>BigInt(32)&BigInt(4294967295));return x[p+3]=F,F=F>>8,x[p+2]=F,F=F>>8,x[p+1]=F,F=F>>8,x[p]=F,p+8}s.prototype.writeBigUInt64LE=Me(function(m,p=0){return K(this,m,p,BigInt(0),BigInt("0xffffffffffffffff"))}),s.prototype.writeBigUInt64BE=Me(function(m,p=0){return Y(this,m,p,BigInt(0),BigInt("0xffffffffffffffff"))}),s.prototype.writeIntLE=function(m,p,E,j){if(m=+m,p=p>>>0,!j){const le=Math.pow(2,8*E-1);U(this,m,p,E,le-1,-le)}let O=0,F=1,ne=0;for(this[p]=m&255;++O<E&&(F*=256);)m<0&&ne===0&&this[p+O-1]!==0&&(ne=1),this[p+O]=(m/F>>0)-ne&255;return p+E},s.prototype.writeIntBE=function(m,p,E,j){if(m=+m,p=p>>>0,!j){const le=Math.pow(2,8*E-1);U(this,m,p,E,le-1,-le)}let O=E-1,F=1,ne=0;for(this[p+O]=m&255;--O>=0&&(F*=256);)m<0&&ne===0&&this[p+O+1]!==0&&(ne=1),this[p+O]=(m/F>>0)-ne&255;return p+E},s.prototype.writeInt8=function(m,p,E){return m=+m,p=p>>>0,E||U(this,m,p,1,127,-128),m<0&&(m=255+m+1),this[p]=m&255,p+1},s.prototype.writeInt16LE=function(m,p,E){return m=+m,p=p>>>0,E||U(this,m,p,2,32767,-32768),this[p]=m&255,this[p+1]=m>>>8,p+2},s.prototype.writeInt16BE=function(m,p,E){return m=+m,p=p>>>0,E||U(this,m,p,2,32767,-32768),this[p]=m>>>8,this[p+1]=m&255,p+2},s.prototype.writeInt32LE=function(m,p,E){return m=+m,p=p>>>0,E||U(this,m,p,4,2147483647,-2147483648),this[p]=m&255,this[p+1]=m>>>8,this[p+2]=m>>>16,this[p+3]=m>>>24,p+4},s.prototype.writeInt32BE=function(m,p,E){return m=+m,p=p>>>0,E||U(this,m,p,4,2147483647,-2147483648),m<0&&(m=4294967295+m+1),this[p]=m>>>24,this[p+1]=m>>>16,this[p+2]=m>>>8,this[p+3]=m&255,p+4},s.prototype.writeBigInt64LE=Me(function(m,p=0){return K(this,m,p,-BigInt("0x8000000000000000"),BigInt("0x7fffffffffffffff"))}),s.prototype.writeBigInt64BE=Me(function(m,p=0){return Y(this,m,p,-BigInt("0x8000000000000000"),BigInt("0x7fffffffffffffff"))});function de(x,m,p,E,j,O){if(p+E>x.length)throw new RangeError("Index out of range");if(p<0)throw new RangeError("Index out of range")}function te(x,m,p,E,j){return m=+m,p=p>>>0,j||de(x,m,p,4),n.write(x,m,p,E,23,4),p+4}s.prototype.writeFloatLE=function(m,p,E){return te(this,m,p,!0,E)},s.prototype.writeFloatBE=function(m,p,E){return te(this,m,p,!1,E)};function re(x,m,p,E,j){return m=+m,p=p>>>0,j||de(x,m,p,8),n.write(x,m,p,E,52,8),p+8}s.prototype.writeDoubleLE=function(m,p,E){return re(this,m,p,!0,E)},s.prototype.writeDoubleBE=function(m,p,E){return re(this,m,p,!1,E)},s.prototype.copy=function(m,p,E,j){if(!s.isBuffer(m))throw new TypeError("argument should be a Buffer");if(E||(E=0),!j&&j!==0&&(j=this.length),p>=m.length&&(p=m.length),p||(p=0),j>0&&j<E&&(j=E),j===E||m.length===0||this.length===0)return 0;if(p<0)throw new RangeError("targetStart out of bounds");if(E<0||E>=this.length)throw new RangeError("Index out of range");if(j<0)throw new RangeError("sourceEnd out of bounds");j>this.length&&(j=this.length),m.length-p<j-E&&(j=m.length-p+E);const O=j-E;return this===m&&typeof Uint8Array.prototype.copyWithin=="function"?this.copyWithin(p,E,j):Uint8Array.prototype.set.call(m,this.subarray(E,j),p),O},s.prototype.fill=function(m,p,E,j){if(typeof m=="string"){if(typeof p=="string"?(j=p,p=0,E=this.length):typeof E=="string"&&(j=E,E=this.length),j!==void 0&&typeof j!="string")throw new TypeError("encoding must be a string");if(typeof j=="string"&&!s.isEncoding(j))throw new TypeError("Unknown encoding: "+j);if(m.length===1){const F=m.charCodeAt(0);(j==="utf8"&&F<128||j==="latin1")&&(m=F)}}else typeof m=="number"?m=m&255:typeof m=="boolean"&&(m=Number(m));if(p<0||this.length<p||this.length<E)throw new RangeError("Out of range index");if(E<=p)return this;p=p>>>0,E=E===void 0?this.length:E>>>0,m||(m=0);let O;if(typeof m=="number")for(O=p;O<E;++O)this[O]=m;else{const F=s.isBuffer(m)?m:s.from(m,j),ne=F.length;if(ne===0)throw new TypeError('The value "'+m+'" is invalid for argument "value"');for(O=0;O<E-p;++O)this[O+p]=F[O%ne]}return this};const oe={};function ae(x,m,p){oe[x]=class extends p{constructor(){super(),Object.defineProperty(this,"message",{value:m.apply(this,arguments),writable:!0,configurable:!0}),this.name=`${this.name} [${x}]`,this.stack,delete this.name}get code(){return x}set code(j){Object.defineProperty(this,"code",{configurable:!0,enumerable:!0,value:j,writable:!0})}toString(){return`${this.name} [${x}]: ${this.message}`}}}ae("ERR_BUFFER_OUT_OF_BOUNDS",function(x){return x?`${x} is outside of buffer bounds`:"Attempt to access memory outside buffer bounds"},RangeError),ae("ERR_INVALID_ARG_TYPE",function(x,m){return`The "${x}" argument must be of type number. Received type ${typeof m}`},TypeError),ae("ERR_OUT_OF_RANGE",function(x,m,p){let E=`The value of "${x}" is out of range.`,j=p;return Number.isInteger(p)&&Math.abs(p)>2**32?j=se(String(p)):typeof p=="bigint"&&(j=String(p),(p>BigInt(2)**BigInt(32)||p<-(BigInt(2)**BigInt(32)))&&(j=se(j)),j+="n"),E+=` It must be ${m}. Received ${j}`,E},RangeError);function se(x){let m="",p=x.length;const E=x[0]==="-"?1:0;for(;p>=E+4;p-=3)m=`_${x.slice(p-3,p)}${m}`;return`${x.slice(0,p)}${m}`}function G(x,m,p){L(m,"offset"),(x[m]===void 0||x[m+p]===void 0)&&J(m,x.length-(p+1))}function N(x,m,p,E,j,O){if(x>p||x<m){const F=typeof m=="bigint"?"n":"";let ne;throw m===0||m===BigInt(0)?ne=`>= 0${F} and < 2${F} ** ${(O+1)*8}${F}`:ne=`>= -(2${F} ** ${(O+1)*8-1}${F}) and < 2 ** ${(O+1)*8-1}${F}`,new oe.ERR_OUT_OF_RANGE("value",ne,x)}G(E,j,O)}function L(x,m){if(typeof x!="number")throw new oe.ERR_INVALID_ARG_TYPE(m,"number",x)}function J(x,m,p){throw Math.floor(x)!==x?(L(x,p),new oe.ERR_OUT_OF_RANGE("offset","an integer",x)):m<0?new oe.ERR_BUFFER_OUT_OF_BOUNDS:new oe.ERR_OUT_OF_RANGE("offset",`>= 0 and <= ${m}`,x)}const Z=/[^+/0-9A-Za-z-_]/g;function ce(x){if(x=x.split("=")[0],x=x.trim().replace(Z,""),x.length<2)return"";for(;x.length%4!==0;)x=x+"=";return x}function fe(x,m){m=m||1/0;let p;const E=x.length;let j=null;const O=[];for(let F=0;F<E;++F){if(p=x.charCodeAt(F),p>55295&&p<57344){if(!j){if(p>56319){(m-=3)>-1&&O.push(239,191,189);continue}else if(F+1===E){(m-=3)>-1&&O.push(239,191,189);continue}j=p;continue}if(p<56320){(m-=3)>-1&&O.push(239,191,189),j=p;continue}p=(j-55296<<10|p-56320)+65536}else j&&(m-=3)>-1&&O.push(239,191,189);if(j=null,p<128){if((m-=1)<0)break;O.push(p)}else if(p<2048){if((m-=2)<0)break;O.push(p>>6|192,p&63|128)}else if(p<65536){if((m-=3)<0)break;O.push(p>>12|224,p>>6&63|128,p&63|128)}else if(p<1114112){if((m-=4)<0)break;O.push(p>>18|240,p>>12&63|128,p>>6&63|128,p&63|128)}else throw new Error("Invalid code point")}return O}function ge(x){const m=[];for(let p=0;p<x.length;++p)m.push(x.charCodeAt(p)&255);return m}function Q(x,m){let p,E,j;const O=[];for(let F=0;F<x.length&&!((m-=2)<0);++F)p=x.charCodeAt(F),E=p>>8,j=p%256,O.push(j),O.push(E);return O}function ke(x){return t.toByteArray(ce(x))}function me(x,m,p,E){let j;for(j=0;j<E&&!(j+p>=m.length||j>=x.length);++j)m[j+p]=x[j];return j}function Be(x,m){return x instanceof m||x!=null&&x.constructor!=null&&x.constructor.name!=null&&x.constructor.name===m.name}function Fe(x){return x!==x}const Ge=(function(){const x="0123456789abcdef",m=new Array(256);for(let p=0;p<16;++p){const E=p*16;for(let j=0;j<16;++j)m[E+j]=x[p]+x[j]}return m})();function Me(x){return typeof BigInt>"u"?Ae:x}function Ae(){throw new Error("BigInt not supported")}})(Qu)),Qu}var el,Xm;function kf(){if(Xm)return el;Xm=1;var e={Array:function(n){return n!=null&&n.constructor===Array},Boolean:function(n){return typeof n=="boolean"},Function:function(n){return typeof n=="function"},Nil:function(n){return n==null},Number:function(n){return typeof n=="number"},Object:function(n){return typeof n=="object"},String:function(n){return typeof n=="string"},"":function(){return!0}};e.Null=e.Nil;for(var t in e)e[t].toJSON=(function(n){return n}).bind(null,t);return el=e,el}var tl,Zm;function e_(){if(Zm)return tl;Zm=1;var e=kf();function t(f){return f.name||f.toString().match(/function (.*?)\s*\(/)[1]}function n(f){return e.Nil(f)?"":t(f.constructor)}function r(f){return e.Function(f)?"":e.String(f)?JSON.stringify(f):f&&e.Object(f)?"":f}function a(f,l){Error.captureStackTrace&&Error.captureStackTrace(f,l)}function o(f){return e.Function(f)?f.toJSON?f.toJSON():t(f):e.Array(f)?"Array":f&&e.Object(f)?"Object":f!==void 0?f:""}function i(f,l,g){var b=r(l);return"Expected "+o(f)+", got"+(g!==""?" "+g:"")+(b!==""?" "+b:"")}function s(f,l,g){g=g||n(l),this.message=i(f,l,g),a(this,s),this.__type=f,this.__value=l,this.__valueTypeName=g}s.prototype=Object.create(Error.prototype),s.prototype.constructor=s;function c(f,l,g,b,y){var _='" of type ';return l==="key"&&(_='" with key type '),i('property "'+o(g)+_+o(f),b,y)}function u(f,l,g,b,y){f?(y=y||n(b),this.message=c(f,g,l,b,y)):this.message='Unexpected property "'+l+'"',a(this,s),this.__label=g,this.__property=l,this.__type=f,this.__value=b,this.__valueTypeName=y}u.prototype=Object.create(Error.prototype),u.prototype.constructor=s;function d(f,l){return new s(f,{},l)}function h(f,l,g){return f instanceof u?(l=l+"."+f.__property,f=new u(f.__type,l,f.__label,f.__value,f.__valueTypeName)):f instanceof s&&(f=new u(f.__type,l,g,f.__value,f.__valueTypeName)),a(f),f}return tl={TfTypeError:s,TfPropertyTypeError:u,tfCustomError:d,tfSubError:h,tfJSON:o,getValueTypeName:n},tl}var nl,Ym;function M3(){if(Ym)return nl;Ym=1;var e=kf(),t=e_();function n(T){return Buffer.isBuffer(T)}function r(T){return typeof T=="string"&&/^([0-9a-f]{2})+$/i.test(T)}function a(T,I){var z=T.toJSON();function S(B){if(!T(B))return!1;if(B.length===I)return!0;throw t.tfCustomError(z+"(Length: "+I+")",z+"(Length: "+B.length+")")}return S.toJSON=function(){return z},S}var o=a.bind(null,e.Array),i=a.bind(null,n),s=a.bind(null,r),c=a.bind(null,e.String);function u(T,I,z){z=z||e.Number;function S(B,P){return z(B,P)&&B>T&&B<I}return S.toJSON=function(){return`${z.toJSON()} between [${T}, ${I}]`},S}var d=Math.pow(2,53)-1;function h(T){return typeof T=="number"&&isFinite(T)}function f(T){return T<<24>>24===T}function l(T){return T<<16>>16===T}function g(T){return(T|0)===T}function b(T){return typeof T=="number"&&T>=-d&&T<=d&&Math.floor(T)===T}function y(T){return(T&255)===T}function _(T){return(T&65535)===T}function k(T){return T>>>0===T}function w(T){return typeof T=="number"&&T>=0&&T<=d&&Math.floor(T)===T}var v={ArrayN:o,Buffer:n,BufferN:i,Finite:h,Hex:r,HexN:s,Int8:f,Int16:l,Int32:g,Int53:b,Range:u,StringN:c,UInt8:y,UInt16:_,UInt32:k,UInt53:w};for(var A in v)v[A].toJSON=(function(T){return T}).bind(null,A);return nl=v,nl}var rl,Jm;function q3(){if(Jm)return rl;Jm=1;var e=e_(),t=kf(),n=e.tfJSON,r=e.TfTypeError,a=e.TfPropertyTypeError,o=e.tfSubError,i=e.getValueTypeName,s={arrayOf:function(l,g){l=c(l),g=g||{};function b(y,_){return!t.Array(y)||t.Nil(y)||g.minLength!==void 0&&y.length<g.minLength||g.maxLength!==void 0&&y.length>g.maxLength||g.length!==void 0&&y.length!==g.length?!1:y.every(function(k,w){try{return u(l,k,_)}catch(v){throw o(v,w)}})}return b.toJSON=function(){var y="["+n(l)+"]";return g.length!==void 0?y+="{"+g.length+"}":(g.minLength!==void 0||g.maxLength!==void 0)&&(y+="{"+(g.minLength===void 0?0:g.minLength)+","+(g.maxLength===void 0?1/0:g.maxLength)+"}"),y},b},maybe:function f(l){l=c(l);function g(b,y){return t.Nil(b)||l(b,y,f)}return g.toJSON=function(){return"?"+n(l)},g},map:function(l,g){l=c(l),g&&(g=c(g));function b(y,_){if(!t.Object(y)||t.Nil(y))return!1;for(var k in y){try{g&&u(g,k,_)}catch(v){throw o(v,k,"key")}try{var w=y[k];u(l,w,_)}catch(v){throw o(v,k)}}return!0}return g?b.toJSON=function(){return"{"+n(g)+": "+n(l)+"}"}:b.toJSON=function(){return"{"+n(l)+"}"},b},object:function(l){var g={};for(var b in l)g[b]=c(l[b]);function y(_,k){if(!t.Object(_)||t.Nil(_))return!1;var w;try{for(w in g){var v=g[w],A=_[w];u(v,A,k)}}catch(T){throw o(T,w)}if(k){for(w in _)if(!g[w])throw new a(void 0,w)}return!0}return y.toJSON=function(){return n(g)},y},anyOf:function(){var l=[].slice.call(arguments).map(c);function g(b,y){return l.some(function(_){try{return u(_,b,y)}catch{return!1}})}return g.toJSON=function(){return l.map(n).join("|")},g},allOf:function(){var l=[].slice.call(arguments).map(c);function g(b,y){return l.every(function(_){try{return u(_,b,y)}catch{return!1}})}return g.toJSON=function(){return l.map(n).join(" & ")},g},quacksLike:function(l){function g(b){return l===i(b)}return g.toJSON=function(){return l},g},tuple:function(){var l=[].slice.call(arguments).map(c);function g(b,y){return t.Nil(b)||t.Nil(b.length)||y&&b.length!==l.length?!1:l.every(function(_,k){try{return u(_,b[k],y)}catch(w){throw o(w,k)}})}return g.toJSON=function(){return"("+l.map(n).join(", ")+")"},g},value:function(l){function g(b){return b===l}return g.toJSON=function(){return l},g}};s.oneOf=s.anyOf;function c(f){if(t.String(f))return f[0]==="?"?s.maybe(f.slice(1)):t[f]||s.quacksLike(f);if(f&&t.Object(f)){if(t.Array(f)){if(f.length!==1)throw new TypeError("Expected compile() parameter of type Array of length 1");return s.arrayOf(f[0])}return s.object(f)}else if(t.Function(f))return f;return s.value(f)}function u(f,l,g,b){if(t.Function(f)){if(f(l,g))return!0;throw new r(b||f,l)}return u(c(f),l,g)}for(var d in t)u[d]=t[d];for(d in s)u[d]=s[d];var h=M3();for(d in h)u[d]=h[d];return u.compile=c,u.TfTypeError=r,u.TfPropertyTypeError=a,rl=u,rl}var Qm;function ht(){return Qm||(Qm=1,(function(e){Object.defineProperty(e,"__esModule",{value:!0}),e.oneOf=e.Null=e.BufferN=e.Function=e.UInt32=e.UInt8=e.tuple=e.maybe=e.Hex=e.Buffer=e.String=e.Boolean=e.Array=e.Number=e.Hash256bit=e.Hash160bit=e.Buffer256bit=e.isTaptree=e.isTapleaf=e.TAPLEAF_VERSION_MASK=e.Network=e.ECPoint=e.Satoshi=e.Signer=e.BIP32Path=e.UInt31=e.isPoint=e.typeforce=void 0;const t=Gs();e.typeforce=q3();const n=t.Buffer.alloc(32,0),r=t.Buffer.from("fffffffffffffffffffffffffffffffffffffffffffffffffffffffefffffc2f","hex");function a(l){if(!t.Buffer.isBuffer(l)||l.length<33)return!1;const g=l[0],b=l.slice(1,33);if(b.compare(n)===0||b.compare(r)>=0)return!1;if((g===2||g===3)&&l.length===33)return!0;const y=l.slice(33);return y.compare(n)===0||y.compare(r)>=0?!1:g===4&&l.length===65}e.isPoint=a;const o=Math.pow(2,31)-1;function i(l){return e.typeforce.UInt32(l)&&l<=o}e.UInt31=i;function s(l){return e.typeforce.String(l)&&!!l.match(/^(m\/)?(\d+'?\/)*\d+'?$/)}e.BIP32Path=s,s.toJSON=()=>"BIP32 derivation path";function c(l){return(e.typeforce.Buffer(l.publicKey)||typeof l.getPublicKey=="function")&&typeof l.sign=="function"}e.Signer=c;const u=21*1e14;function d(l){return e.typeforce.UInt53(l)&&l<=u}e.Satoshi=d,e.ECPoint=e.typeforce.quacksLike("Point"),e.Network=e.typeforce.compile({messagePrefix:e.typeforce.oneOf(e.typeforce.Buffer,e.typeforce.String),bip32:{public:e.typeforce.UInt32,private:e.typeforce.UInt32},pubKeyHash:e.typeforce.UInt8,scriptHash:e.typeforce.UInt8,wif:e.typeforce.UInt8}),e.TAPLEAF_VERSION_MASK=254;function h(l){return!l||!("output"in l)||!t.Buffer.isBuffer(l.output)?!1:l.version!==void 0?(l.version&e.TAPLEAF_VERSION_MASK)===l.version:!0}e.isTapleaf=h;function f(l){return(0,e.Array)(l)?l.length!==2?!1:l.every(g=>f(g)):h(l)}e.isTaptree=f,e.Buffer256bit=e.typeforce.BufferN(32),e.Hash160bit=e.typeforce.BufferN(20),e.Hash256bit=e.typeforce.BufferN(32),e.Number=e.typeforce.Number,e.Array=e.typeforce.Array,e.Boolean=e.typeforce.Boolean,e.String=e.typeforce.String,e.Buffer=e.typeforce.Buffer,e.Hex=e.typeforce.Hex,e.maybe=e.typeforce.maybe,e.tuple=e.typeforce.tuple,e.UInt8=e.typeforce.UInt8,e.UInt32=e.typeforce.UInt32,e.Function=e.typeforce.Function,e.BufferN=e.typeforce.BufferN,e.Null=e.typeforce.Null,e.oneOf=e.typeforce.oneOf})(Ju)),Ju}var eg;function V3(){if(eg)return Ar;eg=1,Object.defineProperty(Ar,"__esModule",{value:!0}),Ar.encode=Ar.decode=void 0;const e=Qk(),t=ht(),{typeforce:n}=t,r=Buffer.alloc(1,0);function a(c){let u=0;for(;c[u]===0;)++u;return u===c.length?r:(c=c.slice(u),c[0]&128?Buffer.concat([r,c],1+c.length):c)}function o(c){c[0]===0&&(c=c.slice(1));const u=Buffer.alloc(32,0),d=Math.max(0,32-c.length);return c.copy(u,d),u}function i(c){const u=c.readUInt8(c.length-1),d=u&-129;if(d<=0||d>=4)throw new Error("Invalid hashType "+u);const h=e.decode(c.slice(0,-1)),f=o(h.r),l=o(h.s);return{signature:Buffer.concat([f,l],64),hashType:u}}Ar.decode=i;function s(c,u){n({signature:t.BufferN(64),hashType:t.UInt8},{signature:c,hashType:u});const d=u&-129;if(d<=0||d>=4)throw new Error("Invalid hashType "+u);const h=Buffer.allocUnsafe(1);h.writeUInt8(u,0);const f=a(c.slice(0,32)),l=a(c.slice(32,64));return Buffer.concat([e.encode(f,l),h])}return Ar.encode=s,Ar}var tg;function It(){return tg||(tg=1,(function(e){Object.defineProperty(e,"__esModule",{value:!0}),e.signature=e.number=e.isCanonicalScriptSignature=e.isDefinedHashType=e.isCanonicalPubKey=e.toStack=e.fromASM=e.toASM=e.decompile=e.compile=e.countNonPushOnlyOPs=e.isPushOnly=e.OPS=void 0;const t=Qk(),n=wf();Object.defineProperty(e,"OPS",{enumerable:!0,get:function(){return n.OPS}});const r=H3(),a=L3(),o=V3(),i=ht(),{typeforce:s}=i,c=n.OPS.OP_RESERVED;function u(S){return i.Number(S)&&(S===n.OPS.OP_0||S>=n.OPS.OP_1&&S<=n.OPS.OP_16||S===n.OPS.OP_1NEGATE)}function d(S){return i.Buffer(S)||u(S)}function h(S){return i.Array(S)&&S.every(d)}e.isPushOnly=h;function f(S){return S.length-S.filter(d).length}e.countNonPushOnlyOPs=f;function l(S){if(S.length===0)return n.OPS.OP_0;if(S.length===1){if(S[0]>=1&&S[0]<=16)return c+S[0];if(S[0]===129)return n.OPS.OP_1NEGATE}}function g(S){return Buffer.isBuffer(S)}function b(S){return i.Array(S)}function y(S){return Buffer.isBuffer(S)}function _(S){if(g(S))return S;s(i.Array,S);const B=S.reduce((D,R)=>y(R)?R.length===1&&l(R)!==void 0?D+1:D+r.encodingLength(R.length)+R.length:D+1,0),P=Buffer.allocUnsafe(B);let M=0;if(S.forEach(D=>{if(y(D)){const R=l(D);if(R!==void 0){P.writeUInt8(R,M),M+=1;return}M+=r.encode(P,D.length,M),D.copy(P,M),M+=D.length}else P.writeUInt8(D,M),M+=1}),M!==P.length)throw new Error("Could not decode chunks");return P}e.compile=_;function k(S){if(b(S))return S;s(i.Buffer,S);const B=[];let P=0;for(;P<S.length;){const M=S[P];if(M>n.OPS.OP_0&&M<=n.OPS.OP_PUSHDATA4){const D=r.decode(S,P);if(D===null||(P+=D.size,P+D.number>S.length))return null;const R=S.slice(P,P+D.number);P+=D.number;const $=l(R);$!==void 0?B.push($):B.push(R)}else B.push(M),P+=1}return B}e.decompile=k;function w(S){return g(S)&&(S=k(S)),S.map(B=>{if(y(B)){const P=l(B);if(P===void 0)return B.toString("hex");B=P}return n.REVERSE_OPS[B]}).join(" ")}e.toASM=w;function v(S){return s(i.String,S),_(S.split(" ").map(B=>n.OPS[B]!==void 0?n.OPS[B]:(s(i.Hex,B),Buffer.from(B,"hex"))))}e.fromASM=v;function A(S){return S=k(S),s(h,S),S.map(B=>y(B)?B:B===n.OPS.OP_0?Buffer.allocUnsafe(0):a.encode(B-c))}e.toStack=A;function T(S){return i.isPoint(S)}e.isCanonicalPubKey=T;function I(S){const B=S&-129;return B>0&&B<4}e.isDefinedHashType=I;function z(S){return!Buffer.isBuffer(S)||!I(S[S.length-1])?!1:t.check(S.slice(0,-1))}e.isCanonicalScriptSignature=z,e.number=a,e.signature=o})(Yu)),Yu}var Sr={},ng;function wr(){if(ng)return Sr;ng=1,Object.defineProperty(Sr,"__esModule",{value:!0}),Sr.value=Sr.prop=void 0;function e(n,r,a){Object.defineProperty(n,r,{configurable:!0,enumerable:!0,get(){const o=a.call(this);return this[r]=o,o},set(o){Object.defineProperty(this,r,{configurable:!0,enumerable:!0,value:o,writable:!0})}})}Sr.prop=e;function t(n){let r;return()=>(r!==void 0||(r=n()),r)}return Sr.value=t,Sr}var rg;function $3(){if(rg)return Ga;rg=1,Object.defineProperty(Ga,"__esModule",{value:!0}),Ga.p2data=void 0;const e=nn(),t=It(),n=ht(),r=wr(),a=t.OPS;function o(s,c){return s.length!==c.length?!1:s.every((u,d)=>u.equals(c[d]))}function i(s,c){if(!s.data&&!s.output)throw new TypeError("Not enough data");c=Object.assign({validate:!0},c||{}),(0,n.typeforce)({network:n.typeforce.maybe(n.typeforce.Object),output:n.typeforce.maybe(n.typeforce.Buffer),data:n.typeforce.maybe(n.typeforce.arrayOf(n.typeforce.Buffer))},s);const d={name:"embed",network:s.network||e.bitcoin};if(r.prop(d,"output",()=>{if(s.data)return t.compile([a.OP_RETURN].concat(s.data))}),r.prop(d,"data",()=>{if(s.output)return t.decompile(s.output).slice(1)}),c.validate&&s.output){const h=t.decompile(s.output);if(h[0]!==a.OP_RETURN)throw new TypeError("Output is invalid");if(!h.slice(1).every(n.typeforce.Buffer))throw new TypeError("Output is invalid");if(s.data&&!o(s.data,d.data))throw new TypeError("Data mismatch")}return Object.assign(d,s)}return Ga.p2data=i,Ga}var Wa={},ag;function G3(){if(ag)return Wa;ag=1,Object.defineProperty(Wa,"__esModule",{value:!0}),Wa.p2ms=void 0;const e=nn(),t=It(),n=ht(),r=wr(),a=t.OPS,o=a.OP_RESERVED;function i(c,u){return c.length!==u.length?!1:c.every((d,h)=>d.equals(u[h]))}function s(c,u){if(!c.input&&!c.output&&!(c.pubkeys&&c.m!==void 0)&&!c.signatures)throw new TypeError("Not enough data");u=Object.assign({validate:!0},u||{});function d(y){return t.isCanonicalScriptSignature(y)||(u.allowIncomplete&&y===a.OP_0)!==void 0}(0,n.typeforce)({network:n.typeforce.maybe(n.typeforce.Object),m:n.typeforce.maybe(n.typeforce.Number),n:n.typeforce.maybe(n.typeforce.Number),output:n.typeforce.maybe(n.typeforce.Buffer),pubkeys:n.typeforce.maybe(n.typeforce.arrayOf(n.isPoint)),signatures:n.typeforce.maybe(n.typeforce.arrayOf(d)),input:n.typeforce.maybe(n.typeforce.Buffer)},c);const f={network:c.network||e.bitcoin};let l=[],g=!1;function b(y){g||(g=!0,l=t.decompile(y),f.m=l[0]-o,f.n=l[l.length-2]-o,f.pubkeys=l.slice(1,-2))}if(r.prop(f,"output",()=>{if(c.m&&f.n&&c.pubkeys)return t.compile([].concat(o+c.m,c.pubkeys,o+f.n,a.OP_CHECKMULTISIG))}),r.prop(f,"m",()=>{if(f.output)return b(f.output),f.m}),r.prop(f,"n",()=>{if(f.pubkeys)return f.pubkeys.length}),r.prop(f,"pubkeys",()=>{if(c.output)return b(c.output),f.pubkeys}),r.prop(f,"signatures",()=>{if(c.input)return t.decompile(c.input).slice(1)}),r.prop(f,"input",()=>{if(c.signatures)return t.compile([a.OP_0].concat(c.signatures))}),r.prop(f,"witness",()=>{if(f.input)return[]}),r.prop(f,"name",()=>{if(!(!f.m||!f.n))return`p2ms(${f.m} of ${f.n})`}),u.validate){if(c.output){if(b(c.output),!n.typeforce.Number(l[0]))throw new TypeError("Output is invalid");if(!n.typeforce.Number(l[l.length-2]))throw new TypeError("Output is invalid");if(l[l.length-1]!==a.OP_CHECKMULTISIG)throw new TypeError("Output is invalid");if(f.m<=0||f.n>16||f.m>f.n||f.n!==l.length-3)throw new TypeError("Output is invalid");if(!f.pubkeys.every(y=>(0,n.isPoint)(y)))throw new TypeError("Output is invalid");if(c.m!==void 0&&c.m!==f.m)throw new TypeError("m mismatch");if(c.n!==void 0&&c.n!==f.n)throw new TypeError("n mismatch");if(c.pubkeys&&!i(c.pubkeys,f.pubkeys))throw new TypeError("Pubkeys mismatch")}if(c.pubkeys){if(c.n!==void 0&&c.n!==c.pubkeys.length)throw new TypeError("Pubkey count mismatch");if(f.n=c.pubkeys.length,f.n<f.m)throw new TypeError("Pubkey count cannot be less than m")}if(c.signatures){if(c.signatures.length<f.m)throw new TypeError("Not enough signatures provided");if(c.signatures.length>f.m)throw new TypeError("Too many signatures provided")}if(c.input){if(c.input[0]!==a.OP_0)throw new TypeError("Input is invalid");if(f.signatures.length===0||!f.signatures.every(d))throw new TypeError("Input has invalid signature(s)");if(c.signatures&&!i(c.signatures,f.signatures))throw new TypeError("Signature mismatch");if(c.m!==void 0&&c.m!==c.signatures.length)throw new TypeError("Signature count mismatch")}}return Object.assign(f,c)}return Wa.p2ms=s,Wa}var Xa={},og;function K3(){if(og)return Xa;og=1,Object.defineProperty(Xa,"__esModule",{value:!0}),Xa.p2pk=void 0;const e=nn(),t=It(),n=ht(),r=wr(),a=t.OPS;function o(i,s){if(!i.input&&!i.output&&!i.pubkey&&!i.input&&!i.signature)throw new TypeError("Not enough data");s=Object.assign({validate:!0},s||{}),(0,n.typeforce)({network:n.typeforce.maybe(n.typeforce.Object),output:n.typeforce.maybe(n.typeforce.Buffer),pubkey:n.typeforce.maybe(n.isPoint),signature:n.typeforce.maybe(t.isCanonicalScriptSignature),input:n.typeforce.maybe(n.typeforce.Buffer)},i);const c=r.value(()=>t.decompile(i.input)),d={name:"p2pk",network:i.network||e.bitcoin};if(r.prop(d,"output",()=>{if(i.pubkey)return t.compile([i.pubkey,a.OP_CHECKSIG])}),r.prop(d,"pubkey",()=>{if(i.output)return i.output.slice(1,-1)}),r.prop(d,"signature",()=>{if(i.input)return c()[0]}),r.prop(d,"input",()=>{if(i.signature)return t.compile([i.signature])}),r.prop(d,"witness",()=>{if(d.input)return[]}),s.validate){if(i.output){if(i.output[i.output.length-1]!==a.OP_CHECKSIG)throw new TypeError("Output is invalid");if(!(0,n.isPoint)(d.pubkey))throw new TypeError("Output pubkey is invalid");if(i.pubkey&&!i.pubkey.equals(d.pubkey))throw new TypeError("Pubkey mismatch")}if(i.signature&&i.input&&!i.input.equals(d.input))throw new TypeError("Signature mismatch");if(i.input){if(c().length!==1)throw new TypeError("Input is invalid");if(!t.isCanonicalScriptSignature(d.signature))throw new TypeError("Input has invalid signature")}}return Object.assign(d,i)}return Xa.p2pk=o,Xa}var Za={},al={},jr={},gt={},pt={},ol={},Ya={},ig;function W3(){return ig||(ig=1,Object.defineProperty(Ya,"__esModule",{value:!0}),Ya.crypto=void 0,Ya.crypto=typeof globalThis=="object"&&"crypto"in globalThis?globalThis.crypto:void 0),Ya}var sg;function Ks(){return sg||(sg=1,(function(e){/*! noble-hashes - MIT License (c) 2022 Paul Miller (paulmillr.com) */Object.defineProperty(e,"__esModule",{value:!0}),e.wrapXOFConstructorWithOpts=e.wrapConstructorWithOpts=e.wrapConstructor=e.Hash=e.nextTick=e.swap32IfBE=e.byteSwapIfBE=e.swap8IfBE=e.isLE=void 0,e.isBytes=n,e.anumber=r,e.abytes=a,e.ahash=o,e.aexists=i,e.aoutput=s,e.u8=c,e.u32=u,e.clean=d,e.createView=h,e.rotr=f,e.rotl=l,e.byteSwap=g,e.byteSwap32=b,e.bytesToHex=k,e.hexToBytes=A,e.asyncLoop=I,e.utf8ToBytes=z,e.bytesToUtf8=S,e.toBytes=B,e.kdfInputToBytes=P,e.concatBytes=M,e.checkOpts=D,e.createHasher=$,e.createOptHasher=q,e.createXOFer=X,e.randomBytes=H;const t=W3();function n(C){return C instanceof Uint8Array||ArrayBuffer.isView(C)&&C.constructor.name==="Uint8Array"}function r(C){if(!Number.isSafeInteger(C)||C<0)throw new Error("positive integer expected, got "+C)}function a(C,...V){if(!n(C))throw new Error("Uint8Array expected");if(V.length>0&&!V.includes(C.length))throw new Error("Uint8Array expected of length "+V+", got length="+C.length)}function o(C){if(typeof C!="function"||typeof C.create!="function")throw new Error("Hash should be wrapped by utils.createHasher");r(C.outputLen),r(C.blockLen)}function i(C,V=!0){if(C.destroyed)throw new Error("Hash instance has been destroyed");if(V&&C.finished)throw new Error("Hash#digest() has already been called")}function s(C,V){a(C);const W=V.outputLen;if(C.length<W)throw new Error("digestInto() expects output buffer of length at least "+W)}function c(C){return new Uint8Array(C.buffer,C.byteOffset,C.byteLength)}function u(C){return new Uint32Array(C.buffer,C.byteOffset,Math.floor(C.byteLength/4))}function d(...C){for(let V=0;V<C.length;V++)C[V].fill(0)}function h(C){return new DataView(C.buffer,C.byteOffset,C.byteLength)}function f(C,V){return C<<32-V|C>>>V}function l(C,V){return C<<V|C>>>32-V>>>0}e.isLE=new Uint8Array(new Uint32Array([287454020]).buffer)[0]===68;function g(C){return C<<24&4278190080|C<<8&16711680|C>>>8&65280|C>>>24&255}e.swap8IfBE=e.isLE?C=>C:C=>g(C),e.byteSwapIfBE=e.swap8IfBE;function b(C){for(let V=0;V<C.length;V++)C[V]=g(C[V]);return C}e.swap32IfBE=e.isLE?C=>C:b;const y=typeof Uint8Array.from([]).toHex=="function"&&typeof Uint8Array.fromHex=="function",_=Array.from({length:256},(C,V)=>V.toString(16).padStart(2,"0"));function k(C){if(a(C),y)return C.toHex();let V="";for(let W=0;W<C.length;W++)V+=_[C[W]];return V}const w={_0:48,_9:57,A:65,F:70,a:97,f:102};function v(C){if(C>=w._0&&C<=w._9)return C-w._0;if(C>=w.A&&C<=w.F)return C-(w.A-10);if(C>=w.a&&C<=w.f)return C-(w.a-10)}function A(C){if(typeof C!="string")throw new Error("hex string expected, got "+typeof C);if(y)return Uint8Array.fromHex(C);const V=C.length,W=V/2;if(V%2)throw new Error("hex string expected, got unpadded hex of length "+V);const U=new Uint8Array(W);for(let K=0,Y=0;K<W;K++,Y+=2){const de=v(C.charCodeAt(Y)),te=v(C.charCodeAt(Y+1));if(de===void 0||te===void 0){const re=C[Y]+C[Y+1];throw new Error('hex string expected, got non-hex character "'+re+'" at index '+Y)}U[K]=de*16+te}return U}const T=async()=>{};e.nextTick=T;async function I(C,V,W){let U=Date.now();for(let K=0;K<C;K++){W(K);const Y=Date.now()-U;Y>=0&&Y<V||(await(0,e.nextTick)(),U+=Y)}}function z(C){if(typeof C!="string")throw new Error("string expected");return new Uint8Array(new TextEncoder().encode(C))}function S(C){return new TextDecoder().decode(C)}function B(C){return typeof C=="string"&&(C=z(C)),a(C),C}function P(C){return typeof C=="string"&&(C=z(C)),a(C),C}function M(...C){let V=0;for(let U=0;U<C.length;U++){const K=C[U];a(K),V+=K.length}const W=new Uint8Array(V);for(let U=0,K=0;U<C.length;U++){const Y=C[U];W.set(Y,K),K+=Y.length}return W}function D(C,V){if(V!==void 0&&{}.toString.call(V)!=="[object Object]")throw new Error("options should be object or undefined");return Object.assign(C,V)}class R{}e.Hash=R;function $(C){const V=U=>C().update(B(U)).digest(),W=C();return V.outputLen=W.outputLen,V.blockLen=W.blockLen,V.create=()=>C(),V}function q(C){const V=(U,K)=>C(K).update(B(U)).digest(),W=C({});return V.outputLen=W.outputLen,V.blockLen=W.blockLen,V.create=U=>C(U),V}function X(C){const V=(U,K)=>C(K).update(B(U)).digest(),W=C({});return V.outputLen=W.outputLen,V.blockLen=W.blockLen,V.create=U=>C(U),V}e.wrapConstructor=$,e.wrapConstructorWithOpts=q,e.wrapXOFConstructorWithOpts=X;function H(C=32){if(t.crypto&&typeof t.crypto.getRandomValues=="function")return t.crypto.getRandomValues(new Uint8Array(C));if(t.crypto&&typeof t.crypto.randomBytes=="function")return Uint8Array.from(t.crypto.randomBytes(C));throw new Error("crypto.getRandomValues must be defined")}})(ol)),ol}var cg;function t_(){if(cg)return pt;cg=1,Object.defineProperty(pt,"__esModule",{value:!0}),pt.SHA512_IV=pt.SHA384_IV=pt.SHA224_IV=pt.SHA256_IV=pt.HashMD=void 0,pt.setBigUint64=t,pt.Chi=n,pt.Maj=r;const e=Ks();function t(o,i,s,c){if(typeof o.setBigUint64=="function")return o.setBigUint64(i,s,c);const u=BigInt(32),d=BigInt(4294967295),h=Number(s>>u&d),f=Number(s&d),l=c?4:0,g=c?0:4;o.setUint32(i+l,h,c),o.setUint32(i+g,f,c)}function n(o,i,s){return o&i^~o&s}function r(o,i,s){return o&i^o&s^i&s}class a extends e.Hash{constructor(i,s,c,u){super(),this.finished=!1,this.length=0,this.pos=0,this.destroyed=!1,this.blockLen=i,this.outputLen=s,this.padOffset=c,this.isLE=u,this.buffer=new Uint8Array(i),this.view=(0,e.createView)(this.buffer)}update(i){(0,e.aexists)(this),i=(0,e.toBytes)(i),(0,e.abytes)(i);const{view:s,buffer:c,blockLen:u}=this,d=i.length;for(let h=0;h<d;){const f=Math.min(u-this.pos,d-h);if(f===u){const l=(0,e.createView)(i);for(;u<=d-h;h+=u)this.process(l,h);continue}c.set(i.subarray(h,h+f),this.pos),this.pos+=f,h+=f,this.pos===u&&(this.process(s,0),this.pos=0)}return this.length+=i.length,this.roundClean(),this}digestInto(i){(0,e.aexists)(this),(0,e.aoutput)(i,this),this.finished=!0;const{buffer:s,view:c,blockLen:u,isLE:d}=this;let{pos:h}=this;s[h++]=128,(0,e.clean)(this.buffer.subarray(h)),this.padOffset>u-h&&(this.process(c,0),h=0);for(let y=h;y<u;y++)s[y]=0;t(c,u-8,BigInt(this.length*8),d),this.process(c,0);const f=(0,e.createView)(i),l=this.outputLen;if(l%4)throw new Error("_sha2: outputLen should be aligned to 32bit");const g=l/4,b=this.get();if(g>b.length)throw new Error("_sha2: outputLen bigger than state");for(let y=0;y<g;y++)f.setUint32(4*y,b[y],d)}digest(){const{buffer:i,outputLen:s}=this;this.digestInto(i);const c=i.slice(0,s);return this.destroy(),c}_cloneInto(i){i||(i=new this.constructor),i.set(...this.get());const{blockLen:s,buffer:c,length:u,finished:d,destroyed:h,pos:f}=this;return i.destroyed=h,i.finished=d,i.length=u,i.pos=f,u%s&&i.buffer.set(c),i}clone(){return this._cloneInto()}}return pt.HashMD=a,pt.SHA256_IV=Uint32Array.from([1779033703,3144134277,1013904242,2773480762,1359893119,2600822924,528734635,1541459225]),pt.SHA224_IV=Uint32Array.from([3238371032,914150663,812702999,4144912697,4290775857,1750603025,1694076839,3204075428]),pt.SHA384_IV=Uint32Array.from([3418070365,3238371032,1654270250,914150663,2438529370,812702999,355462360,4144912697,1731405415,4290775857,2394180231,1750603025,3675008525,1694076839,1203062813,3204075428]),pt.SHA512_IV=Uint32Array.from([1779033703,4089235720,3144134277,2227873595,1013904242,4271175723,2773480762,1595750129,1359893119,2917565137,2600822924,725511199,528734635,4215389547,1541459225,327033209]),pt}var ug;function n_(){if(ug)return gt;ug=1,Object.defineProperty(gt,"__esModule",{value:!0}),gt.ripemd160=gt.RIPEMD160=gt.md5=gt.MD5=gt.sha1=gt.SHA1=void 0;const e=t_(),t=Ks(),n=Uint32Array.from([1732584193,4023233417,2562383102,271733878,3285377520]),r=new Uint32Array(80);class a extends e.HashMD{constructor(){super(64,20,8,!1),this.A=n[0]|0,this.B=n[1]|0,this.C=n[2]|0,this.D=n[3]|0,this.E=n[4]|0}get(){const{A:S,B,C:P,D:M,E:D}=this;return[S,B,P,M,D]}set(S,B,P,M,D){this.A=S|0,this.B=B|0,this.C=P|0,this.D=M|0,this.E=D|0}process(S,B){for(let q=0;q<16;q++,B+=4)r[q]=S.getUint32(B,!1);for(let q=16;q<80;q++)r[q]=(0,t.rotl)(r[q-3]^r[q-8]^r[q-14]^r[q-16],1);let{A:P,B:M,C:D,D:R,E:$}=this;for(let q=0;q<80;q++){let X,H;q<20?(X=(0,e.Chi)(M,D,R),H=1518500249):q<40?(X=M^D^R,H=1859775393):q<60?(X=(0,e.Maj)(M,D,R),H=2400959708):(X=M^D^R,H=3395469782);const C=(0,t.rotl)(P,5)+X+$+H+r[q]|0;$=R,R=D,D=(0,t.rotl)(M,30),M=P,P=C}P=P+this.A|0,M=M+this.B|0,D=D+this.C|0,R=R+this.D|0,$=$+this.E|0,this.set(P,M,D,R,$)}roundClean(){(0,t.clean)(r)}destroy(){this.set(0,0,0,0,0),(0,t.clean)(this.buffer)}}gt.SHA1=a,gt.sha1=(0,t.createHasher)(()=>new a);const o=Math.pow(2,32),i=Array.from({length:64},(z,S)=>Math.floor(o*Math.abs(Math.sin(S+1)))),s=n.slice(0,4),c=new Uint32Array(16);class u extends e.HashMD{constructor(){super(64,16,8,!0),this.A=s[0]|0,this.B=s[1]|0,this.C=s[2]|0,this.D=s[3]|0}get(){const{A:S,B,C:P,D:M}=this;return[S,B,P,M]}set(S,B,P,M){this.A=S|0,this.B=B|0,this.C=P|0,this.D=M|0}process(S,B){for(let $=0;$<16;$++,B+=4)c[$]=S.getUint32(B,!0);let{A:P,B:M,C:D,D:R}=this;for(let $=0;$<64;$++){let q,X,H;$<16?(q=(0,e.Chi)(M,D,R),X=$,H=[7,12,17,22]):$<32?(q=(0,e.Chi)(R,M,D),X=(5*$+1)%16,H=[5,9,14,20]):$<48?(q=M^D^R,X=(3*$+5)%16,H=[4,11,16,23]):(q=D^(M|~R),X=7*$%16,H=[6,10,15,21]),q=q+P+i[$]+c[X],P=R,R=D,D=M,M=M+(0,t.rotl)(q,H[$%4])}P=P+this.A|0,M=M+this.B|0,D=D+this.C|0,R=R+this.D|0,this.set(P,M,D,R)}roundClean(){(0,t.clean)(c)}destroy(){this.set(0,0,0,0),(0,t.clean)(this.buffer)}}gt.MD5=u,gt.md5=(0,t.createHasher)(()=>new u);const d=Uint8Array.from([7,4,13,1,10,6,15,3,12,0,9,5,2,14,11,8]),h=Uint8Array.from(new Array(16).fill(0).map((z,S)=>S)),f=h.map(z=>(9*z+5)%16),l=(()=>{const B=[[h],[f]];for(let P=0;P<4;P++)for(let M of B)M.push(M[P].map(D=>d[D]));return B})(),g=l[0],b=l[1],y=[[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(z=>Uint8Array.from(z)),_=g.map((z,S)=>z.map(B=>y[S][B])),k=b.map((z,S)=>z.map(B=>y[S][B])),w=Uint32Array.from([0,1518500249,1859775393,2400959708,2840853838]),v=Uint32Array.from([1352829926,1548603684,1836072691,2053994217,0]);function A(z,S,B,P){return z===0?S^B^P:z===1?S&B|~S&P:z===2?(S|~B)^P:z===3?S&P|B&~P:S^(B|~P)}const T=new Uint32Array(16);class I extends e.HashMD{constructor(){super(64,20,8,!0),this.h0=1732584193,this.h1=-271733879,this.h2=-1732584194,this.h3=271733878,this.h4=-1009589776}get(){const{h0:S,h1:B,h2:P,h3:M,h4:D}=this;return[S,B,P,M,D]}set(S,B,P,M,D){this.h0=S|0,this.h1=B|0,this.h2=P|0,this.h3=M|0,this.h4=D|0}process(S,B){for(let W=0;W<16;W++,B+=4)T[W]=S.getUint32(B,!0);let P=this.h0|0,M=P,D=this.h1|0,R=D,$=this.h2|0,q=$,X=this.h3|0,H=X,C=this.h4|0,V=C;for(let W=0;W<5;W++){const U=4-W,K=w[W],Y=v[W],de=g[W],te=b[W],re=_[W],oe=k[W];for(let ae=0;ae<16;ae++){const se=(0,t.rotl)(P+A(W,D,$,X)+T[de[ae]]+K,re[ae])+C|0;P=C,C=X,X=(0,t.rotl)($,10)|0,$=D,D=se}for(let ae=0;ae<16;ae++){const se=(0,t.rotl)(M+A(U,R,q,H)+T[te[ae]]+Y,oe[ae])+V|0;M=V,V=H,H=(0,t.rotl)(q,10)|0,q=R,R=se}}this.set(this.h1+$+H|0,this.h2+X+V|0,this.h3+C+M|0,this.h4+P+R|0,this.h0+D+q|0)}roundClean(){(0,t.clean)(T)}destroy(){this.destroyed=!0,(0,t.clean)(this.buffer),this.set(0,0,0,0,0)}}return gt.RIPEMD160=I,gt.ripemd160=(0,t.createHasher)(()=>new I),gt}var lg;function X3(){if(lg)return jr;lg=1,Object.defineProperty(jr,"__esModule",{value:!0}),jr.ripemd160=jr.RIPEMD160=void 0;const e=n_();return jr.RIPEMD160=e.RIPEMD160,jr.ripemd160=e.ripemd160,jr}var xr={},dg;function Z3(){if(dg)return xr;dg=1,Object.defineProperty(xr,"__esModule",{value:!0}),xr.sha1=xr.SHA1=void 0;const e=n_();return xr.SHA1=e.SHA1,xr.sha1=e.sha1,xr}var Kt={},Re={},ye={},fg;function Y3(){if(fg)return ye;fg=1,Object.defineProperty(ye,"__esModule",{value:!0}),ye.toBig=ye.shrSL=ye.shrSH=ye.rotrSL=ye.rotrSH=ye.rotrBL=ye.rotrBH=ye.rotr32L=ye.rotr32H=ye.rotlSL=ye.rotlSH=ye.rotlBL=ye.rotlBH=ye.add5L=ye.add5H=ye.add4L=ye.add4H=ye.add3L=ye.add3H=void 0,ye.add=_,ye.fromBig=n,ye.split=r;const e=BigInt(2**32-1),t=BigInt(32);function n(S,B=!1){return B?{h:Number(S&e),l:Number(S>>t&e)}:{h:Number(S>>t&e)|0,l:Number(S&e)|0}}function r(S,B=!1){const P=S.length;let M=new Uint32Array(P),D=new Uint32Array(P);for(let R=0;R<P;R++){const{h:$,l:q}=n(S[R],B);[M[R],D[R]]=[$,q]}return[M,D]}const a=(S,B)=>BigInt(S>>>0)<<t|BigInt(B>>>0);ye.toBig=a;const o=(S,B,P)=>S>>>P;ye.shrSH=o;const i=(S,B,P)=>S<<32-P|B>>>P;ye.shrSL=i;const s=(S,B,P)=>S>>>P|B<<32-P;ye.rotrSH=s;const c=(S,B,P)=>S<<32-P|B>>>P;ye.rotrSL=c;const u=(S,B,P)=>S<<64-P|B>>>P-32;ye.rotrBH=u;const d=(S,B,P)=>S>>>P-32|B<<64-P;ye.rotrBL=d;const h=(S,B)=>B;ye.rotr32H=h;const f=(S,B)=>S;ye.rotr32L=f;const l=(S,B,P)=>S<<P|B>>>32-P;ye.rotlSH=l;const g=(S,B,P)=>B<<P|S>>>32-P;ye.rotlSL=g;const b=(S,B,P)=>B<<P-32|S>>>64-P;ye.rotlBH=b;const y=(S,B,P)=>S<<P-32|B>>>64-P;ye.rotlBL=y;function _(S,B,P,M){const D=(B>>>0)+(M>>>0);return{h:S+P+(D/2**32|0)|0,l:D|0}}const k=(S,B,P)=>(S>>>0)+(B>>>0)+(P>>>0);ye.add3L=k;const w=(S,B,P,M)=>B+P+M+(S/2**32|0)|0;ye.add3H=w;const v=(S,B,P,M)=>(S>>>0)+(B>>>0)+(P>>>0)+(M>>>0);ye.add4L=v;const A=(S,B,P,M,D)=>B+P+M+D+(S/2**32|0)|0;ye.add4H=A;const T=(S,B,P,M,D)=>(S>>>0)+(B>>>0)+(P>>>0)+(M>>>0)+(D>>>0);ye.add5L=T;const I=(S,B,P,M,D,R)=>B+P+M+D+R+(S/2**32|0)|0;ye.add5H=I;const z={fromBig:n,split:r,toBig:a,shrSH:o,shrSL:i,rotrSH:s,rotrSL:c,rotrBH:u,rotrBL:d,rotr32H:h,rotr32L:f,rotlSH:l,rotlSL:g,rotlBH:b,rotlBL:y,add:_,add3L:k,add3H:w,add4L:v,add4H:A,add5H:I,add5L:T};return ye.default=z,ye}var pg;function r_(){if(pg)return Re;pg=1,Object.defineProperty(Re,"__esModule",{value:!0}),Re.sha512_224=Re.sha512_256=Re.sha384=Re.sha512=Re.sha224=Re.sha256=Re.SHA512_256=Re.SHA512_224=Re.SHA384=Re.SHA512=Re.SHA224=Re.SHA256=void 0;const e=t_(),t=Y3(),n=Ks(),r=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]),a=new Uint32Array(64);class o extends e.HashMD{constructor(w=32){super(64,w,8,!1),this.A=e.SHA256_IV[0]|0,this.B=e.SHA256_IV[1]|0,this.C=e.SHA256_IV[2]|0,this.D=e.SHA256_IV[3]|0,this.E=e.SHA256_IV[4]|0,this.F=e.SHA256_IV[5]|0,this.G=e.SHA256_IV[6]|0,this.H=e.SHA256_IV[7]|0}get(){const{A:w,B:v,C:A,D:T,E:I,F:z,G:S,H:B}=this;return[w,v,A,T,I,z,S,B]}set(w,v,A,T,I,z,S,B){this.A=w|0,this.B=v|0,this.C=A|0,this.D=T|0,this.E=I|0,this.F=z|0,this.G=S|0,this.H=B|0}process(w,v){for(let D=0;D<16;D++,v+=4)a[D]=w.getUint32(v,!1);for(let D=16;D<64;D++){const R=a[D-15],$=a[D-2],q=(0,n.rotr)(R,7)^(0,n.rotr)(R,18)^R>>>3,X=(0,n.rotr)($,17)^(0,n.rotr)($,19)^$>>>10;a[D]=X+a[D-7]+q+a[D-16]|0}let{A,B:T,C:I,D:z,E:S,F:B,G:P,H:M}=this;for(let D=0;D<64;D++){const R=(0,n.rotr)(S,6)^(0,n.rotr)(S,11)^(0,n.rotr)(S,25),$=M+R+(0,e.Chi)(S,B,P)+r[D]+a[D]|0,X=((0,n.rotr)(A,2)^(0,n.rotr)(A,13)^(0,n.rotr)(A,22))+(0,e.Maj)(A,T,I)|0;M=P,P=B,B=S,S=z+$|0,z=I,I=T,T=A,A=$+X|0}A=A+this.A|0,T=T+this.B|0,I=I+this.C|0,z=z+this.D|0,S=S+this.E|0,B=B+this.F|0,P=P+this.G|0,M=M+this.H|0,this.set(A,T,I,z,S,B,P,M)}roundClean(){(0,n.clean)(a)}destroy(){this.set(0,0,0,0,0,0,0,0),(0,n.clean)(this.buffer)}}Re.SHA256=o;class i extends o{constructor(){super(28),this.A=e.SHA224_IV[0]|0,this.B=e.SHA224_IV[1]|0,this.C=e.SHA224_IV[2]|0,this.D=e.SHA224_IV[3]|0,this.E=e.SHA224_IV[4]|0,this.F=e.SHA224_IV[5]|0,this.G=e.SHA224_IV[6]|0,this.H=e.SHA224_IV[7]|0}}Re.SHA224=i;const s=t.split(["0x428a2f98d728ae22","0x7137449123ef65cd","0xb5c0fbcfec4d3b2f","0xe9b5dba58189dbbc","0x3956c25bf348b538","0x59f111f1b605d019","0x923f82a4af194f9b","0xab1c5ed5da6d8118","0xd807aa98a3030242","0x12835b0145706fbe","0x243185be4ee4b28c","0x550c7dc3d5ffb4e2","0x72be5d74f27b896f","0x80deb1fe3b1696b1","0x9bdc06a725c71235","0xc19bf174cf692694","0xe49b69c19ef14ad2","0xefbe4786384f25e3","0x0fc19dc68b8cd5b5","0x240ca1cc77ac9c65","0x2de92c6f592b0275","0x4a7484aa6ea6e483","0x5cb0a9dcbd41fbd4","0x76f988da831153b5","0x983e5152ee66dfab","0xa831c66d2db43210","0xb00327c898fb213f","0xbf597fc7beef0ee4","0xc6e00bf33da88fc2","0xd5a79147930aa725","0x06ca6351e003826f","0x142929670a0e6e70","0x27b70a8546d22ffc","0x2e1b21385c26c926","0x4d2c6dfc5ac42aed","0x53380d139d95b3df","0x650a73548baf63de","0x766a0abb3c77b2a8","0x81c2c92e47edaee6","0x92722c851482353b","0xa2bfe8a14cf10364","0xa81a664bbc423001","0xc24b8b70d0f89791","0xc76c51a30654be30","0xd192e819d6ef5218","0xd69906245565a910","0xf40e35855771202a","0x106aa07032bbd1b8","0x19a4c116b8d2d0c8","0x1e376c085141ab53","0x2748774cdf8eeb99","0x34b0bcb5e19b48a8","0x391c0cb3c5c95a63","0x4ed8aa4ae3418acb","0x5b9cca4f7763e373","0x682e6ff3d6b2b8a3","0x748f82ee5defb2fc","0x78a5636f43172f60","0x84c87814a1f0ab72","0x8cc702081a6439ec","0x90befffa23631e28","0xa4506cebde82bde9","0xbef9a3f7b2c67915","0xc67178f2e372532b","0xca273eceea26619c","0xd186b8c721c0c207","0xeada7dd6cde0eb1e","0xf57d4f7fee6ed178","0x06f067aa72176fba","0x0a637dc5a2c898a6","0x113f9804bef90dae","0x1b710b35131c471b","0x28db77f523047d84","0x32caab7b40c72493","0x3c9ebe0a15c9bebc","0x431d67c49c100d4c","0x4cc5d4becb3e42b6","0x597f299cfc657e2a","0x5fcb6fab3ad6faec","0x6c44198c4a475817"].map(k=>BigInt(k))),c=s[0],u=s[1],d=new Uint32Array(80),h=new Uint32Array(80);class f extends e.HashMD{constructor(w=64){super(128,w,16,!1),this.Ah=e.SHA512_IV[0]|0,this.Al=e.SHA512_IV[1]|0,this.Bh=e.SHA512_IV[2]|0,this.Bl=e.SHA512_IV[3]|0,this.Ch=e.SHA512_IV[4]|0,this.Cl=e.SHA512_IV[5]|0,this.Dh=e.SHA512_IV[6]|0,this.Dl=e.SHA512_IV[7]|0,this.Eh=e.SHA512_IV[8]|0,this.El=e.SHA512_IV[9]|0,this.Fh=e.SHA512_IV[10]|0,this.Fl=e.SHA512_IV[11]|0,this.Gh=e.SHA512_IV[12]|0,this.Gl=e.SHA512_IV[13]|0,this.Hh=e.SHA512_IV[14]|0,this.Hl=e.SHA512_IV[15]|0}get(){const{Ah:w,Al:v,Bh:A,Bl:T,Ch:I,Cl:z,Dh:S,Dl:B,Eh:P,El:M,Fh:D,Fl:R,Gh:$,Gl:q,Hh:X,Hl:H}=this;return[w,v,A,T,I,z,S,B,P,M,D,R,$,q,X,H]}set(w,v,A,T,I,z,S,B,P,M,D,R,$,q,X,H){this.Ah=w|0,this.Al=v|0,this.Bh=A|0,this.Bl=T|0,this.Ch=I|0,this.Cl=z|0,this.Dh=S|0,this.Dl=B|0,this.Eh=P|0,this.El=M|0,this.Fh=D|0,this.Fl=R|0,this.Gh=$|0,this.Gl=q|0,this.Hh=X|0,this.Hl=H|0}process(w,v){for(let W=0;W<16;W++,v+=4)d[W]=w.getUint32(v),h[W]=w.getUint32(v+=4);for(let W=16;W<80;W++){const U=d[W-15]|0,K=h[W-15]|0,Y=t.rotrSH(U,K,1)^t.rotrSH(U,K,8)^t.shrSH(U,K,7),de=t.rotrSL(U,K,1)^t.rotrSL(U,K,8)^t.shrSL(U,K,7),te=d[W-2]|0,re=h[W-2]|0,oe=t.rotrSH(te,re,19)^t.rotrBH(te,re,61)^t.shrSH(te,re,6),ae=t.rotrSL(te,re,19)^t.rotrBL(te,re,61)^t.shrSL(te,re,6),se=t.add4L(de,ae,h[W-7],h[W-16]),G=t.add4H(se,Y,oe,d[W-7],d[W-16]);d[W]=G|0,h[W]=se|0}let{Ah:A,Al:T,Bh:I,Bl:z,Ch:S,Cl:B,Dh:P,Dl:M,Eh:D,El:R,Fh:$,Fl:q,Gh:X,Gl:H,Hh:C,Hl:V}=this;for(let W=0;W<80;W++){const U=t.rotrSH(D,R,14)^t.rotrSH(D,R,18)^t.rotrBH(D,R,41),K=t.rotrSL(D,R,14)^t.rotrSL(D,R,18)^t.rotrBL(D,R,41),Y=D&$^~D&X,de=R&q^~R&H,te=t.add5L(V,K,de,u[W],h[W]),re=t.add5H(te,C,U,Y,c[W],d[W]),oe=te|0,ae=t.rotrSH(A,T,28)^t.rotrBH(A,T,34)^t.rotrBH(A,T,39),se=t.rotrSL(A,T,28)^t.rotrBL(A,T,34)^t.rotrBL(A,T,39),G=A&I^A&S^I&S,N=T&z^T&B^z&B;C=X|0,V=H|0,X=$|0,H=q|0,$=D|0,q=R|0,{h:D,l:R}=t.add(P|0,M|0,re|0,oe|0),P=S|0,M=B|0,S=I|0,B=z|0,I=A|0,z=T|0;const L=t.add3L(oe,se,N);A=t.add3H(L,re,ae,G),T=L|0}({h:A,l:T}=t.add(this.Ah|0,this.Al|0,A|0,T|0)),{h:I,l:z}=t.add(this.Bh|0,this.Bl|0,I|0,z|0),{h:S,l:B}=t.add(this.Ch|0,this.Cl|0,S|0,B|0),{h:P,l:M}=t.add(this.Dh|0,this.Dl|0,P|0,M|0),{h:D,l:R}=t.add(this.Eh|0,this.El|0,D|0,R|0),{h:$,l:q}=t.add(this.Fh|0,this.Fl|0,$|0,q|0),{h:X,l:H}=t.add(this.Gh|0,this.Gl|0,X|0,H|0),{h:C,l:V}=t.add(this.Hh|0,this.Hl|0,C|0,V|0),this.set(A,T,I,z,S,B,P,M,D,R,$,q,X,H,C,V)}roundClean(){(0,n.clean)(d,h)}destroy(){(0,n.clean)(this.buffer),this.set(0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0)}}Re.SHA512=f;class l extends f{constructor(){super(48),this.Ah=e.SHA384_IV[0]|0,this.Al=e.SHA384_IV[1]|0,this.Bh=e.SHA384_IV[2]|0,this.Bl=e.SHA384_IV[3]|0,this.Ch=e.SHA384_IV[4]|0,this.Cl=e.SHA384_IV[5]|0,this.Dh=e.SHA384_IV[6]|0,this.Dl=e.SHA384_IV[7]|0,this.Eh=e.SHA384_IV[8]|0,this.El=e.SHA384_IV[9]|0,this.Fh=e.SHA384_IV[10]|0,this.Fl=e.SHA384_IV[11]|0,this.Gh=e.SHA384_IV[12]|0,this.Gl=e.SHA384_IV[13]|0,this.Hh=e.SHA384_IV[14]|0,this.Hl=e.SHA384_IV[15]|0}}Re.SHA384=l;const g=Uint32Array.from([2352822216,424955298,1944164710,2312950998,502970286,855612546,1738396948,1479516111,258812777,2077511080,2011393907,79989058,1067287976,1780299464,286451373,2446758561]),b=Uint32Array.from([573645204,4230739756,2673172387,3360449730,596883563,1867755857,2520282905,1497426621,2519219938,2827943907,3193839141,1401305490,721525244,746961066,246885852,2177182882]);class y extends f{constructor(){super(28),this.Ah=g[0]|0,this.Al=g[1]|0,this.Bh=g[2]|0,this.Bl=g[3]|0,this.Ch=g[4]|0,this.Cl=g[5]|0,this.Dh=g[6]|0,this.Dl=g[7]|0,this.Eh=g[8]|0,this.El=g[9]|0,this.Fh=g[10]|0,this.Fl=g[11]|0,this.Gh=g[12]|0,this.Gl=g[13]|0,this.Hh=g[14]|0,this.Hl=g[15]|0}}Re.SHA512_224=y;class _ extends f{constructor(){super(32),this.Ah=b[0]|0,this.Al=b[1]|0,this.Bh=b[2]|0,this.Bl=b[3]|0,this.Ch=b[4]|0,this.Cl=b[5]|0,this.Dh=b[6]|0,this.Dl=b[7]|0,this.Eh=b[8]|0,this.El=b[9]|0,this.Fh=b[10]|0,this.Fl=b[11]|0,this.Gh=b[12]|0,this.Gl=b[13]|0,this.Hh=b[14]|0,this.Hl=b[15]|0}}return Re.SHA512_256=_,Re.sha256=(0,n.createHasher)(()=>new o),Re.sha224=(0,n.createHasher)(()=>new i),Re.sha512=(0,n.createHasher)(()=>new f),Re.sha384=(0,n.createHasher)(()=>new l),Re.sha512_256=(0,n.createHasher)(()=>new _),Re.sha512_224=(0,n.createHasher)(()=>new y),Re}var hg;function a_(){if(hg)return Kt;hg=1,Object.defineProperty(Kt,"__esModule",{value:!0}),Kt.sha224=Kt.SHA224=Kt.sha256=Kt.SHA256=void 0;const e=r_();return Kt.SHA256=e.SHA256,Kt.sha256=e.sha256,Kt.SHA224=e.SHA224,Kt.sha224=e.sha224,Kt}var mg;function Hn(){return mg||(mg=1,(function(e){Object.defineProperty(e,"__esModule",{value:!0}),e.taggedHash=e.TAGGED_HASH_PREFIXES=e.TAGS=e.hash256=e.hash160=e.sha256=e.sha1=e.ripemd160=void 0;const t=X3(),n=Z3(),r=a_();function a(d){return Buffer.from((0,t.ripemd160)(Uint8Array.from(d)))}e.ripemd160=a;function o(d){return Buffer.from((0,n.sha1)(Uint8Array.from(d)))}e.sha1=o;function i(d){return Buffer.from((0,r.sha256)(Uint8Array.from(d)))}e.sha256=i;function s(d){return Buffer.from((0,t.ripemd160)((0,r.sha256)(Uint8Array.from(d))))}e.hash160=s;function c(d){return Buffer.from((0,r.sha256)((0,r.sha256)(Uint8Array.from(d))))}e.hash256=c,e.TAGS=["BIP0340/challenge","BIP0340/aux","BIP0340/nonce","TapLeaf","TapBranch","TapSighash","TapTweak","KeyAgg list","KeyAgg coefficient"],e.TAGGED_HASH_PREFIXES={"BIP0340/challenge":Buffer.from([123,181,45,122,159,239,88,50,62,177,191,122,64,125,179,130,210,243,242,216,27,177,34,79,73,254,81,143,109,72,211,124,123,181,45,122,159,239,88,50,62,177,191,122,64,125,179,130,210,243,242,216,27,177,34,79,73,254,81,143,109,72,211,124]),"BIP0340/aux":Buffer.from([241,239,78,94,192,99,202,218,109,148,202,250,157,152,126,160,105,38,88,57,236,193,31,151,45,119,165,46,216,193,204,144,241,239,78,94,192,99,202,218,109,148,202,250,157,152,126,160,105,38,88,57,236,193,31,151,45,119,165,46,216,193,204,144]),"BIP0340/nonce":Buffer.from([7,73,119,52,167,155,203,53,91,155,140,125,3,79,18,28,244,52,215,62,247,45,218,25,135,0,97,251,82,191,235,47,7,73,119,52,167,155,203,53,91,155,140,125,3,79,18,28,244,52,215,62,247,45,218,25,135,0,97,251,82,191,235,47]),TapLeaf:Buffer.from([174,234,143,220,66,8,152,49,5,115,75,88,8,29,30,38,56,211,95,28,181,64,8,212,211,87,202,3,190,120,233,238,174,234,143,220,66,8,152,49,5,115,75,88,8,29,30,38,56,211,95,28,181,64,8,212,211,87,202,3,190,120,233,238]),TapBranch:Buffer.from([25,65,161,242,229,110,185,95,162,169,241,148,190,92,1,247,33,111,51,237,130,176,145,70,52,144,208,91,245,22,160,21,25,65,161,242,229,110,185,95,162,169,241,148,190,92,1,247,33,111,51,237,130,176,145,70,52,144,208,91,245,22,160,21]),TapSighash:Buffer.from([244,10,72,223,75,42,112,200,180,146,75,242,101,70,97,237,61,149,253,102,163,19,235,135,35,117,151,198,40,228,160,49,244,10,72,223,75,42,112,200,180,146,75,242,101,70,97,237,61,149,253,102,163,19,235,135,35,117,151,198,40,228,160,49]),TapTweak:Buffer.from([232,15,225,99,156,156,160,80,227,175,27,57,193,67,198,62,66,156,188,235,21,217,64,251,181,197,161,244,175,87,197,233,232,15,225,99,156,156,160,80,227,175,27,57,193,67,198,62,66,156,188,235,21,217,64,251,181,197,161,244,175,87,197,233]),"KeyAgg list":Buffer.from([72,28,151,28,60,11,70,215,240,178,117,174,89,141,78,44,126,215,49,156,89,74,92,110,199,158,160,212,153,2,148,240,72,28,151,28,60,11,70,215,240,178,117,174,89,141,78,44,126,215,49,156,89,74,92,110,199,158,160,212,153,2,148,240]),"KeyAgg coefficient":Buffer.from([191,201,4,3,77,28,136,232,200,14,34,229,61,36,86,109,100,130,78,214,66,114,129,192,145,0,249,77,205,82,201,129,191,201,4,3,77,28,136,232,200,14,34,229,61,36,86,109,100,130,78,214,66,114,129,192,145,0,249,77,205,82,201,129])};function u(d,h){return i(Buffer.concat([e.TAGGED_HASH_PREFIXES[d],h]))}e.taggedHash=u})(al)),al}var il,gg;function J3(){if(gg)return il;gg=1;function e(t){if(t.length>=255)throw new TypeError("Alphabet too long");for(var n=new Uint8Array(256),r=0;r<n.length;r++)n[r]=255;for(var a=0;a<t.length;a++){var o=t.charAt(a),i=o.charCodeAt(0);if(n[i]!==255)throw new TypeError(o+" is ambiguous");n[i]=a}var s=t.length,c=t.charAt(0),u=Math.log(s)/Math.log(256),d=Math.log(256)/Math.log(s);function h(g){if(g instanceof Uint8Array||(ArrayBuffer.isView(g)?g=new Uint8Array(g.buffer,g.byteOffset,g.byteLength):Array.isArray(g)&&(g=Uint8Array.from(g))),!(g instanceof Uint8Array))throw new TypeError("Expected Uint8Array");if(g.length===0)return"";for(var b=0,y=0,_=0,k=g.length;_!==k&&g[_]===0;)_++,b++;for(var w=(k-_)*d+1>>>0,v=new Uint8Array(w);_!==k;){for(var A=g[_],T=0,I=w-1;(A!==0||T<y)&&I!==-1;I--,T++)A+=256*v[I]>>>0,v[I]=A%s>>>0,A=A/s>>>0;if(A!==0)throw new Error("Non-zero carry");y=T,_++}for(var z=w-y;z!==w&&v[z]===0;)z++;for(var S=c.repeat(b);z<w;++z)S+=t.charAt(v[z]);return S}function f(g){if(typeof g!="string")throw new TypeError("Expected String");if(g.length===0)return new Uint8Array;for(var b=0,y=0,_=0;g[b]===c;)y++,b++;for(var k=(g.length-b)*u+1>>>0,w=new Uint8Array(k);g[b];){var v=g.charCodeAt(b);if(v>255)return;var A=n[v];if(A===255)return;for(var T=0,I=k-1;(A!==0||T<_)&&I!==-1;I--,T++)A+=s*w[I]>>>0,w[I]=A%256>>>0,A=A/256>>>0;if(A!==0)throw new Error("Non-zero carry");_=T,b++}for(var z=k-_;z!==k&&w[z]===0;)z++;for(var S=new Uint8Array(y+(k-z)),B=y;z!==k;)S[B++]=w[z++];return S}function l(g){var b=f(g);if(b)return b;throw new Error("Non-base"+s+" character")}return{encode:h,decodeUnsafe:f,decode:l}}return il=e,il}var sl,yg;function Q3(){return yg||(yg=1,sl=J3()("123456789ABCDEFGHJKLMNPQRSTUVWXYZabcdefghijkmnopqrstuvwxyz")),sl}var cl,bg;function eC(){if(bg)return cl;bg=1;var e=Q3();return cl=function(t){function n(i){var s=Uint8Array.from(i),c=t(s),u=s.length+4,d=new Uint8Array(u);return d.set(s,0),d.set(c.subarray(0,4),s.length),e.encode(d,u)}function r(i){var s=i.slice(0,-4),c=i.slice(-4),u=t(s);if(!(c[0]^u[0]|c[1]^u[1]|c[2]^u[2]|c[3]^u[3]))return s}function a(i){var s=e.decodeUnsafe(i);if(s)return r(s)}function o(i){var s=e.decode(i),c=r(s);if(!c)throw new Error("Invalid checksum");return c}return{encode:n,decode:o,decodeUnsafe:a}},cl}var ul,wg;function _f(){if(wg)return ul;wg=1;var{sha256:e}=a_(),t=eC();function n(r){return e(e(r))}return ul=t(n),ul}var kg;function tC(){if(kg)return Za;kg=1,Object.defineProperty(Za,"__esModule",{value:!0}),Za.p2pkh=void 0;const e=Hn(),t=nn(),n=It(),r=ht(),a=wr(),o=_f(),i=n.OPS;function s(c,u){if(!c.address&&!c.hash&&!c.output&&!c.pubkey&&!c.input)throw new TypeError("Not enough data");u=Object.assign({validate:!0},u||{}),(0,r.typeforce)({network:r.typeforce.maybe(r.typeforce.Object),address:r.typeforce.maybe(r.typeforce.String),hash:r.typeforce.maybe(r.typeforce.BufferN(20)),output:r.typeforce.maybe(r.typeforce.BufferN(25)),pubkey:r.typeforce.maybe(r.isPoint),signature:r.typeforce.maybe(n.isCanonicalScriptSignature),input:r.typeforce.maybe(r.typeforce.Buffer)},c);const d=a.value(()=>{const g=Buffer.from(o.decode(c.address)),b=g.readUInt8(0),y=g.slice(1);return{version:b,hash:y}}),h=a.value(()=>n.decompile(c.input)),f=c.network||t.bitcoin,l={name:"p2pkh",network:f};if(a.prop(l,"address",()=>{if(!l.hash)return;const g=Buffer.allocUnsafe(21);return g.writeUInt8(f.pubKeyHash,0),l.hash.copy(g,1),o.encode(g)}),a.prop(l,"hash",()=>{if(c.output)return c.output.slice(3,23);if(c.address)return d().hash;if(c.pubkey||l.pubkey)return e.hash160(c.pubkey||l.pubkey)}),a.prop(l,"output",()=>{if(l.hash)return n.compile([i.OP_DUP,i.OP_HASH160,l.hash,i.OP_EQUALVERIFY,i.OP_CHECKSIG])}),a.prop(l,"pubkey",()=>{if(c.input)return h()[1]}),a.prop(l,"signature",()=>{if(c.input)return h()[0]}),a.prop(l,"input",()=>{if(c.pubkey&&c.signature)return n.compile([c.signature,c.pubkey])}),a.prop(l,"witness",()=>{if(l.input)return[]}),u.validate){let g=Buffer.from([]);if(c.address){if(d().version!==f.pubKeyHash)throw new TypeError("Invalid version or Network mismatch");if(d().hash.length!==20)throw new TypeError("Invalid address");g=d().hash}if(c.hash){if(g.length>0&&!g.equals(c.hash))throw new TypeError("Hash mismatch");g=c.hash}if(c.output){if(c.output.length!==25||c.output[0]!==i.OP_DUP||c.output[1]!==i.OP_HASH160||c.output[2]!==20||c.output[23]!==i.OP_EQUALVERIFY||c.output[24]!==i.OP_CHECKSIG)throw new TypeError("Output is invalid");const b=c.output.slice(3,23);if(g.length>0&&!g.equals(b))throw new TypeError("Hash mismatch");g=b}if(c.pubkey){const b=e.hash160(c.pubkey);if(g.length>0&&!g.equals(b))throw new TypeError("Hash mismatch");g=b}if(c.input){const b=h();if(b.length!==2)throw new TypeError("Input is invalid");if(!n.isCanonicalScriptSignature(b[0]))throw new TypeError("Input has invalid signature");if(!(0,r.isPoint)(b[1]))throw new TypeError("Input has invalid pubkey");if(c.signature&&!c.signature.equals(b[0]))throw new TypeError("Signature mismatch");if(c.pubkey&&!c.pubkey.equals(b[1]))throw new TypeError("Pubkey mismatch");const y=e.hash160(b[1]);if(g.length>0&&!g.equals(y))throw new TypeError("Hash mismatch")}}return Object.assign(l,c)}return Za.p2pkh=s,Za}var Ja={},_g;function nC(){if(_g)return Ja;_g=1,Object.defineProperty(Ja,"__esModule",{value:!0}),Ja.p2sh=void 0;const e=Hn(),t=nn(),n=It(),r=ht(),a=wr(),o=_f(),i=n.OPS;function s(u,d){return u.length!==d.length?!1:u.every((h,f)=>h.equals(d[f]))}function c(u,d){if(!u.address&&!u.hash&&!u.output&&!u.redeem&&!u.input)throw new TypeError("Not enough data");d=Object.assign({validate:!0},d||{}),(0,r.typeforce)({network:r.typeforce.maybe(r.typeforce.Object),address:r.typeforce.maybe(r.typeforce.String),hash:r.typeforce.maybe(r.typeforce.BufferN(20)),output:r.typeforce.maybe(r.typeforce.BufferN(23)),redeem:r.typeforce.maybe({network:r.typeforce.maybe(r.typeforce.Object),output:r.typeforce.maybe(r.typeforce.Buffer),input:r.typeforce.maybe(r.typeforce.Buffer),witness:r.typeforce.maybe(r.typeforce.arrayOf(r.typeforce.Buffer))}),input:r.typeforce.maybe(r.typeforce.Buffer),witness:r.typeforce.maybe(r.typeforce.arrayOf(r.typeforce.Buffer))},u);let h=u.network;h||(h=u.redeem&&u.redeem.network||t.bitcoin);const f={network:h},l=a.value(()=>{const y=Buffer.from(o.decode(u.address)),_=y.readUInt8(0),k=y.slice(1);return{version:_,hash:k}}),g=a.value(()=>n.decompile(u.input)),b=a.value(()=>{const y=g(),_=y[y.length-1];return{network:h,output:_===i.OP_FALSE?Buffer.from([]):_,input:n.compile(y.slice(0,-1)),witness:u.witness||[]}});if(a.prop(f,"address",()=>{if(!f.hash)return;const y=Buffer.allocUnsafe(21);return y.writeUInt8(f.network.scriptHash,0),f.hash.copy(y,1),o.encode(y)}),a.prop(f,"hash",()=>{if(u.output)return u.output.slice(2,22);if(u.address)return l().hash;if(f.redeem&&f.redeem.output)return e.hash160(f.redeem.output)}),a.prop(f,"output",()=>{if(f.hash)return n.compile([i.OP_HASH160,f.hash,i.OP_EQUAL])}),a.prop(f,"redeem",()=>{if(u.input)return b()}),a.prop(f,"input",()=>{if(!(!u.redeem||!u.redeem.input||!u.redeem.output))return n.compile([].concat(n.decompile(u.redeem.input),u.redeem.output))}),a.prop(f,"witness",()=>{if(f.redeem&&f.redeem.witness)return f.redeem.witness;if(f.input)return[]}),a.prop(f,"name",()=>{const y=["p2sh"];return f.redeem!==void 0&&f.redeem.name!==void 0&&y.push(f.redeem.name),y.join("-")}),d.validate){let y=Buffer.from([]);if(u.address){if(l().version!==h.scriptHash)throw new TypeError("Invalid version or Network mismatch");if(l().hash.length!==20)throw new TypeError("Invalid address");y=l().hash}if(u.hash){if(y.length>0&&!y.equals(u.hash))throw new TypeError("Hash mismatch");y=u.hash}if(u.output){if(u.output.length!==23||u.output[0]!==i.OP_HASH160||u.output[1]!==20||u.output[22]!==i.OP_EQUAL)throw new TypeError("Output is invalid");const k=u.output.slice(2,22);if(y.length>0&&!y.equals(k))throw new TypeError("Hash mismatch");y=k}const _=k=>{if(k.output){const w=n.decompile(k.output);if(!w||w.length<1)throw new TypeError("Redeem.output too short");if(k.output.byteLength>520)throw new TypeError("Redeem.output unspendable if larger than 520 bytes");if(n.countNonPushOnlyOPs(w)>201)throw new TypeError("Redeem.output unspendable with more than 201 non-push ops");const v=e.hash160(k.output);if(y.length>0&&!y.equals(v))throw new TypeError("Hash mismatch");y=v}if(k.input){const w=k.input.length>0,v=k.witness&&k.witness.length>0;if(!w&&!v)throw new TypeError("Empty input");if(w&&v)throw new TypeError("Input and witness provided");if(w){const A=n.decompile(k.input);if(!n.isPushOnly(A))throw new TypeError("Non push-only scriptSig")}}};if(u.input){const k=g();if(!k||k.length<1)throw new TypeError("Input too short");if(!Buffer.isBuffer(b().output))throw new TypeError("Input is invalid");_(b())}if(u.redeem){if(u.redeem.network&&u.redeem.network!==h)throw new TypeError("Network mismatch");if(u.input){const k=b();if(u.redeem.output&&!u.redeem.output.equals(k.output))throw new TypeError("Redeem.output mismatch");if(u.redeem.input&&!u.redeem.input.equals(k.input))throw new TypeError("Redeem.input mismatch")}_(u.redeem)}if(u.witness&&u.redeem&&u.redeem.witness&&!s(u.redeem.witness,u.witness))throw new TypeError("Witness and redeem.witness mismatch")}return Object.assign(f,u)}return Ja.p2sh=c,Ja}var Qa={},Tr={},vg;function Ws(){if(vg)return Tr;vg=1,Object.defineProperty(Tr,"__esModule",{value:!0}),Tr.bech32m=Tr.bech32=void 0;const e="qpzry9x8gf2tvdw0s3jn54khce6mua7l",t={};for(let u=0;u<e.length;u++){const d=e.charAt(u);t[d]=u}function n(u){const d=u>>25;return(u&33554431)<<5^-(d>>0&1)&996825010^-(d>>1&1)&642813549^-(d>>2&1)&513874426^-(d>>3&1)&1027748829^-(d>>4&1)&705979059}function r(u){let d=1;for(let h=0;h<u.length;++h){const f=u.charCodeAt(h);if(f<33||f>126)return"Invalid prefix ("+u+")";d=n(d)^f>>5}d=n(d);for(let h=0;h<u.length;++h){const f=u.charCodeAt(h);d=n(d)^f&31}return d}function a(u,d,h,f){let l=0,g=0;const b=(1<<h)-1,y=[];for(let _=0;_<u.length;++_)for(l=l<<d|u[_],g+=d;g>=h;)g-=h,y.push(l>>g&b);if(f)g>0&&y.push(l<<h-g&b);else{if(g>=d)return"Excess padding";if(l<<h-g&b)return"Non-zero padding"}return y}function o(u){return a(u,8,5,!0)}function i(u){const d=a(u,5,8,!1);if(Array.isArray(d))return d}function s(u){const d=a(u,5,8,!1);if(Array.isArray(d))return d;throw new Error(d)}function c(u){let d;u==="bech32"?d=1:d=734539939;function h(b,y,_){if(_=_||90,b.length+7+y.length>_)throw new TypeError("Exceeds length limit");b=b.toLowerCase();let k=r(b);if(typeof k=="string")throw new Error(k);let w=b+"1";for(let v=0;v<y.length;++v){const A=y[v];if(A>>5!==0)throw new Error("Non 5-bit word");k=n(k)^A,w+=e.charAt(A)}for(let v=0;v<6;++v)k=n(k);k^=d;for(let v=0;v<6;++v){const A=k>>(5-v)*5&31;w+=e.charAt(A)}return w}function f(b,y){if(y=y||90,b.length<8)return b+" too short";if(b.length>y)return"Exceeds length limit";const _=b.toLowerCase(),k=b.toUpperCase();if(b!==_&&b!==k)return"Mixed-case string "+b;b=_;const w=b.lastIndexOf("1");if(w===-1)return"No separator character for "+b;if(w===0)return"Missing prefix for "+b;const v=b.slice(0,w),A=b.slice(w+1);if(A.length<6)return"Data too short";let T=r(v);if(typeof T=="string")return T;const I=[];for(let z=0;z<A.length;++z){const S=A.charAt(z),B=t[S];if(B===void 0)return"Unknown character "+S;T=n(T)^B,!(z+6>=A.length)&&I.push(B)}return T!==d?"Invalid checksum for "+b:{prefix:v,words:I}}function l(b,y){const _=f(b,y);if(typeof _=="object")return _}function g(b,y){const _=f(b,y);if(typeof _=="object")return _;throw new Error(_)}return{decodeUnsafe:l,decode:g,encode:h,toWords:o,fromWordsUnsafe:i,fromWords:s}}return Tr.bech32=c("bech32"),Tr.bech32m=c("bech32m"),Tr}var Eg;function rC(){if(Eg)return Qa;Eg=1,Object.defineProperty(Qa,"__esModule",{value:!0}),Qa.p2wpkh=void 0;const e=Hn(),t=nn(),n=It(),r=ht(),a=wr(),o=Ws(),i=n.OPS,s=Buffer.alloc(0);function c(u,d){if(!u.address&&!u.hash&&!u.output&&!u.pubkey&&!u.witness)throw new TypeError("Not enough data");d=Object.assign({validate:!0},d||{}),(0,r.typeforce)({address:r.typeforce.maybe(r.typeforce.String),hash:r.typeforce.maybe(r.typeforce.BufferN(20)),input:r.typeforce.maybe(r.typeforce.BufferN(0)),network:r.typeforce.maybe(r.typeforce.Object),output:r.typeforce.maybe(r.typeforce.BufferN(22)),pubkey:r.typeforce.maybe(r.isPoint),signature:r.typeforce.maybe(n.isCanonicalScriptSignature),witness:r.typeforce.maybe(r.typeforce.arrayOf(r.typeforce.Buffer))},u);const h=a.value(()=>{const g=o.bech32.decode(u.address),b=g.words.shift(),y=o.bech32.fromWords(g.words);return{version:b,prefix:g.prefix,data:Buffer.from(y)}}),f=u.network||t.bitcoin,l={name:"p2wpkh",network:f};if(a.prop(l,"address",()=>{if(!l.hash)return;const g=o.bech32.toWords(l.hash);return g.unshift(0),o.bech32.encode(f.bech32,g)}),a.prop(l,"hash",()=>{if(u.output)return u.output.slice(2,22);if(u.address)return h().data;if(u.pubkey||l.pubkey)return e.hash160(u.pubkey||l.pubkey)}),a.prop(l,"output",()=>{if(l.hash)return n.compile([i.OP_0,l.hash])}),a.prop(l,"pubkey",()=>{if(u.pubkey)return u.pubkey;if(u.witness)return u.witness[1]}),a.prop(l,"signature",()=>{if(u.witness)return u.witness[0]}),a.prop(l,"input",()=>{if(l.witness)return s}),a.prop(l,"witness",()=>{if(u.pubkey&&u.signature)return[u.signature,u.pubkey]}),d.validate){let g=Buffer.from([]);if(u.address){if(f&&f.bech32!==h().prefix)throw new TypeError("Invalid prefix or Network mismatch");if(h().version!==0)throw new TypeError("Invalid address version");if(h().data.length!==20)throw new TypeError("Invalid address data");g=h().data}if(u.hash){if(g.length>0&&!g.equals(u.hash))throw new TypeError("Hash mismatch");g=u.hash}if(u.output){if(u.output.length!==22||u.output[0]!==i.OP_0||u.output[1]!==20)throw new TypeError("Output is invalid");if(g.length>0&&!g.equals(u.output.slice(2)))throw new TypeError("Hash mismatch");g=u.output.slice(2)}if(u.pubkey){const b=e.hash160(u.pubkey);if(g.length>0&&!g.equals(b))throw new TypeError("Hash mismatch");if(g=b,!(0,r.isPoint)(u.pubkey)||u.pubkey.length!==33)throw new TypeError("Invalid pubkey for p2wpkh")}if(u.witness){if(u.witness.length!==2)throw new TypeError("Witness is invalid");if(!n.isCanonicalScriptSignature(u.witness[0]))throw new TypeError("Witness has invalid signature");if(!(0,r.isPoint)(u.witness[1])||u.witness[1].length!==33)throw new TypeError("Witness has invalid pubkey");if(u.signature&&!u.signature.equals(u.witness[0]))throw new TypeError("Signature mismatch");if(u.pubkey&&!u.pubkey.equals(u.witness[1]))throw new TypeError("Pubkey mismatch");const b=e.hash160(u.witness[1]);if(g.length>0&&!g.equals(b))throw new TypeError("Hash mismatch")}}return Object.assign(l,u)}return Qa.p2wpkh=c,Qa}var eo={},Ag;function aC(){if(Ag)return eo;Ag=1,Object.defineProperty(eo,"__esModule",{value:!0}),eo.p2wsh=void 0;const e=Hn(),t=nn(),n=It(),r=ht(),a=wr(),o=Ws(),i=n.OPS,s=Buffer.alloc(0);function c(h,f){return h.length!==f.length?!1:h.every((l,g)=>l.equals(f[g]))}function u(h){return!!(Buffer.isBuffer(h)&&h.length===65&&h[0]===4&&(0,r.isPoint)(h))}function d(h,f){if(!h.address&&!h.hash&&!h.output&&!h.redeem&&!h.witness)throw new TypeError("Not enough data");f=Object.assign({validate:!0},f||{}),(0,r.typeforce)({network:r.typeforce.maybe(r.typeforce.Object),address:r.typeforce.maybe(r.typeforce.String),hash:r.typeforce.maybe(r.typeforce.BufferN(32)),output:r.typeforce.maybe(r.typeforce.BufferN(34)),redeem:r.typeforce.maybe({input:r.typeforce.maybe(r.typeforce.Buffer),network:r.typeforce.maybe(r.typeforce.Object),output:r.typeforce.maybe(r.typeforce.Buffer),witness:r.typeforce.maybe(r.typeforce.arrayOf(r.typeforce.Buffer))}),input:r.typeforce.maybe(r.typeforce.BufferN(0)),witness:r.typeforce.maybe(r.typeforce.arrayOf(r.typeforce.Buffer))},h);const l=a.value(()=>{const _=o.bech32.decode(h.address),k=_.words.shift(),w=o.bech32.fromWords(_.words);return{version:k,prefix:_.prefix,data:Buffer.from(w)}}),g=a.value(()=>n.decompile(h.redeem.input));let b=h.network;b||(b=h.redeem&&h.redeem.network||t.bitcoin);const y={network:b};if(a.prop(y,"address",()=>{if(!y.hash)return;const _=o.bech32.toWords(y.hash);return _.unshift(0),o.bech32.encode(b.bech32,_)}),a.prop(y,"hash",()=>{if(h.output)return h.output.slice(2);if(h.address)return l().data;if(y.redeem&&y.redeem.output)return e.sha256(y.redeem.output)}),a.prop(y,"output",()=>{if(y.hash)return n.compile([i.OP_0,y.hash])}),a.prop(y,"redeem",()=>{if(h.witness)return{output:h.witness[h.witness.length-1],input:s,witness:h.witness.slice(0,-1)}}),a.prop(y,"input",()=>{if(y.witness)return s}),a.prop(y,"witness",()=>{if(h.redeem&&h.redeem.input&&h.redeem.input.length>0&&h.redeem.output&&h.redeem.output.length>0){const _=n.toStack(g());return y.redeem=Object.assign({witness:_},h.redeem),y.redeem.input=s,[].concat(_,h.redeem.output)}if(h.redeem&&h.redeem.output&&h.redeem.witness)return[].concat(h.redeem.witness,h.redeem.output)}),a.prop(y,"name",()=>{const _=["p2wsh"];return y.redeem!==void 0&&y.redeem.name!==void 0&&_.push(y.redeem.name),_.join("-")}),f.validate){let _=Buffer.from([]);if(h.address){if(l().prefix!==b.bech32)throw new TypeError("Invalid prefix or Network mismatch");if(l().version!==0)throw new TypeError("Invalid address version");if(l().data.length!==32)throw new TypeError("Invalid address data");_=l().data}if(h.hash){if(_.length>0&&!_.equals(h.hash))throw new TypeError("Hash mismatch");_=h.hash}if(h.output){if(h.output.length!==34||h.output[0]!==i.OP_0||h.output[1]!==32)throw new TypeError("Output is invalid");const k=h.output.slice(2);if(_.length>0&&!_.equals(k))throw new TypeError("Hash mismatch");_=k}if(h.redeem){if(h.redeem.network&&h.redeem.network!==b)throw new TypeError("Network mismatch");if(h.redeem.input&&h.redeem.input.length>0&&h.redeem.witness&&h.redeem.witness.length>0)throw new TypeError("Ambiguous witness source");if(h.redeem.output){const k=n.decompile(h.redeem.output);if(!k||k.length<1)throw new TypeError("Redeem.output is invalid");if(h.redeem.output.byteLength>3600)throw new TypeError("Redeem.output unspendable if larger than 3600 bytes");if(n.countNonPushOnlyOPs(k)>201)throw new TypeError("Redeem.output unspendable with more than 201 non-push ops");const w=e.sha256(h.redeem.output);if(_.length>0&&!_.equals(w))throw new TypeError("Hash mismatch");_=w}if(h.redeem.input&&!n.isPushOnly(g()))throw new TypeError("Non push-only scriptSig");if(h.witness&&h.redeem.witness&&!c(h.witness,h.redeem.witness))throw new TypeError("Witness and redeem.witness mismatch");if(h.redeem.input&&g().some(u)||h.redeem.output&&(n.decompile(h.redeem.output)||[]).some(u))throw new TypeError("redeem.input or redeem.output contains uncompressed pubkey")}if(h.witness&&h.witness.length>0){const k=h.witness[h.witness.length-1];if(h.redeem&&h.redeem.output&&!h.redeem.output.equals(k))throw new TypeError("Witness and redeem.output mismatch");if(h.witness.some(u)||(n.decompile(k)||[]).some(u))throw new TypeError("Witness contains uncompressed pubkey")}}return Object.assign(y,h)}return eo.p2wsh=d,eo}var to={},Ir={},Sg;function vf(){if(Sg)return Ir;Sg=1,Object.defineProperty(Ir,"__esModule",{value:!0}),Ir.getEccLib=Ir.initEccLib=void 0;const e={};function t(s){s?s!==e.eccLib&&(a(s),e.eccLib=s):e.eccLib=s}Ir.initEccLib=t;function n(){if(!e.eccLib)throw new Error("No ECC Library provided. You must call initEccLib() with a valid TinySecp256k1Interface instance");return e.eccLib}Ir.getEccLib=n;const r=s=>Buffer.from(s,"hex");function a(s){o(typeof s.isXOnlyPoint=="function"),o(s.isXOnlyPoint(r("79be667ef9dcbbac55a06295ce870b07029bfcdb2dce28d959f2815b16f81798"))),o(s.isXOnlyPoint(r("fffffffffffffffffffffffffffffffffffffffffffffffffffffffeeffffc2e"))),o(s.isXOnlyPoint(r("f9308a019258c31049344f85f89d5229b531c845836f99b08601f113bce036f9"))),o(s.isXOnlyPoint(r("0000000000000000000000000000000000000000000000000000000000000001"))),o(!s.isXOnlyPoint(r("0000000000000000000000000000000000000000000000000000000000000000"))),o(!s.isXOnlyPoint(r("fffffffffffffffffffffffffffffffffffffffffffffffffffffffefffffc2f"))),o(typeof s.xOnlyPointAddTweak=="function"),i.forEach(c=>{const u=s.xOnlyPointAddTweak(r(c.pubkey),r(c.tweak));c.result===null?o(u===null):(o(u!==null),o(u.parity===c.parity),o(Buffer.from(u.xOnlyPubkey).equals(r(c.result))))})}function o(s){if(!s)throw new Error("ecc library invalid")}const i=[{pubkey:"79be667ef9dcbbac55a06295ce870b07029bfcdb2dce28d959f2815b16f81798",tweak:"fffffffffffffffffffffffffffffffebaaedce6af48a03bbfd25e8cd0364140",parity:-1,result:null},{pubkey:"1617d38ed8d8657da4d4761e8057bc396ea9e4b9d29776d4be096016dbd2509b",tweak:"a8397a935f0dfceba6ba9618f6451ef4d80637abf4e6af2669fbc9de6a8fd2ac",parity:1,result:"e478f99dab91052ab39a33ea35fd5e6e4933f4d28023cd597c9a1f6760346adf"},{pubkey:"2c0b7cf95324a07d05398b240174dc0c2be444d96b159aa6c7f7b1e668680991",tweak:"823c3cd2142744b075a87eade7e1b8678ba308d566226a0056ca2b7a76f86b47",parity:0,result:"9534f8dc8c6deda2dc007655981c78b49c5d96c778fbf363462a11ec9dfd948c"}];return Ir}var ll={},it={},Ui={exports:{}};/*! safe-buffer. MIT License. Feross Aboukhadijeh <https://feross.org/opensource> */var jg;function oC(){return jg||(jg=1,(function(e,t){var n=Gs(),r=n.Buffer;function a(i,s){for(var c in i)s[c]=i[c]}r.from&&r.alloc&&r.allocUnsafe&&r.allocUnsafeSlow?e.exports=n:(a(n,t),t.Buffer=o);function o(i,s,c){return r(i,s,c)}o.prototype=Object.create(r.prototype),a(r,o),o.from=function(i,s,c){if(typeof i=="number")throw new TypeError("Argument must not be a number");return r(i,s,c)},o.alloc=function(i,s,c){if(typeof i!="number")throw new TypeError("Argument must be a number");var u=r(i);return s!==void 0?typeof c=="string"?u.fill(s,c):u.fill(s):u.fill(0),u},o.allocUnsafe=function(i){if(typeof i!="number")throw new TypeError("Argument must be a number");return r(i)},o.allocUnsafeSlow=function(i){if(typeof i!="number")throw new TypeError("Argument must be a number");return n.SlowBuffer(i)}})(Ui,Ui.exports)),Ui.exports}var dl,xg;function iC(){if(xg)return dl;xg=1;var e=oC().Buffer,t=9007199254740991;function n(i){if(i<0||i>t||i%1!==0)throw new RangeError("value out of range")}function r(i,s,c){if(n(i),s||(s=e.allocUnsafe(o(i))),!e.isBuffer(s))throw new TypeError("buffer must be a Buffer instance");return c||(c=0),i<253?(s.writeUInt8(i,c),r.bytes=1):i<=65535?(s.writeUInt8(253,c),s.writeUInt16LE(i,c+1),r.bytes=3):i<=4294967295?(s.writeUInt8(254,c),s.writeUInt32LE(i,c+1),r.bytes=5):(s.writeUInt8(255,c),s.writeUInt32LE(i>>>0,c+1),s.writeUInt32LE(i/4294967296|0,c+5),r.bytes=9),s}function a(i,s){if(!e.isBuffer(i))throw new TypeError("buffer must be a Buffer instance");s||(s=0);var c=i.readUInt8(s);if(c<253)return a.bytes=1,c;if(c===253)return a.bytes=3,i.readUInt16LE(s+1);if(c===254)return a.bytes=5,i.readUInt32LE(s+1);a.bytes=9;var u=i.readUInt32LE(s+1),d=i.readUInt32LE(s+5),h=d*4294967296+u;return n(h),h}function o(i){return n(i),i<253?1:i<=65535?3:i<=4294967295?5:9}return dl={encode:r,decode:a,encodingLength:o},dl}var Tg;function Xs(){if(Tg)return it;Tg=1,Object.defineProperty(it,"__esModule",{value:!0}),it.BufferReader=it.BufferWriter=it.cloneBuffer=it.reverseBuffer=it.writeUInt64LE=it.readUInt64LE=it.varuint=void 0;const e=ht(),{typeforce:t}=e,n=iC();it.varuint=n;function r(d,h){if(typeof d!="number")throw new Error("cannot write a non-number as a number");if(d<0)throw new Error("specified a negative value for writing an unsigned value");if(d>h)throw new Error("RangeError: value out of range");if(Math.floor(d)!==d)throw new Error("value has a fractional component")}function a(d,h){const f=d.readUInt32LE(h);let l=d.readUInt32LE(h+4);return l*=4294967296,r(l+f,9007199254740991),l+f}it.readUInt64LE=a;function o(d,h,f){return r(h,9007199254740991),d.writeInt32LE(h&-1,f),d.writeUInt32LE(Math.floor(h/4294967296),f+4),f+8}it.writeUInt64LE=o;function i(d){if(d.length<1)return d;let h=d.length-1,f=0;for(let l=0;l<d.length/2;l++)f=d[l],d[l]=d[h],d[h]=f,h--;return d}it.reverseBuffer=i;function s(d){const h=Buffer.allocUnsafe(d.length);return d.copy(h),h}it.cloneBuffer=s;class c{static withCapacity(h){return new c(Buffer.alloc(h))}constructor(h,f=0){this.buffer=h,this.offset=f,t(e.tuple(e.Buffer,e.UInt32),[h,f])}writeUInt8(h){this.offset=this.buffer.writeUInt8(h,this.offset)}writeInt32(h){this.offset=this.buffer.writeInt32LE(h,this.offset)}writeUInt32(h){this.offset=this.buffer.writeUInt32LE(h,this.offset)}writeUInt64(h){this.offset=o(this.buffer,h,this.offset)}writeVarInt(h){n.encode(h,this.buffer,this.offset),this.offset+=n.encode.bytes}writeSlice(h){if(this.buffer.length<this.offset+h.length)throw new Error("Cannot write slice out of bounds");this.offset+=h.copy(this.buffer,this.offset)}writeVarSlice(h){this.writeVarInt(h.length),this.writeSlice(h)}writeVector(h){this.writeVarInt(h.length),h.forEach(f=>this.writeVarSlice(f))}end(){if(this.buffer.length===this.offset)return this.buffer;throw new Error(`buffer size ${this.buffer.length}, offset ${this.offset}`)}}it.BufferWriter=c;class u{constructor(h,f=0){this.buffer=h,this.offset=f,t(e.tuple(e.Buffer,e.UInt32),[h,f])}readUInt8(){const h=this.buffer.readUInt8(this.offset);return this.offset++,h}readInt32(){const h=this.buffer.readInt32LE(this.offset);return this.offset+=4,h}readUInt32(){const h=this.buffer.readUInt32LE(this.offset);return this.offset+=4,h}readUInt64(){const h=a(this.buffer,this.offset);return this.offset+=8,h}readVarInt(){const h=n.decode(this.buffer,this.offset);return this.offset+=n.decode.bytes,h}readSlice(h){if(this.buffer.length<this.offset+h)throw new Error("Cannot read slice out of bounds");const f=this.buffer.slice(this.offset,this.offset+h);return this.offset+=h,f}readVarSlice(){return this.readSlice(this.readVarInt())}readVector(){const h=this.readVarInt(),f=[];for(let l=0;l<h;l++)f.push(this.readVarSlice());return f}}return it.BufferReader=u,it}var Ig;function Ef(){return Ig||(Ig=1,(function(e){Object.defineProperty(e,"__esModule",{value:!0}),e.tweakKey=e.tapTweakHash=e.tapleafHash=e.findScriptPath=e.toHashTree=e.rootHashFromPath=e.MAX_TAPTREE_DEPTH=e.LEAF_VERSION_TAPSCRIPT=void 0;const t=Gs(),n=vf(),r=Hn(),a=Xs(),o=ht();e.LEAF_VERSION_TAPSCRIPT=192,e.MAX_TAPTREE_DEPTH=128;const i=b=>"left"in b&&"right"in b;function s(b,y){if(b.length<33)throw new TypeError(`The control-block length is too small. Got ${b.length}, expected min 33.`);const _=(b.length-33)/32;let k=y;for(let w=0;w<_;w++){const v=b.slice(33+32*w,65+32*w);k.compare(v)<0?k=l(k,v):k=l(v,k)}return k}e.rootHashFromPath=s;function c(b){if((0,o.isTapleaf)(b))return{hash:d(b)};const y=[c(b[0]),c(b[1])];y.sort((w,v)=>w.hash.compare(v.hash));const[_,k]=y;return{hash:l(_.hash,k.hash),left:_,right:k}}e.toHashTree=c;function u(b,y){if(i(b)){const _=u(b.left,y);if(_!==void 0)return[..._,b.right.hash];const k=u(b.right,y);if(k!==void 0)return[...k,b.left.hash]}else if(b.hash.equals(y))return[]}e.findScriptPath=u;function d(b){const y=b.version||e.LEAF_VERSION_TAPSCRIPT;return r.taggedHash("TapLeaf",t.Buffer.concat([t.Buffer.from([y]),g(b.output)]))}e.tapleafHash=d;function h(b,y){return r.taggedHash("TapTweak",t.Buffer.concat(y?[b,y]:[b]))}e.tapTweakHash=h;function f(b,y){if(!t.Buffer.isBuffer(b)||b.length!==32||y&&y.length!==32)return null;const _=h(b,y),k=(0,n.getEccLib)().xOnlyPointAddTweak(b,_);return!k||k.xOnlyPubkey===null?null:{parity:k.parity,x:t.Buffer.from(k.xOnlyPubkey)}}e.tweakKey=f;function l(b,y){return r.taggedHash("TapBranch",t.Buffer.concat([b,y]))}function g(b){const y=a.varuint.encodingLength(b.length),_=t.Buffer.allocUnsafe(y);return a.varuint.encode(b.length,_),t.Buffer.concat([_,b])}})(ll)),ll}var Cg;function sC(){if(Cg)return to;Cg=1,Object.defineProperty(to,"__esModule",{value:!0}),to.p2tr=void 0;const e=Gs(),t=nn(),n=It(),r=ht(),a=vf(),o=Ef(),i=wr(),s=Ws(),c=n.OPS,u=1,d=80;function h(l,g){if(!l.address&&!l.output&&!l.pubkey&&!l.internalPubkey&&!(l.witness&&l.witness.length>1))throw new TypeError("Not enough data");g=Object.assign({validate:!0},g||{}),(0,r.typeforce)({address:r.typeforce.maybe(r.typeforce.String),input:r.typeforce.maybe(r.typeforce.BufferN(0)),network:r.typeforce.maybe(r.typeforce.Object),output:r.typeforce.maybe(r.typeforce.BufferN(34)),internalPubkey:r.typeforce.maybe(r.typeforce.BufferN(32)),hash:r.typeforce.maybe(r.typeforce.BufferN(32)),pubkey:r.typeforce.maybe(r.typeforce.BufferN(32)),signature:r.typeforce.maybe(r.typeforce.anyOf(r.typeforce.BufferN(64),r.typeforce.BufferN(65))),witness:r.typeforce.maybe(r.typeforce.arrayOf(r.typeforce.Buffer)),scriptTree:r.typeforce.maybe(r.isTaptree),redeem:r.typeforce.maybe({output:r.typeforce.maybe(r.typeforce.Buffer),redeemVersion:r.typeforce.maybe(r.typeforce.Number),witness:r.typeforce.maybe(r.typeforce.arrayOf(r.typeforce.Buffer))}),redeemVersion:r.typeforce.maybe(r.typeforce.Number)},l);const b=i.value(()=>{const v=s.bech32m.decode(l.address),A=v.words.shift(),T=s.bech32m.fromWords(v.words);return{version:A,prefix:v.prefix,data:e.Buffer.from(T)}}),y=i.value(()=>{if(!(!l.witness||!l.witness.length))return l.witness.length>=2&&l.witness[l.witness.length-1][0]===d?l.witness.slice(0,-1):l.witness.slice()}),_=i.value(()=>{if(l.scriptTree)return(0,o.toHashTree)(l.scriptTree);if(l.hash)return{hash:l.hash}}),k=l.network||t.bitcoin,w={name:"p2tr",network:k};if(i.prop(w,"address",()=>{if(!w.pubkey)return;const v=s.bech32m.toWords(w.pubkey);return v.unshift(u),s.bech32m.encode(k.bech32,v)}),i.prop(w,"hash",()=>{const v=_();if(v)return v.hash;const A=y();if(A&&A.length>1){const T=A[A.length-1],I=T[0]&r.TAPLEAF_VERSION_MASK,z=A[A.length-2],S=(0,o.tapleafHash)({output:z,version:I});return(0,o.rootHashFromPath)(T,S)}return null}),i.prop(w,"output",()=>{if(w.pubkey)return n.compile([c.OP_1,w.pubkey])}),i.prop(w,"redeemVersion",()=>l.redeemVersion?l.redeemVersion:l.redeem&&l.redeem.redeemVersion!==void 0&&l.redeem.redeemVersion!==null?l.redeem.redeemVersion:o.LEAF_VERSION_TAPSCRIPT),i.prop(w,"redeem",()=>{const v=y();if(!(!v||v.length<2))return{output:v[v.length-2],witness:v.slice(0,-2),redeemVersion:v[v.length-1][0]&r.TAPLEAF_VERSION_MASK}}),i.prop(w,"pubkey",()=>{if(l.pubkey)return l.pubkey;if(l.output)return l.output.slice(2);if(l.address)return b().data;if(w.internalPubkey){const v=(0,o.tweakKey)(w.internalPubkey,w.hash);if(v)return v.x}}),i.prop(w,"internalPubkey",()=>{if(l.internalPubkey)return l.internalPubkey;const v=y();if(v&&v.length>1)return v[v.length-1].slice(1,33)}),i.prop(w,"signature",()=>{if(l.signature)return l.signature;const v=y();if(!(!v||v.length!==1))return v[0]}),i.prop(w,"witness",()=>{if(l.witness)return l.witness;const v=_();if(v&&l.redeem&&l.redeem.output&&l.internalPubkey){const A=(0,o.tapleafHash)({output:l.redeem.output,version:w.redeemVersion}),T=(0,o.findScriptPath)(v,A);if(!T)return;const I=(0,o.tweakKey)(l.internalPubkey,v.hash);if(!I)return;const z=e.Buffer.concat([e.Buffer.from([w.redeemVersion|I.parity]),l.internalPubkey].concat(T));return[l.redeem.output,z]}if(l.signature)return[l.signature]}),g.validate){let v=e.Buffer.from([]);if(l.address){if(k&&k.bech32!==b().prefix)throw new TypeError("Invalid prefix or Network mismatch");if(b().version!==u)throw new TypeError("Invalid address version");if(b().data.length!==32)throw new TypeError("Invalid address data");v=b().data}if(l.pubkey){if(v.length>0&&!v.equals(l.pubkey))throw new TypeError("Pubkey mismatch");v=l.pubkey}if(l.output){if(l.output.length!==34||l.output[0]!==c.OP_1||l.output[1]!==32)throw new TypeError("Output is invalid");if(v.length>0&&!v.equals(l.output.slice(2)))throw new TypeError("Pubkey mismatch");v=l.output.slice(2)}if(l.internalPubkey){const I=(0,o.tweakKey)(l.internalPubkey,w.hash);if(v.length>0&&!v.equals(I.x))throw new TypeError("Pubkey mismatch");v=I.x}if(v&&v.length&&!(0,a.getEccLib)().isXOnlyPoint(v))throw new TypeError("Invalid pubkey for p2tr");const A=_();if(l.hash&&A&&!l.hash.equals(A.hash))throw new TypeError("Hash mismatch");if(l.redeem&&l.redeem.output&&A){const I=(0,o.tapleafHash)({output:l.redeem.output,version:w.redeemVersion});if(!(0,o.findScriptPath)(A,I))throw new TypeError("Redeem script not in tree")}const T=y();if(l.redeem&&w.redeem){if(l.redeem.redeemVersion&&l.redeem.redeemVersion!==w.redeem.redeemVersion)throw new TypeError("Redeem.redeemVersion and witness mismatch");if(l.redeem.output){if(n.decompile(l.redeem.output).length===0)throw new TypeError("Redeem.output is invalid");if(w.redeem.output&&!l.redeem.output.equals(w.redeem.output))throw new TypeError("Redeem.output and witness mismatch")}if(l.redeem.witness&&w.redeem.witness&&!f(l.redeem.witness,w.redeem.witness))throw new TypeError("Redeem.witness and witness mismatch")}if(T&&T.length)if(T.length===1){if(l.signature&&!l.signature.equals(T[0]))throw new TypeError("Signature mismatch")}else{const I=T[T.length-1];if(I.length<33)throw new TypeError(`The control-block length is too small. Got ${I.length}, expected min 33.`);if((I.length-33)%32!==0)throw new TypeError(`The control-block length of ${I.length} is incorrect!`);const z=(I.length-33)/32;if(z>128)throw new TypeError(`The script path is too long. Got ${z}, expected max 128.`);const S=I.slice(1,33);if(l.internalPubkey&&!l.internalPubkey.equals(S))throw new TypeError("Internal pubkey mismatch");if(!(0,a.getEccLib)().isXOnlyPoint(S))throw new TypeError("Invalid internalPubkey for p2tr witness");const B=I[0]&r.TAPLEAF_VERSION_MASK,P=T[T.length-2],M=(0,o.tapleafHash)({output:P,version:B}),D=(0,o.rootHashFromPath)(I,M),R=(0,o.tweakKey)(S,D);if(!R)throw new TypeError("Invalid outputKey for p2tr witness");if(v.length&&!v.equals(R.x))throw new TypeError("Pubkey mismatch for p2tr witness");if(R.parity!==(I[0]&1))throw new Error("Incorrect parity")}}return Object.assign(w,l)}to.p2tr=h;function f(l,g){return l.length!==g.length?!1:l.every((b,y)=>b.equals(g[y]))}return to}var Og;function li(){return Og||(Og=1,(function(e){Object.defineProperty(e,"__esModule",{value:!0}),e.p2tr=e.p2wsh=e.p2wpkh=e.p2sh=e.p2pkh=e.p2pk=e.p2ms=e.embed=void 0;const t=$3();Object.defineProperty(e,"embed",{enumerable:!0,get:function(){return t.p2data}});const n=G3();Object.defineProperty(e,"p2ms",{enumerable:!0,get:function(){return n.p2ms}});const r=K3();Object.defineProperty(e,"p2pk",{enumerable:!0,get:function(){return r.p2pk}});const a=tC();Object.defineProperty(e,"p2pkh",{enumerable:!0,get:function(){return a.p2pkh}});const o=nC();Object.defineProperty(e,"p2sh",{enumerable:!0,get:function(){return o.p2sh}});const i=rC();Object.defineProperty(e,"p2wpkh",{enumerable:!0,get:function(){return i.p2wpkh}});const s=aC();Object.defineProperty(e,"p2wsh",{enumerable:!0,get:function(){return s.p2wsh}});const c=sC();Object.defineProperty(e,"p2tr",{enumerable:!0,get:function(){return c.p2tr}})})(Zu)),Zu}var Bg;function o_(){if(Bg)return mt;Bg=1,Object.defineProperty(mt,"__esModule",{value:!0}),mt.toOutputScript=mt.fromOutputScript=mt.toBech32=mt.toBase58Check=mt.fromBech32=mt.fromBase58Check=void 0;const e=nn(),t=li(),n=It(),r=ht(),a=Ws(),o=_f(),i=40,s=2,c=16,u=2,d=80,h="WARNING: Sending to a future segwit version address can lead to loss of funds. End users MUST be warned carefully in the GUI and asked if they wish to proceed with caution. Wallets should verify the segwit version from the output of fromBech32, then decide when it is safe to use which version of segwit.";function f(w,v){const A=w.slice(2);if(A.length<s||A.length>i)throw new TypeError("Invalid program length for segwit address");const T=w[0]-d;if(T<u||T>c)throw new TypeError("Invalid version for segwit address");if(w[1]!==A.length)throw new TypeError("Invalid script for segwit address");return console.warn(h),y(A,T,v.bech32)}function l(w){const v=Buffer.from(o.decode(w));if(v.length<21)throw new TypeError(w+" is too short");if(v.length>21)throw new TypeError(w+" is too long");const A=v.readUInt8(0),T=v.slice(1);return{version:A,hash:T}}mt.fromBase58Check=l;function g(w){let v,A;try{v=a.bech32.decode(w)}catch{}if(v){if(A=v.words[0],A!==0)throw new TypeError(w+" uses wrong encoding")}else if(v=a.bech32m.decode(w),A=v.words[0],A===0)throw new TypeError(w+" uses wrong encoding");const T=a.bech32.fromWords(v.words.slice(1));return{version:A,prefix:v.prefix,data:Buffer.from(T)}}mt.fromBech32=g;function b(w,v){(0,r.typeforce)((0,r.tuple)(r.Hash160bit,r.UInt8),arguments);const A=Buffer.allocUnsafe(21);return A.writeUInt8(v,0),w.copy(A,1),o.encode(A)}mt.toBase58Check=b;function y(w,v,A){const T=a.bech32.toWords(w);return T.unshift(v),v===0?a.bech32.encode(A,T):a.bech32m.encode(A,T)}mt.toBech32=y;function _(w,v){v=v||e.bitcoin;try{return t.p2pkh({output:w,network:v}).address}catch{}try{return t.p2sh({output:w,network:v}).address}catch{}try{return t.p2wpkh({output:w,network:v}).address}catch{}try{return t.p2wsh({output:w,network:v}).address}catch{}try{return t.p2tr({output:w,network:v}).address}catch{}try{return f(w,v)}catch{}throw new Error(n.toASM(w)+" has no matching Address")}mt.fromOutputScript=_;function k(w,v){v=v||e.bitcoin;let A,T;try{A=l(w)}catch{}if(A){if(A.version===v.pubKeyHash)return t.p2pkh({hash:A.hash}).output;if(A.version===v.scriptHash)return t.p2sh({hash:A.hash}).output}else{try{T=g(w)}catch{}if(T){if(T.prefix!==v.bech32)throw new Error(w+" has an invalid prefix");if(T.version===0){if(T.data.length===20)return t.p2wpkh({hash:T.data}).output;if(T.data.length===32)return t.p2wsh({hash:T.data}).output}else if(T.version===1){if(T.data.length===32)return t.p2tr({pubkey:T.data}).output}else if(T.version>=u&&T.version<=c&&T.data.length>=s&&T.data.length<=i)return console.warn(h),n.compile([T.version+d,T.data])}}throw new Error(w+" has no matching Script")}return mt.toOutputScript=k,mt}var no={},ro={},zg;function cC(){if(zg)return ro;zg=1,Object.defineProperty(ro,"__esModule",{value:!0}),ro.fastMerkleRoot=void 0;function e(t,n){if(!Array.isArray(t))throw TypeError("Expected values Array");if(typeof n!="function")throw TypeError("Expected digest Function");let r=t.length;const a=t.concat();for(;r>1;){let o=0;for(let i=0;i<r;i+=2,++o){const s=a[i],c=i+1===r?s:a[i+1],u=Buffer.concat([s,c]);a[o]=n(u)}r=o}return a[0]}return ro.fastMerkleRoot=e,ro}var ao={},Pg;function di(){if(Pg)return ao;Pg=1,Object.defineProperty(ao,"__esModule",{value:!0}),ao.Transaction=void 0;const e=Xs(),t=Hn(),n=It(),r=It(),a=ht(),{typeforce:o}=a;function i(y){const _=y.length;return e.varuint.encodingLength(_)+_}function s(y){const _=y.length;return e.varuint.encodingLength(_)+y.reduce((k,w)=>k+i(w),0)}const c=Buffer.allocUnsafe(0),u=[],d=Buffer.from("0000000000000000000000000000000000000000000000000000000000000000","hex"),h=Buffer.from("0000000000000000000000000000000000000000000000000000000000000001","hex"),f=Buffer.from("ffffffffffffffff","hex"),l={script:c,valueBuffer:f};function g(y){return y.value!==void 0}class b{constructor(){this.version=1,this.locktime=0,this.ins=[],this.outs=[]}static fromBuffer(_,k){const w=new e.BufferReader(_),v=new b;v.version=w.readInt32();const A=w.readUInt8(),T=w.readUInt8();let I=!1;A===b.ADVANCED_TRANSACTION_MARKER&&T===b.ADVANCED_TRANSACTION_FLAG?I=!0:w.offset-=2;const z=w.readVarInt();for(let B=0;B<z;++B)v.ins.push({hash:w.readSlice(32),index:w.readUInt32(),script:w.readVarSlice(),sequence:w.readUInt32(),witness:u});const S=w.readVarInt();for(let B=0;B<S;++B)v.outs.push({value:w.readUInt64(),script:w.readVarSlice()});if(I){for(let B=0;B<z;++B)v.ins[B].witness=w.readVector();if(!v.hasWitnesses())throw new Error("Transaction has superfluous witness data")}if(v.locktime=w.readUInt32(),k)return v;if(w.offset!==_.length)throw new Error("Transaction has unexpected data");return v}static fromHex(_){return b.fromBuffer(Buffer.from(_,"hex"),!1)}static isCoinbaseHash(_){o(a.Hash256bit,_);for(let k=0;k<32;++k)if(_[k]!==0)return!1;return!0}isCoinbase(){return this.ins.length===1&&b.isCoinbaseHash(this.ins[0].hash)}addInput(_,k,w,v){return o(a.tuple(a.Hash256bit,a.UInt32,a.maybe(a.UInt32),a.maybe(a.Buffer)),arguments),a.Null(w)&&(w=b.DEFAULT_SEQUENCE),this.ins.push({hash:_,index:k,script:v||c,sequence:w,witness:u})-1}addOutput(_,k){return o(a.tuple(a.Buffer,a.Satoshi),arguments),this.outs.push({script:_,value:k})-1}hasWitnesses(){return this.ins.some(_=>_.witness.length!==0)}weight(){const _=this.byteLength(!1),k=this.byteLength(!0);return _*3+k}virtualSize(){return Math.ceil(this.weight()/4)}byteLength(_=!0){const k=_&&this.hasWitnesses();return(k?10:8)+e.varuint.encodingLength(this.ins.length)+e.varuint.encodingLength(this.outs.length)+this.ins.reduce((w,v)=>w+40+i(v.script),0)+this.outs.reduce((w,v)=>w+8+i(v.script),0)+(k?this.ins.reduce((w,v)=>w+s(v.witness),0):0)}clone(){const _=new b;return _.version=this.version,_.locktime=this.locktime,_.ins=this.ins.map(k=>({hash:k.hash,index:k.index,script:k.script,sequence:k.sequence,witness:k.witness})),_.outs=this.outs.map(k=>({script:k.script,value:k.value})),_}hashForSignature(_,k,w){if(o(a.tuple(a.UInt32,a.Buffer,a.Number),arguments),_>=this.ins.length)return h;const v=n.compile(n.decompile(k).filter(I=>I!==r.OPS.OP_CODESEPARATOR)),A=this.clone();if((w&31)===b.SIGHASH_NONE)A.outs=[],A.ins.forEach((I,z)=>{z!==_&&(I.sequence=0)});else if((w&31)===b.SIGHASH_SINGLE){if(_>=this.outs.length)return h;A.outs.length=_+1;for(let I=0;I<_;I++)A.outs[I]=l;A.ins.forEach((I,z)=>{z!==_&&(I.sequence=0)})}w&b.SIGHASH_ANYONECANPAY?(A.ins=[A.ins[_]],A.ins[0].script=v):(A.ins.forEach(I=>{I.script=c}),A.ins[_].script=v);const T=Buffer.allocUnsafe(A.byteLength(!1)+4);return T.writeInt32LE(w,T.length-4),A.__toBuffer(T,0,!1),t.hash256(T)}hashForWitnessV1(_,k,w,v,A,T){if(o(a.tuple(a.UInt32,o.arrayOf(a.Buffer),o.arrayOf(a.Satoshi),a.UInt32),arguments),w.length!==this.ins.length||k.length!==this.ins.length)throw new Error("Must supply prevout script and value for all inputs");const I=v===b.SIGHASH_DEFAULT?b.SIGHASH_ALL:v&b.SIGHASH_OUTPUT_MASK,S=(v&b.SIGHASH_INPUT_MASK)===b.SIGHASH_ANYONECANPAY,B=I===b.SIGHASH_NONE,P=I===b.SIGHASH_SINGLE;let M=c,D=c,R=c,$=c,q=c;if(!S){let V=e.BufferWriter.withCapacity(36*this.ins.length);this.ins.forEach(W=>{V.writeSlice(W.hash),V.writeUInt32(W.index)}),M=t.sha256(V.end()),V=e.BufferWriter.withCapacity(8*this.ins.length),w.forEach(W=>V.writeUInt64(W)),D=t.sha256(V.end()),V=e.BufferWriter.withCapacity(k.map(i).reduce((W,U)=>W+U)),k.forEach(W=>V.writeVarSlice(W)),R=t.sha256(V.end()),V=e.BufferWriter.withCapacity(4*this.ins.length),this.ins.forEach(W=>V.writeUInt32(W.sequence)),$=t.sha256(V.end())}if(B||P){if(P&&_<this.outs.length){const V=this.outs[_],W=e.BufferWriter.withCapacity(8+i(V.script));W.writeUInt64(V.value),W.writeVarSlice(V.script),q=t.sha256(W.end())}}else{const V=this.outs.map(U=>8+i(U.script)).reduce((U,K)=>U+K),W=e.BufferWriter.withCapacity(V);this.outs.forEach(U=>{W.writeUInt64(U.value),W.writeVarSlice(U.script)}),q=t.sha256(W.end())}const X=(A?2:0)+(T?1:0),H=174-(S?49:0)-(B?32:0)+(T?32:0)+(A?37:0),C=e.BufferWriter.withCapacity(H);if(C.writeUInt8(v),C.writeInt32(this.version),C.writeUInt32(this.locktime),C.writeSlice(M),C.writeSlice(D),C.writeSlice(R),C.writeSlice($),B||P||C.writeSlice(q),C.writeUInt8(X),S){const V=this.ins[_];C.writeSlice(V.hash),C.writeUInt32(V.index),C.writeUInt64(w[_]),C.writeVarSlice(k[_]),C.writeUInt32(V.sequence)}else C.writeUInt32(_);if(T){const V=e.BufferWriter.withCapacity(i(T));V.writeVarSlice(T),C.writeSlice(t.sha256(V.end()))}return P&&C.writeSlice(q),A&&(C.writeSlice(A),C.writeUInt8(0),C.writeUInt32(4294967295)),t.taggedHash("TapSighash",Buffer.concat([Buffer.from([0]),C.end()]))}hashForWitnessV0(_,k,w,v){o(a.tuple(a.UInt32,a.Buffer,a.Satoshi,a.UInt32),arguments);let A=Buffer.from([]),T,I=d,z=d,S=d;if(v&b.SIGHASH_ANYONECANPAY||(A=Buffer.allocUnsafe(36*this.ins.length),T=new e.BufferWriter(A,0),this.ins.forEach(P=>{T.writeSlice(P.hash),T.writeUInt32(P.index)}),z=t.hash256(A)),!(v&b.SIGHASH_ANYONECANPAY)&&(v&31)!==b.SIGHASH_SINGLE&&(v&31)!==b.SIGHASH_NONE&&(A=Buffer.allocUnsafe(4*this.ins.length),T=new e.BufferWriter(A,0),this.ins.forEach(P=>{T.writeUInt32(P.sequence)}),S=t.hash256(A)),(v&31)!==b.SIGHASH_SINGLE&&(v&31)!==b.SIGHASH_NONE){const P=this.outs.reduce((M,D)=>M+8+i(D.script),0);A=Buffer.allocUnsafe(P),T=new e.BufferWriter(A,0),this.outs.forEach(M=>{T.writeUInt64(M.value),T.writeVarSlice(M.script)}),I=t.hash256(A)}else if((v&31)===b.SIGHASH_SINGLE&&_<this.outs.length){const P=this.outs[_];A=Buffer.allocUnsafe(8+i(P.script)),T=new e.BufferWriter(A,0),T.writeUInt64(P.value),T.writeVarSlice(P.script),I=t.hash256(A)}A=Buffer.allocUnsafe(156+i(k)),T=new e.BufferWriter(A,0);const B=this.ins[_];return T.writeInt32(this.version),T.writeSlice(z),T.writeSlice(S),T.writeSlice(B.hash),T.writeUInt32(B.index),T.writeVarSlice(k),T.writeUInt64(w),T.writeUInt32(B.sequence),T.writeSlice(I),T.writeUInt32(this.locktime),T.writeUInt32(v),t.hash256(A)}getHash(_){return _&&this.isCoinbase()?Buffer.alloc(32,0):t.hash256(this.__toBuffer(void 0,void 0,_))}getId(){return(0,e.reverseBuffer)(this.getHash(!1)).toString("hex")}toBuffer(_,k){return this.__toBuffer(_,k,!0)}toHex(){return this.toBuffer(void 0,void 0).toString("hex")}setInputScript(_,k){o(a.tuple(a.Number,a.Buffer),arguments),this.ins[_].script=k}setWitness(_,k){o(a.tuple(a.Number,[a.Buffer]),arguments),this.ins[_].witness=k}__toBuffer(_,k,w=!1){_||(_=Buffer.allocUnsafe(this.byteLength(w)));const v=new e.BufferWriter(_,k||0);v.writeInt32(this.version);const A=w&&this.hasWitnesses();return A&&(v.writeUInt8(b.ADVANCED_TRANSACTION_MARKER),v.writeUInt8(b.ADVANCED_TRANSACTION_FLAG)),v.writeVarInt(this.ins.length),this.ins.forEach(T=>{v.writeSlice(T.hash),v.writeUInt32(T.index),v.writeVarSlice(T.script),v.writeUInt32(T.sequence)}),v.writeVarInt(this.outs.length),this.outs.forEach(T=>{g(T)?v.writeUInt64(T.value):v.writeSlice(T.valueBuffer),v.writeVarSlice(T.script)}),A&&this.ins.forEach(T=>{v.writeVector(T.witness)}),v.writeUInt32(this.locktime),k!==void 0?_.slice(k,v.offset):_}}return ao.Transaction=b,b.DEFAULT_SEQUENCE=4294967295,b.SIGHASH_DEFAULT=0,b.SIGHASH_ALL=1,b.SIGHASH_NONE=2,b.SIGHASH_SINGLE=3,b.SIGHASH_ANYONECANPAY=128,b.SIGHASH_OUTPUT_MASK=3,b.SIGHASH_INPUT_MASK=128,b.ADVANCED_TRANSACTION_MARKER=0,b.ADVANCED_TRANSACTION_FLAG=1,ao}var Rg;function uC(){if(Rg)return no;Rg=1,Object.defineProperty(no,"__esModule",{value:!0}),no.Block=void 0;const e=Xs(),t=Hn(),n=cC(),r=di(),a=ht(),{typeforce:o}=a,i=new TypeError("Cannot compute merkle root for zero transactions"),s=new TypeError("Cannot compute witness commit for non-segwit block");class c{constructor(){this.version=1,this.prevHash=void 0,this.merkleRoot=void 0,this.timestamp=0,this.witnessCommit=void 0,this.bits=0,this.nonce=0,this.transactions=void 0}static fromBuffer(f){if(f.length<80)throw new Error("Buffer too small (< 80 bytes)");const l=new e.BufferReader(f),g=new c;if(g.version=l.readInt32(),g.prevHash=l.readSlice(32),g.merkleRoot=l.readSlice(32),g.timestamp=l.readUInt32(),g.bits=l.readUInt32(),g.nonce=l.readUInt32(),f.length===80)return g;const b=()=>{const k=r.Transaction.fromBuffer(l.buffer.slice(l.offset),!0);return l.offset+=k.byteLength(),k},y=l.readVarInt();g.transactions=[];for(let k=0;k<y;++k){const w=b();g.transactions.push(w)}const _=g.getWitnessCommit();return _&&(g.witnessCommit=_),g}static fromHex(f){return c.fromBuffer(Buffer.from(f,"hex"))}static calculateTarget(f){const l=((f&4278190080)>>24)-3,g=f&8388607,b=Buffer.alloc(32,0);return b.writeUIntBE(g,29-l,3),b}static calculateMerkleRoot(f,l){if(o([{getHash:a.Function}],f),f.length===0)throw i;if(l&&!u(f))throw s;const g=f.map(y=>y.getHash(l)),b=(0,n.fastMerkleRoot)(g,t.hash256);return l?t.hash256(Buffer.concat([b,f[0].ins[0].witness[0]])):b}getWitnessCommit(){if(!u(this.transactions))return null;const f=this.transactions[0].outs.filter(g=>g.script.slice(0,6).equals(Buffer.from("6a24aa21a9ed","hex"))).map(g=>g.script.slice(6,38));if(f.length===0)return null;const l=f[f.length-1];return l instanceof Buffer&&l.length===32?l:null}hasWitnessCommit(){return this.witnessCommit instanceof Buffer&&this.witnessCommit.length===32||this.getWitnessCommit()!==null}hasWitness(){return d(this.transactions)}weight(){const f=this.byteLength(!1,!1),l=this.byteLength(!1,!0);return f*3+l}byteLength(f,l=!0){return f||!this.transactions?80:80+e.varuint.encodingLength(this.transactions.length)+this.transactions.reduce((g,b)=>g+b.byteLength(l),0)}getHash(){return t.hash256(this.toBuffer(!0))}getId(){return(0,e.reverseBuffer)(this.getHash()).toString("hex")}getUTCDate(){const f=new Date(0);return f.setUTCSeconds(this.timestamp),f}toBuffer(f){const l=Buffer.allocUnsafe(this.byteLength(f)),g=new e.BufferWriter(l);return g.writeInt32(this.version),g.writeSlice(this.prevHash),g.writeSlice(this.merkleRoot),g.writeUInt32(this.timestamp),g.writeUInt32(this.bits),g.writeUInt32(this.nonce),f||!this.transactions||(e.varuint.encode(this.transactions.length,l,g.offset),g.offset+=e.varuint.encode.bytes,this.transactions.forEach(b=>{const y=b.byteLength();b.toBuffer(l,g.offset),g.offset+=y})),l}toHex(f){return this.toBuffer(f).toString("hex")}checkTxRoots(){const f=this.hasWitnessCommit();return!f&&this.hasWitness()?!1:this.__checkMerkleRoot()&&(f?this.__checkWitnessCommit():!0)}checkProofOfWork(){const f=(0,e.reverseBuffer)(this.getHash()),l=c.calculateTarget(this.bits);return f.compare(l)<=0}__checkMerkleRoot(){if(!this.transactions)throw i;const f=c.calculateMerkleRoot(this.transactions);return this.merkleRoot.compare(f)===0}__checkWitnessCommit(){if(!this.transactions)throw i;if(!this.hasWitnessCommit())throw s;const f=c.calculateMerkleRoot(this.transactions,!0);return this.witnessCommit.compare(f)===0}}no.Block=c;function u(h){return h instanceof Array&&h[0]&&h[0].ins&&h[0].ins instanceof Array&&h[0].ins[0]&&h[0].ins[0].witness&&h[0].ins[0].witness instanceof Array&&h[0].ins[0].witness.length>0}function d(h){return h instanceof Array&&h.some(f=>typeof f=="object"&&f.ins instanceof Array&&f.ins.some(l=>typeof l=="object"&&l.witness instanceof Array&&l.witness.length>0))}return no}var oo={},Hi={},Li={},fl={},fa={},pa={},pl={},Ng;function dt(){return Ng||(Ng=1,(function(e){Object.defineProperty(e,"__esModule",{value:!0}),(function(t){t[t.UNSIGNED_TX=0]="UNSIGNED_TX",t[t.GLOBAL_XPUB=1]="GLOBAL_XPUB"})(e.GlobalTypes||(e.GlobalTypes={})),e.GLOBAL_TYPE_NAMES=["unsignedTx","globalXpub"],(function(t){t[t.NON_WITNESS_UTXO=0]="NON_WITNESS_UTXO",t[t.WITNESS_UTXO=1]="WITNESS_UTXO",t[t.PARTIAL_SIG=2]="PARTIAL_SIG",t[t.SIGHASH_TYPE=3]="SIGHASH_TYPE",t[t.REDEEM_SCRIPT=4]="REDEEM_SCRIPT",t[t.WITNESS_SCRIPT=5]="WITNESS_SCRIPT",t[t.BIP32_DERIVATION=6]="BIP32_DERIVATION",t[t.FINAL_SCRIPTSIG=7]="FINAL_SCRIPTSIG",t[t.FINAL_SCRIPTWITNESS=8]="FINAL_SCRIPTWITNESS",t[t.POR_COMMITMENT=9]="POR_COMMITMENT",t[t.TAP_KEY_SIG=19]="TAP_KEY_SIG",t[t.TAP_SCRIPT_SIG=20]="TAP_SCRIPT_SIG",t[t.TAP_LEAF_SCRIPT=21]="TAP_LEAF_SCRIPT",t[t.TAP_BIP32_DERIVATION=22]="TAP_BIP32_DERIVATION",t[t.TAP_INTERNAL_KEY=23]="TAP_INTERNAL_KEY",t[t.TAP_MERKLE_ROOT=24]="TAP_MERKLE_ROOT"})(e.InputTypes||(e.InputTypes={})),e.INPUT_TYPE_NAMES=["nonWitnessUtxo","witnessUtxo","partialSig","sighashType","redeemScript","witnessScript","bip32Derivation","finalScriptSig","finalScriptWitness","porCommitment","tapKeySig","tapScriptSig","tapLeafScript","tapBip32Derivation","tapInternalKey","tapMerkleRoot"],(function(t){t[t.REDEEM_SCRIPT=0]="REDEEM_SCRIPT",t[t.WITNESS_SCRIPT=1]="WITNESS_SCRIPT",t[t.BIP32_DERIVATION=2]="BIP32_DERIVATION",t[t.TAP_INTERNAL_KEY=5]="TAP_INTERNAL_KEY",t[t.TAP_TREE=6]="TAP_TREE",t[t.TAP_BIP32_DERIVATION=7]="TAP_BIP32_DERIVATION"})(e.OutputTypes||(e.OutputTypes={})),e.OUTPUT_TYPE_NAMES=["redeemScript","witnessScript","bip32Derivation","tapInternalKey","tapTree","tapBip32Derivation"]})(pl)),pl}var Vn={},Ug;function lC(){if(Ug)return Vn;Ug=1,Object.defineProperty(Vn,"__esModule",{value:!0});const e=dt(),t=i=>[...Array(i).keys()];function n(i){if(i.key[0]!==e.GlobalTypes.GLOBAL_XPUB)throw new Error("Decode Error: could not decode globalXpub with key 0x"+i.key.toString("hex"));if(i.key.length!==79||![2,3].includes(i.key[46]))throw new Error("Decode Error: globalXpub has invalid extended pubkey in key 0x"+i.key.toString("hex"));if(i.value.length/4%1!==0)throw new Error("Decode Error: Global GLOBAL_XPUB value length should be multiple of 4");const s=i.key.slice(1),c={masterFingerprint:i.value.slice(0,4),extendedPubkey:s,path:"m"};for(const u of t(i.value.length/4-1)){const d=i.value.readUInt32LE(u*4+4),h=!!(d&2147483648),f=d&2147483647;c.path+="/"+f.toString(10)+(h?"'":"")}return c}Vn.decode=n;function r(i){const s=Buffer.from([e.GlobalTypes.GLOBAL_XPUB]),c=Buffer.concat([s,i.extendedPubkey]),u=i.path.split("/"),d=Buffer.allocUnsafe(u.length*4);i.masterFingerprint.copy(d,0);let h=4;return u.slice(1).forEach(f=>{const l=f.slice(-1)==="'";let g=2147483647&parseInt(l?f.slice(0,-1):f,10);l&&(g+=2147483648),d.writeUInt32LE(g,h),h+=4}),{key:c,value:d}}Vn.encode=r,Vn.expected="{ masterFingerprint: Buffer; extendedPubkey: Buffer; path: string; }";function a(i){const s=i.extendedPubkey,c=i.masterFingerprint,u=i.path;return Buffer.isBuffer(s)&&s.length===78&&[2,3].indexOf(s[45])>-1&&Buffer.isBuffer(c)&&c.length===4&&typeof u=="string"&&!!u.match(/^m(\/\d+'?)*$/)}Vn.check=a;function o(i,s,c){const u=s.extendedPubkey.toString("hex");return c.has(u)?!1:(c.add(u),i.filter(d=>d.extendedPubkey.equals(s.extendedPubkey)).length===0)}return Vn.canAddToArray=o,Vn}var Di={},Hg;function dC(){if(Hg)return Di;Hg=1,Object.defineProperty(Di,"__esModule",{value:!0});const e=dt();function t(n){return{key:Buffer.from([e.GlobalTypes.UNSIGNED_TX]),value:n.toBuffer()}}return Di.encode=t,Di}var $n={},Lg;function fC(){if(Lg)return $n;Lg=1,Object.defineProperty($n,"__esModule",{value:!0});const e=dt();function t(o){if(o.key[0]!==e.InputTypes.FINAL_SCRIPTSIG)throw new Error("Decode Error: could not decode finalScriptSig with key 0x"+o.key.toString("hex"));return o.value}$n.decode=t;function n(o){return{key:Buffer.from([e.InputTypes.FINAL_SCRIPTSIG]),value:o}}$n.encode=n,$n.expected="Buffer";function r(o){return Buffer.isBuffer(o)}$n.check=r;function a(o,i){return!!o&&!!i&&o.finalScriptSig===void 0}return $n.canAdd=a,$n}var Gn={},Dg;function pC(){if(Dg)return Gn;Dg=1,Object.defineProperty(Gn,"__esModule",{value:!0});const e=dt();function t(o){if(o.key[0]!==e.InputTypes.FINAL_SCRIPTWITNESS)throw new Error("Decode Error: could not decode finalScriptWitness with key 0x"+o.key.toString("hex"));return o.value}Gn.decode=t;function n(o){return{key:Buffer.from([e.InputTypes.FINAL_SCRIPTWITNESS]),value:o}}Gn.encode=n,Gn.expected="Buffer";function r(o){return Buffer.isBuffer(o)}Gn.check=r;function a(o,i){return!!o&&!!i&&o.finalScriptWitness===void 0}return Gn.canAdd=a,Gn}var Kn={},Fg;function hC(){if(Fg)return Kn;Fg=1,Object.defineProperty(Kn,"__esModule",{value:!0});const e=dt();function t(o){if(o.key[0]!==e.InputTypes.NON_WITNESS_UTXO)throw new Error("Decode Error: could not decode nonWitnessUtxo with key 0x"+o.key.toString("hex"));return o.value}Kn.decode=t;function n(o){return{key:Buffer.from([e.InputTypes.NON_WITNESS_UTXO]),value:o}}Kn.encode=n,Kn.expected="Buffer";function r(o){return Buffer.isBuffer(o)}Kn.check=r;function a(o,i){return!!o&&!!i&&o.nonWitnessUtxo===void 0}return Kn.canAdd=a,Kn}var Wn={},Mg;function mC(){if(Mg)return Wn;Mg=1,Object.defineProperty(Wn,"__esModule",{value:!0});const e=dt();function t(i){if(i.key[0]!==e.InputTypes.PARTIAL_SIG)throw new Error("Decode Error: could not decode partialSig with key 0x"+i.key.toString("hex"));if(!(i.key.length===34||i.key.length===66)||![2,3,4].includes(i.key[1]))throw new Error("Decode Error: partialSig has invalid pubkey in key 0x"+i.key.toString("hex"));return{pubkey:i.key.slice(1),signature:i.value}}Wn.decode=t;function n(i){const s=Buffer.from([e.InputTypes.PARTIAL_SIG]);return{key:Buffer.concat([s,i.pubkey]),value:i.signature}}Wn.encode=n,Wn.expected="{ pubkey: Buffer; signature: Buffer; }";function r(i){return Buffer.isBuffer(i.pubkey)&&Buffer.isBuffer(i.signature)&&[33,65].includes(i.pubkey.length)&&[2,3,4].includes(i.pubkey[0])&&a(i.signature)}Wn.check=r;function a(i){if(!Buffer.isBuffer(i)||i.length<9||i[0]!==48||i.length!==i[1]+3||i[2]!==2)return!1;const s=i[3];if(s>33||s<1||i[3+s+1]!==2)return!1;const c=i[3+s+2];return!(c>33||c<1||i.length!==3+s+2+c+2)}function o(i,s,c){const u=s.pubkey.toString("hex");return c.has(u)?!1:(c.add(u),i.filter(d=>d.pubkey.equals(s.pubkey)).length===0)}return Wn.canAddToArray=o,Wn}var Xn={},qg;function gC(){if(qg)return Xn;qg=1,Object.defineProperty(Xn,"__esModule",{value:!0});const e=dt();function t(o){if(o.key[0]!==e.InputTypes.POR_COMMITMENT)throw new Error("Decode Error: could not decode porCommitment with key 0x"+o.key.toString("hex"));return o.value.toString("utf8")}Xn.decode=t;function n(o){return{key:Buffer.from([e.InputTypes.POR_COMMITMENT]),value:Buffer.from(o,"utf8")}}Xn.encode=n,Xn.expected="string";function r(o){return typeof o=="string"}Xn.check=r;function a(o,i){return!!o&&!!i&&o.porCommitment===void 0}return Xn.canAdd=a,Xn}var Zn={},Vg;function yC(){if(Vg)return Zn;Vg=1,Object.defineProperty(Zn,"__esModule",{value:!0});const e=dt();function t(o){if(o.key[0]!==e.InputTypes.SIGHASH_TYPE)throw new Error("Decode Error: could not decode sighashType with key 0x"+o.key.toString("hex"));return o.value.readUInt32LE(0)}Zn.decode=t;function n(o){const i=Buffer.from([e.InputTypes.SIGHASH_TYPE]),s=Buffer.allocUnsafe(4);return s.writeUInt32LE(o,0),{key:i,value:s}}Zn.encode=n,Zn.expected="number";function r(o){return typeof o=="number"}Zn.check=r;function a(o,i){return!!o&&!!i&&o.sighashType===void 0}return Zn.canAdd=a,Zn}var Yn={},$g;function bC(){if($g)return Yn;$g=1,Object.defineProperty(Yn,"__esModule",{value:!0});const e=dt();function t(o){if(o.key[0]!==e.InputTypes.TAP_KEY_SIG||o.key.length!==1)throw new Error("Decode Error: could not decode tapKeySig with key 0x"+o.key.toString("hex"));if(!r(o.value))throw new Error("Decode Error: tapKeySig not a valid 64-65-byte BIP340 signature");return o.value}Yn.decode=t;function n(o){return{key:Buffer.from([e.InputTypes.TAP_KEY_SIG]),value:o}}Yn.encode=n,Yn.expected="Buffer";function r(o){return Buffer.isBuffer(o)&&(o.length===64||o.length===65)}Yn.check=r;function a(o,i){return!!o&&!!i&&o.tapKeySig===void 0}return Yn.canAdd=a,Yn}var Jn={},Gg;function wC(){if(Gg)return Jn;Gg=1,Object.defineProperty(Jn,"__esModule",{value:!0});const e=dt();function t(o){if(o.key[0]!==e.InputTypes.TAP_LEAF_SCRIPT)throw new Error("Decode Error: could not decode tapLeafScript with key 0x"+o.key.toString("hex"));if((o.key.length-2)%32!==0)throw new Error("Decode Error: tapLeafScript has invalid control block in key 0x"+o.key.toString("hex"));const i=o.value[o.value.length-1];if((o.key[1]&254)!==i)throw new Error("Decode Error: tapLeafScript bad leaf version in key 0x"+o.key.toString("hex"));const s=o.value.slice(0,-1);return{controlBlock:o.key.slice(1),script:s,leafVersion:i}}Jn.decode=t;function n(o){const i=Buffer.from([e.InputTypes.TAP_LEAF_SCRIPT]),s=Buffer.from([o.leafVersion]);return{key:Buffer.concat([i,o.controlBlock]),value:Buffer.concat([o.script,s])}}Jn.encode=n,Jn.expected="{ controlBlock: Buffer; leafVersion: number, script: Buffer; }";function r(o){return Buffer.isBuffer(o.controlBlock)&&(o.controlBlock.length-1)%32===0&&(o.controlBlock[0]&254)===o.leafVersion&&Buffer.isBuffer(o.script)}Jn.check=r;function a(o,i,s){const c=i.controlBlock.toString("hex");return s.has(c)?!1:(s.add(c),o.filter(u=>u.controlBlock.equals(i.controlBlock)).length===0)}return Jn.canAddToArray=a,Jn}var Qn={},Kg;function kC(){if(Kg)return Qn;Kg=1,Object.defineProperty(Qn,"__esModule",{value:!0});const e=dt();function t(o){if(o.key[0]!==e.InputTypes.TAP_MERKLE_ROOT||o.key.length!==1)throw new Error("Decode Error: could not decode tapMerkleRoot with key 0x"+o.key.toString("hex"));if(!r(o.value))throw new Error("Decode Error: tapMerkleRoot not a 32-byte hash");return o.value}Qn.decode=t;function n(o){return{key:Buffer.from([e.InputTypes.TAP_MERKLE_ROOT]),value:o}}Qn.encode=n,Qn.expected="Buffer";function r(o){return Buffer.isBuffer(o)&&o.length===32}Qn.check=r;function a(o,i){return!!o&&!!i&&o.tapMerkleRoot===void 0}return Qn.canAdd=a,Qn}var er={},Wg;function _C(){if(Wg)return er;Wg=1,Object.defineProperty(er,"__esModule",{value:!0});const e=dt();function t(o){if(o.key[0]!==e.InputTypes.TAP_SCRIPT_SIG)throw new Error("Decode Error: could not decode tapScriptSig with key 0x"+o.key.toString("hex"));if(o.key.length!==65)throw new Error("Decode Error: tapScriptSig has invalid key 0x"+o.key.toString("hex"));if(o.value.length!==64&&o.value.length!==65)throw new Error("Decode Error: tapScriptSig has invalid signature in key 0x"+o.key.toString("hex"));const i=o.key.slice(1,33),s=o.key.slice(33);return{pubkey:i,leafHash:s,signature:o.value}}er.decode=t;function n(o){const i=Buffer.from([e.InputTypes.TAP_SCRIPT_SIG]);return{key:Buffer.concat([i,o.pubkey,o.leafHash]),value:o.signature}}er.encode=n,er.expected="{ pubkey: Buffer; leafHash: Buffer; signature: Buffer; }";function r(o){return Buffer.isBuffer(o.pubkey)&&Buffer.isBuffer(o.leafHash)&&Buffer.isBuffer(o.signature)&&o.pubkey.length===32&&o.leafHash.length===32&&(o.signature.length===64||o.signature.length===65)}er.check=r;function a(o,i,s){const c=i.pubkey.toString("hex")+i.leafHash.toString("hex");return s.has(c)?!1:(s.add(c),o.filter(u=>u.pubkey.equals(i.pubkey)&&u.leafHash.equals(i.leafHash)).length===0)}return er.canAddToArray=a,er}var tr={},Cn={},ha={},Xg;function ia(){if(Xg)return ha;Xg=1,Object.defineProperty(ha,"__esModule",{value:!0});const e=9007199254740991;function t(o){if(o<0||o>e||o%1!==0)throw new RangeError("value out of range")}function n(o,i,s){if(t(o),i||(i=Buffer.allocUnsafe(a(o))),!Buffer.isBuffer(i))throw new TypeError("buffer must be a Buffer instance");return s||(s=0),o<253?(i.writeUInt8(o,s),Object.assign(n,{bytes:1})):o<=65535?(i.writeUInt8(253,s),i.writeUInt16LE(o,s+1),Object.assign(n,{bytes:3})):o<=4294967295?(i.writeUInt8(254,s),i.writeUInt32LE(o,s+1),Object.assign(n,{bytes:5})):(i.writeUInt8(255,s),i.writeUInt32LE(o>>>0,s+1),i.writeUInt32LE(o/4294967296|0,s+5),Object.assign(n,{bytes:9})),i}ha.encode=n;function r(o,i){if(!Buffer.isBuffer(o))throw new TypeError("buffer must be a Buffer instance");i||(i=0);const s=o.readUInt8(i);if(s<253)return Object.assign(r,{bytes:1}),s;if(s===253)return Object.assign(r,{bytes:3}),o.readUInt16LE(i+1);if(s===254)return Object.assign(r,{bytes:5}),o.readUInt32LE(i+1);{Object.assign(r,{bytes:9});const c=o.readUInt32LE(i+1),d=o.readUInt32LE(i+5)*4294967296+c;return t(d),d}}ha.decode=r;function a(o){return t(o),o<253?1:o<=65535?3:o<=4294967295?5:9}return ha.encodingLength=a,ha}var Zg;function Af(){if(Zg)return Cn;Zg=1,Object.defineProperty(Cn,"__esModule",{value:!0});const e=ia();Cn.range=s=>[...Array(s).keys()];function t(s){if(s.length<1)return s;let c=s.length-1,u=0;for(let d=0;d<s.length/2;d++)u=s[d],s[d]=s[c],s[c]=u,c--;return s}Cn.reverseBuffer=t;function n(s){const c=s.map(r);return c.push(Buffer.from([0])),Buffer.concat(c)}Cn.keyValsToBuffer=n;function r(s){const c=s.key.length,u=s.value.length,d=e.encodingLength(c),h=e.encodingLength(u),f=Buffer.allocUnsafe(d+c+h+u);return e.encode(c,f,0),s.key.copy(f,d),e.encode(u,f,d+c),s.value.copy(f,d+c+h),f}Cn.keyValToBuffer=r;function a(s,c){if(typeof s!="number")throw new Error("cannot write a non-number as a number");if(s<0)throw new Error("specified a negative value for writing an unsigned value");if(s>c)throw new Error("RangeError: value out of range");if(Math.floor(s)!==s)throw new Error("value has a fractional component")}function o(s,c){const u=s.readUInt32LE(c);let d=s.readUInt32LE(c+4);return d*=4294967296,a(d+u,9007199254740991),d+u}Cn.readUInt64LE=o;function i(s,c,u){return a(c,9007199254740991),s.writeInt32LE(c&-1,u),s.writeUInt32LE(Math.floor(c/4294967296),u+4),u+8}return Cn.writeUInt64LE=i,Cn}var Yg;function vC(){if(Yg)return tr;Yg=1,Object.defineProperty(tr,"__esModule",{value:!0});const e=dt(),t=Af(),n=ia();function r(s){if(s.key[0]!==e.InputTypes.WITNESS_UTXO)throw new Error("Decode Error: could not decode witnessUtxo with key 0x"+s.key.toString("hex"));const c=t.readUInt64LE(s.value,0);let u=8;const d=n.decode(s.value,u);u+=n.encodingLength(d);const h=s.value.slice(u);if(h.length!==d)throw new Error("Decode Error: WITNESS_UTXO script is not proper length");return{script:h,value:c}}tr.decode=r;function a(s){const{script:c,value:u}=s,d=n.encodingLength(c.length),h=Buffer.allocUnsafe(8+d+c.length);return t.writeUInt64LE(h,u,0),n.encode(c.length,h,8),c.copy(h,8+d),{key:Buffer.from([e.InputTypes.WITNESS_UTXO]),value:h}}tr.encode=a,tr.expected="{ script: Buffer; value: number; }";function o(s){return Buffer.isBuffer(s.script)&&typeof s.value=="number"}tr.check=o;function i(s,c){return!!s&&!!c&&s.witnessUtxo===void 0}return tr.canAdd=i,tr}var nr={},Jg;function EC(){if(Jg)return nr;Jg=1,Object.defineProperty(nr,"__esModule",{value:!0});const e=dt(),t=ia();function n(i){if(i.key[0]!==e.OutputTypes.TAP_TREE||i.key.length!==1)throw new Error("Decode Error: could not decode tapTree with key 0x"+i.key.toString("hex"));let s=0;const c=[];for(;s<i.value.length;){const u=i.value[s++],d=i.value[s++],h=t.decode(i.value,s);s+=t.encodingLength(h),c.push({depth:u,leafVersion:d,script:i.value.slice(s,s+h)}),s+=h}return{leaves:c}}nr.decode=n;function r(i){const s=Buffer.from([e.OutputTypes.TAP_TREE]),c=[].concat(...i.leaves.map(u=>[Buffer.of(u.depth,u.leafVersion),t.encode(u.script.length),u.script]));return{key:s,value:Buffer.concat(c)}}nr.encode=r,nr.expected="{ leaves: [{ depth: number; leafVersion: number, script: Buffer; }] }";function a(i){return Array.isArray(i.leaves)&&i.leaves.every(s=>s.depth>=0&&s.depth<=128&&(s.leafVersion&254)===s.leafVersion&&Buffer.isBuffer(s.script))}nr.check=a;function o(i,s){return!!i&&!!s&&i.tapTree===void 0}return nr.canAdd=o,nr}var Fi={},Qg;function i_(){if(Qg)return Fi;Qg=1,Object.defineProperty(Fi,"__esModule",{value:!0});const e=r=>[...Array(r).keys()],t=r=>r.length===33&&[2,3].includes(r[0])||r.length===65&&r[0]===4;function n(r,a=t){function o(d){if(d.key[0]!==r)throw new Error("Decode Error: could not decode bip32Derivation with key 0x"+d.key.toString("hex"));const h=d.key.slice(1);if(!a(h))throw new Error("Decode Error: bip32Derivation has invalid pubkey in key 0x"+d.key.toString("hex"));if(d.value.length/4%1!==0)throw new Error("Decode Error: Input BIP32_DERIVATION value length should be multiple of 4");const f={masterFingerprint:d.value.slice(0,4),pubkey:h,path:"m"};for(const l of e(d.value.length/4-1)){const g=d.value.readUInt32LE(l*4+4),b=!!(g&2147483648),y=g&2147483647;f.path+="/"+y.toString(10)+(b?"'":"")}return f}function i(d){const h=Buffer.from([r]),f=Buffer.concat([h,d.pubkey]),l=d.path.split("/"),g=Buffer.allocUnsafe(l.length*4);d.masterFingerprint.copy(g,0);let b=4;return l.slice(1).forEach(y=>{const _=y.slice(-1)==="'";let k=2147483647&parseInt(_?y.slice(0,-1):y,10);_&&(k+=2147483648),g.writeUInt32LE(k,b),b+=4}),{key:f,value:g}}const s="{ masterFingerprint: Buffer; pubkey: Buffer; path: string; }";function c(d){return Buffer.isBuffer(d.pubkey)&&Buffer.isBuffer(d.masterFingerprint)&&typeof d.path=="string"&&a(d.pubkey)&&d.masterFingerprint.length===4}function u(d,h,f){const l=h.pubkey.toString("hex");return f.has(l)?!1:(f.add(l),d.filter(g=>g.pubkey.equals(h.pubkey)).length===0)}return{decode:o,encode:i,check:c,expected:s,canAddToArray:u}}return Fi.makeConverter=n,Fi}var Mi={},ey;function AC(){if(ey)return Mi;ey=1,Object.defineProperty(Mi,"__esModule",{value:!0});function e(t){return n;function n(r){let a;if(t.includes(r.key[0])&&(a=r.key.slice(1),!(a.length===33||a.length===65)||![2,3,4].includes(a[0])))throw new Error("Format Error: invalid pubkey in key 0x"+r.key.toString("hex"));return a}}return Mi.makeChecker=e,Mi}var qi={},ty;function SC(){if(ty)return qi;ty=1,Object.defineProperty(qi,"__esModule",{value:!0});function e(t){function n(s){if(s.key[0]!==t)throw new Error("Decode Error: could not decode redeemScript with key 0x"+s.key.toString("hex"));return s.value}function r(s){return{key:Buffer.from([t]),value:s}}const a="Buffer";function o(s){return Buffer.isBuffer(s)}function i(s,c){return!!s&&!!c&&s.redeemScript===void 0}return{decode:n,encode:r,check:o,expected:a,canAdd:i}}return qi.makeConverter=e,qi}var Vi={},ny;function jC(){if(ny)return Vi;ny=1,Object.defineProperty(Vi,"__esModule",{value:!0});const e=ia(),t=i_(),n=a=>a.length===32;function r(a){const o=t.makeConverter(a,n);function i(d){const h=e.decode(d.value),f=e.encodingLength(h),l=o.decode({key:d.key,value:d.value.slice(f+h*32)}),g=new Array(h);for(let b=0,y=f;b<h;b++,y+=32)g[b]=d.value.slice(y,y+32);return Object.assign({},l,{leafHashes:g})}function s(d){const h=o.encode(d),f=e.encodingLength(d.leafHashes.length),l=Buffer.allocUnsafe(f);e.encode(d.leafHashes.length,l);const g=Buffer.concat([l,...d.leafHashes,h.value]);return Object.assign({},h,{value:g})}const c="{ masterFingerprint: Buffer; pubkey: Buffer; path: string; leafHashes: Buffer[]; }";function u(d){return Array.isArray(d.leafHashes)&&d.leafHashes.every(h=>Buffer.isBuffer(h)&&h.length===32)&&o.check(d)}return{decode:i,encode:s,check:u,expected:c,canAddToArray:o.canAddToArray}}return Vi.makeConverter=r,Vi}var $i={},ry;function xC(){if(ry)return $i;ry=1,Object.defineProperty($i,"__esModule",{value:!0});function e(t){function n(s){if(s.key[0]!==t||s.key.length!==1)throw new Error("Decode Error: could not decode tapInternalKey with key 0x"+s.key.toString("hex"));if(s.value.length!==32)throw new Error("Decode Error: tapInternalKey not a 32-byte x-only pubkey");return s.value}function r(s){return{key:Buffer.from([t]),value:s}}const a="Buffer";function o(s){return Buffer.isBuffer(s)&&s.length===32}function i(s,c){return!!s&&!!c&&s.tapInternalKey===void 0}return{decode:n,encode:r,check:o,expected:a,canAdd:i}}return $i.makeConverter=e,$i}var Gi={},ay;function TC(){if(ay)return Gi;ay=1,Object.defineProperty(Gi,"__esModule",{value:!0});function e(t){function n(s){if(s.key[0]!==t)throw new Error("Decode Error: could not decode witnessScript with key 0x"+s.key.toString("hex"));return s.value}function r(s){return{key:Buffer.from([t]),value:s}}const a="Buffer";function o(s){return Buffer.isBuffer(s)}function i(s,c){return!!s&&!!c&&s.witnessScript===void 0}return{decode:n,encode:r,check:o,expected:a,canAdd:i}}return Gi.makeConverter=e,Gi}var oy;function Sf(){if(oy)return pa;oy=1,Object.defineProperty(pa,"__esModule",{value:!0});const e=dt(),t=lC(),n=dC(),r=fC(),a=pC(),o=hC(),i=mC(),s=gC(),c=yC(),u=bC(),d=wC(),h=kC(),f=_C(),l=vC(),g=EC(),b=i_(),y=AC(),_=SC(),k=jC(),w=xC(),v=TC(),A={unsignedTx:n,globalXpub:t,checkPubkey:y.makeChecker([])};pa.globals=A;const T={nonWitnessUtxo:o,partialSig:i,sighashType:c,finalScriptSig:r,finalScriptWitness:a,porCommitment:s,witnessUtxo:l,bip32Derivation:b.makeConverter(e.InputTypes.BIP32_DERIVATION),redeemScript:_.makeConverter(e.InputTypes.REDEEM_SCRIPT),witnessScript:v.makeConverter(e.InputTypes.WITNESS_SCRIPT),checkPubkey:y.makeChecker([e.InputTypes.PARTIAL_SIG,e.InputTypes.BIP32_DERIVATION]),tapKeySig:u,tapScriptSig:f,tapLeafScript:d,tapBip32Derivation:k.makeConverter(e.InputTypes.TAP_BIP32_DERIVATION),tapInternalKey:w.makeConverter(e.InputTypes.TAP_INTERNAL_KEY),tapMerkleRoot:h};pa.inputs=T;const I={bip32Derivation:b.makeConverter(e.OutputTypes.BIP32_DERIVATION),redeemScript:_.makeConverter(e.OutputTypes.REDEEM_SCRIPT),witnessScript:v.makeConverter(e.OutputTypes.WITNESS_SCRIPT),checkPubkey:y.makeChecker([e.OutputTypes.BIP32_DERIVATION]),tapBip32Derivation:k.makeConverter(e.OutputTypes.TAP_BIP32_DERIVATION),tapTree:g,tapInternalKey:w.makeConverter(e.OutputTypes.TAP_INTERNAL_KEY)};return pa.outputs=I,pa}var iy;function IC(){if(iy)return fa;iy=1,Object.defineProperty(fa,"__esModule",{value:!0});const e=Sf(),t=Af(),n=ia(),r=dt();function a(s,c){let u=0;function d(){const I=n.decode(s,u);u+=n.encodingLength(I);const z=s.slice(u,u+I);return u+=I,z}function h(){const I=s.readUInt32BE(u);return u+=4,I}function f(){const I=s.readUInt8(u);return u+=1,I}function l(){const I=d(),z=d();return{key:I,value:z}}function g(){if(u>=s.length)throw new Error("Format Error: Unexpected End of PSBT");const I=s.readUInt8(u)===0;return I&&u++,I}if(h()!==1886610036)throw new Error("Format Error: Invalid Magic Number");if(f()!==255)throw new Error("Format Error: Magic Number must be followed by 0xff separator");const b=[],y={};for(;!g();){const I=l(),z=I.key.toString("hex");if(y[z])throw new Error("Format Error: Keys must be unique for global keymap: key "+z);y[z]=1,b.push(I)}const _=b.filter(I=>I.key[0]===r.GlobalTypes.UNSIGNED_TX);if(_.length!==1)throw new Error("Format Error: Only one UNSIGNED_TX allowed");const k=c(_[0].value),{inputCount:w,outputCount:v}=k.getInputOutputCounts(),A=[],T=[];for(const I of t.range(w)){const z={},S=[];for(;!g();){const B=l(),P=B.key.toString("hex");if(z[P])throw new Error("Format Error: Keys must be unique for each input: input index "+I+" key "+P);z[P]=1,S.push(B)}A.push(S)}for(const I of t.range(v)){const z={},S=[];for(;!g();){const B=l(),P=B.key.toString("hex");if(z[P])throw new Error("Format Error: Keys must be unique for each output: output index "+I+" key "+P);z[P]=1,S.push(B)}T.push(S)}return i(k,{globalMapKeyVals:b,inputKeyVals:A,outputKeyVals:T})}fa.psbtFromBuffer=a;function o(s,c,u){if(!c.equals(Buffer.from([u])))throw new Error(`Format Error: Invalid ${s} key: ${c.toString("hex")}`)}fa.checkKeyBuffer=o;function i(s,{globalMapKeyVals:c,inputKeyVals:u,outputKeyVals:d}){const h={unsignedTx:s};let f=0;for(const _ of c)switch(_.key[0]){case r.GlobalTypes.UNSIGNED_TX:if(o("global",_.key,r.GlobalTypes.UNSIGNED_TX),f>0)throw new Error("Format Error: GlobalMap has multiple UNSIGNED_TX");f++;break;case r.GlobalTypes.GLOBAL_XPUB:h.globalXpub===void 0&&(h.globalXpub=[]),h.globalXpub.push(e.globals.globalXpub.decode(_));break;default:h.unknownKeyVals||(h.unknownKeyVals=[]),h.unknownKeyVals.push(_)}const l=u.length,g=d.length,b=[],y=[];for(const _ of t.range(l)){const k={};for(const w of u[_])switch(e.inputs.checkPubkey(w),w.key[0]){case r.InputTypes.NON_WITNESS_UTXO:if(o("input",w.key,r.InputTypes.NON_WITNESS_UTXO),k.nonWitnessUtxo!==void 0)throw new Error("Format Error: Input has multiple NON_WITNESS_UTXO");k.nonWitnessUtxo=e.inputs.nonWitnessUtxo.decode(w);break;case r.InputTypes.WITNESS_UTXO:if(o("input",w.key,r.InputTypes.WITNESS_UTXO),k.witnessUtxo!==void 0)throw new Error("Format Error: Input has multiple WITNESS_UTXO");k.witnessUtxo=e.inputs.witnessUtxo.decode(w);break;case r.InputTypes.PARTIAL_SIG:k.partialSig===void 0&&(k.partialSig=[]),k.partialSig.push(e.inputs.partialSig.decode(w));break;case r.InputTypes.SIGHASH_TYPE:if(o("input",w.key,r.InputTypes.SIGHASH_TYPE),k.sighashType!==void 0)throw new Error("Format Error: Input has multiple SIGHASH_TYPE");k.sighashType=e.inputs.sighashType.decode(w);break;case r.InputTypes.REDEEM_SCRIPT:if(o("input",w.key,r.InputTypes.REDEEM_SCRIPT),k.redeemScript!==void 0)throw new Error("Format Error: Input has multiple REDEEM_SCRIPT");k.redeemScript=e.inputs.redeemScript.decode(w);break;case r.InputTypes.WITNESS_SCRIPT:if(o("input",w.key,r.InputTypes.WITNESS_SCRIPT),k.witnessScript!==void 0)throw new Error("Format Error: Input has multiple WITNESS_SCRIPT");k.witnessScript=e.inputs.witnessScript.decode(w);break;case r.InputTypes.BIP32_DERIVATION:k.bip32Derivation===void 0&&(k.bip32Derivation=[]),k.bip32Derivation.push(e.inputs.bip32Derivation.decode(w));break;case r.InputTypes.FINAL_SCRIPTSIG:o("input",w.key,r.InputTypes.FINAL_SCRIPTSIG),k.finalScriptSig=e.inputs.finalScriptSig.decode(w);break;case r.InputTypes.FINAL_SCRIPTWITNESS:o("input",w.key,r.InputTypes.FINAL_SCRIPTWITNESS),k.finalScriptWitness=e.inputs.finalScriptWitness.decode(w);break;case r.InputTypes.POR_COMMITMENT:o("input",w.key,r.InputTypes.POR_COMMITMENT),k.porCommitment=e.inputs.porCommitment.decode(w);break;case r.InputTypes.TAP_KEY_SIG:o("input",w.key,r.InputTypes.TAP_KEY_SIG),k.tapKeySig=e.inputs.tapKeySig.decode(w);break;case r.InputTypes.TAP_SCRIPT_SIG:k.tapScriptSig===void 0&&(k.tapScriptSig=[]),k.tapScriptSig.push(e.inputs.tapScriptSig.decode(w));break;case r.InputTypes.TAP_LEAF_SCRIPT:k.tapLeafScript===void 0&&(k.tapLeafScript=[]),k.tapLeafScript.push(e.inputs.tapLeafScript.decode(w));break;case r.InputTypes.TAP_BIP32_DERIVATION:k.tapBip32Derivation===void 0&&(k.tapBip32Derivation=[]),k.tapBip32Derivation.push(e.inputs.tapBip32Derivation.decode(w));break;case r.InputTypes.TAP_INTERNAL_KEY:o("input",w.key,r.InputTypes.TAP_INTERNAL_KEY),k.tapInternalKey=e.inputs.tapInternalKey.decode(w);break;case r.InputTypes.TAP_MERKLE_ROOT:o("input",w.key,r.InputTypes.TAP_MERKLE_ROOT),k.tapMerkleRoot=e.inputs.tapMerkleRoot.decode(w);break;default:k.unknownKeyVals||(k.unknownKeyVals=[]),k.unknownKeyVals.push(w)}b.push(k)}for(const _ of t.range(g)){const k={};for(const w of d[_])switch(e.outputs.checkPubkey(w),w.key[0]){case r.OutputTypes.REDEEM_SCRIPT:if(o("output",w.key,r.OutputTypes.REDEEM_SCRIPT),k.redeemScript!==void 0)throw new Error("Format Error: Output has multiple REDEEM_SCRIPT");k.redeemScript=e.outputs.redeemScript.decode(w);break;case r.OutputTypes.WITNESS_SCRIPT:if(o("output",w.key,r.OutputTypes.WITNESS_SCRIPT),k.witnessScript!==void 0)throw new Error("Format Error: Output has multiple WITNESS_SCRIPT");k.witnessScript=e.outputs.witnessScript.decode(w);break;case r.OutputTypes.BIP32_DERIVATION:k.bip32Derivation===void 0&&(k.bip32Derivation=[]),k.bip32Derivation.push(e.outputs.bip32Derivation.decode(w));break;case r.OutputTypes.TAP_INTERNAL_KEY:o("output",w.key,r.OutputTypes.TAP_INTERNAL_KEY),k.tapInternalKey=e.outputs.tapInternalKey.decode(w);break;case r.OutputTypes.TAP_TREE:o("output",w.key,r.OutputTypes.TAP_TREE),k.tapTree=e.outputs.tapTree.decode(w);break;case r.OutputTypes.TAP_BIP32_DERIVATION:k.tapBip32Derivation===void 0&&(k.tapBip32Derivation=[]),k.tapBip32Derivation.push(e.outputs.tapBip32Derivation.decode(w));break;default:k.unknownKeyVals||(k.unknownKeyVals=[]),k.unknownKeyVals.push(w)}y.push(k)}return{globalMap:h,inputs:b,outputs:y}}return fa.psbtFromKeyVals=i,fa}var io={},sy;function CC(){if(sy)return io;sy=1,Object.defineProperty(io,"__esModule",{value:!0});const e=Sf(),t=Af();function n({globalMap:i,inputs:s,outputs:c}){const{globalKeyVals:u,inputKeyVals:d,outputKeyVals:h}=o({globalMap:i,inputs:s,outputs:c}),f=t.keyValsToBuffer(u),l=_=>_.length===0?[Buffer.from([0])]:_.map(t.keyValsToBuffer),g=l(d),b=l(h),y=Buffer.allocUnsafe(5);return y.writeUIntBE(482972169471,0,5),Buffer.concat([y,f].concat(g,b))}io.psbtToBuffer=n;const r=(i,s)=>i.key.compare(s.key);function a(i,s){const c=new Set,u=Object.entries(i).reduce((h,[f,l])=>{if(f==="unknownKeyVals")return h;const g=s[f];if(g===void 0)return h;const b=(Array.isArray(l)?l:[l]).map(g.encode);return b.map(_=>_.key.toString("hex")).forEach(_=>{if(c.has(_))throw new Error("Serialize Error: Duplicate key: "+_);c.add(_)}),h.concat(b)},[]),d=i.unknownKeyVals?i.unknownKeyVals.filter(h=>!c.has(h.key.toString("hex"))):[];return u.concat(d).sort(r)}function o({globalMap:i,inputs:s,outputs:c}){return{globalKeyVals:a(i,e.globals),inputKeyVals:s.map(u=>a(u,e.inputs)),outputKeyVals:c.map(u=>a(u,e.outputs))}}return io.psbtToKeyVals=o,io}var cy;function s_(){return cy||(cy=1,(function(e){function t(n){for(var r in n)e.hasOwnProperty(r)||(e[r]=n[r])}Object.defineProperty(e,"__esModule",{value:!0}),t(IC()),t(CC())})(fl)),fl}var uy;function OC(){if(uy)return Li;uy=1,Object.defineProperty(Li,"__esModule",{value:!0});const e=s_();function t(o){const i=o[0],s=e.psbtToKeyVals(i),c=o.slice(1);if(c.length===0)throw new Error("Combine: Nothing to combine");const u=r(i);if(u===void 0)throw new Error("Combine: Self missing transaction");const d=a(s.globalKeyVals),h=s.inputKeyVals.map(a),f=s.outputKeyVals.map(a);for(const l of c){const g=r(l);if(g===void 0||!g.toBuffer().equals(u.toBuffer()))throw new Error("Combine: One of the Psbts does not have the same transaction.");const b=e.psbtToKeyVals(l);a(b.globalKeyVals).forEach(n(d,s.globalKeyVals,b.globalKeyVals)),b.inputKeyVals.map(a).forEach((w,v)=>w.forEach(n(h[v],s.inputKeyVals[v],b.inputKeyVals[v]))),b.outputKeyVals.map(a).forEach((w,v)=>w.forEach(n(f[v],s.outputKeyVals[v],b.outputKeyVals[v])))}return e.psbtFromKeyVals(u,{globalMapKeyVals:s.globalKeyVals,inputKeyVals:s.inputKeyVals,outputKeyVals:s.outputKeyVals})}Li.combine=t;function n(o,i,s){return c=>{if(o.has(c))return;const u=s.filter(d=>d.key.toString("hex")===c)[0];i.push(u),o.add(c)}}function r(o){return o.globalMap.unsignedTx}function a(o){const i=new Set;return o.forEach(s=>{const c=s.key.toString("hex");if(i.has(c))throw new Error("Combine: KeyValue Map keys should be unique");i.add(c)}),i}return Li}var hl={},ly;function c_(){return ly||(ly=1,(function(e){Object.defineProperty(e,"__esModule",{value:!0});const t=Sf();function n(l,g){const b=l[g];if(b===void 0)throw new Error(`No input #${g}`);return b}e.checkForInput=n;function r(l,g){const b=l[g];if(b===void 0)throw new Error(`No output #${g}`);return b}e.checkForOutput=r;function a(l,g,b){if(l.key[0]<b)throw new Error("Use the method for your specific key instead of addUnknownKeyVal*");if(g&&g.filter(y=>y.key.equals(l.key)).length!==0)throw new Error(`Duplicate Key: ${l.key.toString("hex")}`)}e.checkHasKey=a;function o(l){let g=0;return Object.keys(l).forEach(b=>{Number(isNaN(Number(b)))&&g++}),g}e.getEnumLength=o;function i(l,g){let b=!1;if(g.nonWitnessUtxo||g.witnessUtxo){const y=!!g.redeemScript,_=!!g.witnessScript,k=!y||!!g.finalScriptSig,w=!_||!!g.finalScriptWitness,v=!!g.finalScriptSig||!!g.finalScriptWitness;b=k&&w&&v}if(b===!1)throw new Error(`Input #${l} has too much or too little data to clean`)}e.inputCheckUncleanFinalized=i;function s(l,g,b,y){throw new Error(`Data for ${l} key ${g} is incorrect: Expected ${b} and got ${JSON.stringify(y)}`)}function c(l){return(g,b)=>{for(const y of Object.keys(g)){const _=g[y],{canAdd:k,canAddToArray:w,check:v,expected:A}=t[l+"s"][y]||{},T=!!w;if(v)if(T){if(!Array.isArray(_)||b[y]&&!Array.isArray(b[y]))throw new Error(`Key type ${y} must be an array`);_.every(v)||s(l,y,A,_);const I=b[y]||[],z=new Set;if(!_.every(S=>w(I,S,z)))throw new Error("Can not add duplicate data to array");b[y]=I.concat(_)}else{if(v(_)||s(l,y,A,_),!k(b,_))throw new Error(`Can not add duplicate data to ${l}`);b[y]=_}}}}e.updateGlobal=c("global"),e.updateInput=c("input"),e.updateOutput=c("output");function u(l,g){const b=l.length-1,y=n(l,b);e.updateInput(g,y)}e.addInputAttributes=u;function d(l,g){const b=l.length-1,y=r(l,b);e.updateOutput(g,y)}e.addOutputAttributes=d;function h(l,g){if(!Buffer.isBuffer(g)||g.length<4)throw new Error("Set Version: Invalid Transaction");return g.writeUInt32LE(l,0),g}e.defaultVersionSetter=h;function f(l,g){if(!Buffer.isBuffer(g)||g.length<4)throw new Error("Set Locktime: Invalid Transaction");return g.writeUInt32LE(l,g.length-4),g}e.defaultLocktimeSetter=f})(hl)),hl}var dy;function BC(){if(dy)return Hi;dy=1,Object.defineProperty(Hi,"__esModule",{value:!0});const e=OC(),t=s_(),n=dt(),r=c_();class a{constructor(i){this.inputs=[],this.outputs=[],this.globalMap={unsignedTx:i}}static fromBase64(i,s){const c=Buffer.from(i,"base64");return this.fromBuffer(c,s)}static fromHex(i,s){const c=Buffer.from(i,"hex");return this.fromBuffer(c,s)}static fromBuffer(i,s){const c=t.psbtFromBuffer(i,s),u=new this(c.globalMap.unsignedTx);return Object.assign(u,c),u}toBase64(){return this.toBuffer().toString("base64")}toHex(){return this.toBuffer().toString("hex")}toBuffer(){return t.psbtToBuffer(this)}updateGlobal(i){return r.updateGlobal(i,this.globalMap),this}updateInput(i,s){const c=r.checkForInput(this.inputs,i);return r.updateInput(s,c),this}updateOutput(i,s){const c=r.checkForOutput(this.outputs,i);return r.updateOutput(s,c),this}addUnknownKeyValToGlobal(i){return r.checkHasKey(i,this.globalMap.unknownKeyVals,r.getEnumLength(n.GlobalTypes)),this.globalMap.unknownKeyVals||(this.globalMap.unknownKeyVals=[]),this.globalMap.unknownKeyVals.push(i),this}addUnknownKeyValToInput(i,s){const c=r.checkForInput(this.inputs,i);return r.checkHasKey(s,c.unknownKeyVals,r.getEnumLength(n.InputTypes)),c.unknownKeyVals||(c.unknownKeyVals=[]),c.unknownKeyVals.push(s),this}addUnknownKeyValToOutput(i,s){const c=r.checkForOutput(this.outputs,i);return r.checkHasKey(s,c.unknownKeyVals,r.getEnumLength(n.OutputTypes)),c.unknownKeyVals||(c.unknownKeyVals=[]),c.unknownKeyVals.push(s),this}addInput(i){this.globalMap.unsignedTx.addInput(i),this.inputs.push({unknownKeyVals:[]});const s=i.unknownKeyVals||[],c=this.inputs.length-1;if(!Array.isArray(s))throw new Error("unknownKeyVals must be an Array");return s.forEach(u=>this.addUnknownKeyValToInput(c,u)),r.addInputAttributes(this.inputs,i),this}addOutput(i){this.globalMap.unsignedTx.addOutput(i),this.outputs.push({unknownKeyVals:[]});const s=i.unknownKeyVals||[],c=this.outputs.length-1;if(!Array.isArray(s))throw new Error("unknownKeyVals must be an Array");return s.forEach(u=>this.addUnknownKeyValToOutput(c,u)),r.addOutputAttributes(this.outputs,i),this}clearFinalizedInput(i){const s=r.checkForInput(this.inputs,i);r.inputCheckUncleanFinalized(i,s);for(const c of Object.keys(s))["witnessUtxo","nonWitnessUtxo","finalScriptSig","finalScriptWitness","unknownKeyVals"].includes(c)||delete s[c];return this}combine(...i){const s=e.combine([this].concat(i));return Object.assign(this,s),this}getTransaction(){return this.globalMap.unsignedTx.toBuffer()}}return Hi.Psbt=a,Hi}var Ue={},Ne={},fy;function Jl(){if(fy)return Ne;fy=1,Object.defineProperty(Ne,"__esModule",{value:!0}),Ne.signatureBlocksAction=Ne.checkInputForSig=Ne.pubkeyInScript=Ne.pubkeyPositionInScript=Ne.witnessStackToScriptWitness=Ne.isP2TR=Ne.isP2SHScript=Ne.isP2WSHScript=Ne.isP2WPKH=Ne.isP2PKH=Ne.isP2PK=Ne.isP2MS=void 0;const e=ia(),t=It(),n=di(),r=Hn(),a=li();function o(l){return g=>{try{return l({output:g}),!0}catch{return!1}}}Ne.isP2MS=o(a.p2ms),Ne.isP2PK=o(a.p2pk),Ne.isP2PKH=o(a.p2pkh),Ne.isP2WPKH=o(a.p2wpkh),Ne.isP2WSHScript=o(a.p2wsh),Ne.isP2SHScript=o(a.p2sh),Ne.isP2TR=o(a.p2tr);function i(l){let g=Buffer.allocUnsafe(0);function b(w){g=Buffer.concat([g,Buffer.from(w)])}function y(w){const v=g.length,A=e.encodingLength(w);g=Buffer.concat([g,Buffer.allocUnsafe(A)]),e.encode(w,g,v)}function _(w){y(w.length),b(w)}function k(w){y(w.length),w.forEach(_)}return k(l),g}Ne.witnessStackToScriptWitness=i;function s(l,g){const b=(0,r.hash160)(l),y=l.slice(1,33),_=t.decompile(g);if(_===null)throw new Error("Unknown script error");return _.findIndex(k=>typeof k=="number"?!1:k.equals(l)||k.equals(b)||k.equals(y))}Ne.pubkeyPositionInScript=s;function c(l,g){return s(l,g)!==-1}Ne.pubkeyInScript=c;function u(l,g){return h(l).some(y=>d(y,t.signature.decode,g))}Ne.checkInputForSig=u;function d(l,g,b){const{hashType:y}=g(l),_=[];switch(y&n.Transaction.SIGHASH_ANYONECANPAY&&_.push("addInput"),y&31){case n.Transaction.SIGHASH_ALL:break;case n.Transaction.SIGHASH_SINGLE:case n.Transaction.SIGHASH_NONE:_.push("addOutput"),_.push("setInputSequence");break}return _.indexOf(b)===-1}Ne.signatureBlocksAction=d;function h(l){let g=[];if((l.partialSig||[]).length===0){if(!l.finalScriptSig&&!l.finalScriptWitness)return[];g=f(l)}else g=l.partialSig;return g.map(b=>b.signature)}function f(l){const g=l.finalScriptSig?t.decompile(l.finalScriptSig)||[]:[],b=l.finalScriptWitness?t.decompile(l.finalScriptWitness)||[]:[];return g.concat(b).filter(y=>Buffer.isBuffer(y)&&t.isCanonicalScriptSignature(y)).map(y=>({signature:y}))}return Ne}var py;function zC(){if(py)return Ue;py=1,Object.defineProperty(Ue,"__esModule",{value:!0}),Ue.checkTaprootInputForSigs=Ue.tapTreeFromList=Ue.tapTreeToList=Ue.tweakInternalPubKey=Ue.checkTaprootOutputFields=Ue.checkTaprootInputFields=Ue.isTaprootOutput=Ue.isTaprootInput=Ue.serializeTaprootSignature=Ue.tapScriptFinalizer=Ue.toXOnly=void 0;const e=ht(),t=di(),n=Jl(),r=Ef(),a=li(),o=Jl(),i=H=>H.length===32?H:H.slice(1,33);Ue.toXOnly=i;function s(H,C,V){const W=$(C,H,V);try{const K=D(C,W).concat(W.script).concat(W.controlBlock);return{finalScriptWitness:(0,n.witnessStackToScriptWitness)(K)}}catch(U){throw new Error(`Can not finalize taproot input #${H}: ${U}`)}}Ue.tapScriptFinalizer=s;function c(H,C){const V=C?Buffer.from([C]):Buffer.from([]);return Buffer.concat([H,V])}Ue.serializeTaprootSignature=c;function u(H){return H&&!!(H.tapInternalKey||H.tapMerkleRoot||H.tapLeafScript&&H.tapLeafScript.length||H.tapBip32Derivation&&H.tapBip32Derivation.length||H.witnessUtxo&&(0,n.isP2TR)(H.witnessUtxo.script))}Ue.isTaprootInput=u;function d(H,C){return H&&!!(H.tapInternalKey||H.tapTree||H.tapBip32Derivation&&H.tapBip32Derivation.length||C&&(0,n.isP2TR)(C))}Ue.isTaprootOutput=d;function h(H,C,V){S(H,C,V),P(H,C,V)}Ue.checkTaprootInputFields=h;function f(H,C,V){B(H,C,V),l(H,C)}Ue.checkTaprootOutputFields=f;function l(H,C){if(!C.tapTree&&!C.tapInternalKey)return;const V=C.tapInternalKey||H.tapInternalKey,W=C.tapTree||H.tapTree;if(V){const{script:U}=H,K=g(V,W);if(U&&!U.equals(K))throw new Error("Error adding output. Script or address missmatch.")}}function g(H,C){const V=C&&_(C.leaves),{output:W}=(0,a.p2tr)({internalPubkey:H,scriptTree:V});return W}function b(H,C){const V=C.tapInternalKey,W=V&&(0,r.tweakKey)(V,C.tapMerkleRoot);if(!W)throw new Error(`Cannot tweak tap internal key for input #${H}. Public key: ${V&&V.toString("hex")}`);return W.x}Ue.tweakInternalPubKey=b;function y(H){if(!(0,e.isTaptree)(H))throw new Error("Cannot convert taptree to tapleaf list. Expecting a tapree structure.");return T(H)}Ue.tapTreeToList=y;function _(H=[]){return H.length===1&&H[0].depth===0?{output:H[0].script,version:H[0].leafVersion}:I(H)}Ue.tapTreeFromList=_;function k(H,C){return v(H).some(W=>(0,o.signatureBlocksAction)(W,w,C))}Ue.checkTaprootInputForSigs=k;function w(H){return{signature:H.slice(0,64),hashType:H.slice(64)[0]||t.Transaction.SIGHASH_DEFAULT}}function v(H){const C=[];if(H.tapKeySig&&C.push(H.tapKeySig),H.tapScriptSig&&C.push(...H.tapScriptSig.map(V=>V.signature)),!C.length){const V=A(H.finalScriptWitness);V&&C.push(V)}return C}function A(H){if(!H)return;const C=H.slice(2);if(C.length===64||C.length===65)return C}function T(H,C=[],V=0){if(V>r.MAX_TAPTREE_DEPTH)throw new Error("Max taptree depth exceeded.");return H?(0,e.isTapleaf)(H)?(C.push({depth:V,leafVersion:H.version||r.LEAF_VERSION_TAPSCRIPT,script:H.output}),C):(H[0]&&T(H[0],C,V+1),H[1]&&T(H[1],C,V+1),C):[]}function I(H){let C;for(const V of H)if(C=z(V,C),!C)throw new Error("No room left to insert tapleaf in tree");return C}function z(H,C,V=0){if(V>r.MAX_TAPTREE_DEPTH)throw new Error("Max taptree depth exceeded.");if(H.depth===V)return C?void 0:{output:H.script,version:H.leafVersion};if((0,e.isTapleaf)(C))return;const W=z(H,C&&C[0],V+1);if(W)return[W,C&&C[1]];const U=z(H,C&&C[1],V+1);if(U)return[C&&C[0],U]}function S(H,C,V){const W=u(H)&&X(C),U=X(H)&&u(C),K=H===C&&u(C)&&X(C);if(W||U||K)throw new Error(`Invalid arguments for Psbt.${V}. Cannot use both taproot and non-taproot fields.`)}function B(H,C,V){const W=d(H)&&X(C),U=X(H)&&d(C),K=H===C&&d(C)&&X(C);if(W||U||K)throw new Error(`Invalid arguments for Psbt.${V}. Cannot use both taproot and non-taproot fields.`)}function P(H,C,V){if(C.tapMerkleRoot){const W=(C.tapLeafScript||[]).every(K=>M(K,C.tapMerkleRoot)),U=(H.tapLeafScript||[]).every(K=>M(K,C.tapMerkleRoot));if(!W||!U)throw new Error(`Invalid arguments for Psbt.${V}. Tapleaf not part of taptree.`)}else if(H.tapMerkleRoot&&!(C.tapLeafScript||[]).every(U=>M(U,H.tapMerkleRoot)))throw new Error(`Invalid arguments for Psbt.${V}. Tapleaf not part of taptree.`)}function M(H,C){if(!C)return!0;const V=(0,r.tapleafHash)({output:H.script,version:H.leafVersion});return(0,r.rootHashFromPath)(H.controlBlock,V).equals(C)}function D(H,C){const V=(0,r.tapleafHash)({output:C.script,version:C.leafVersion});return(H.tapScriptSig||[]).filter(W=>W.leafHash.equals(V)).map(W=>R(C.script,W)).sort((W,U)=>U.positionInScript-W.positionInScript).map(W=>W.signature)}function R(H,C){return Object.assign({positionInScript:(0,n.pubkeyPositionInScript)(C.pubkey,H)},C)}function $(H,C,V){if(!H.tapScriptSig||!H.tapScriptSig.length)throw new Error(`Can not finalize taproot input #${C}. No tapleaf script signature provided.`);const W=(H.tapLeafScript||[]).sort((U,K)=>U.controlBlock.length-K.controlBlock.length).find(U=>q(U,H.tapScriptSig,V));if(!W)throw new Error(`Can not finalize taproot input #${C}. Signature for tapleaf script not found.`);return W}function q(H,C,V){const W=(0,r.tapleafHash)({output:H.script,version:H.leafVersion});return(!V||V.equals(W))&&C.find(K=>K.leafHash.equals(W))!==void 0}function X(H){return H&&!!(H.redeemScript||H.witnessScript||H.bip32Derivation&&H.bip32Derivation.length)}return Ue}var hy;function PC(){if(hy)return oo;hy=1,Object.defineProperty(oo,"__esModule",{value:!0}),oo.Psbt=void 0;const e=BC(),t=ia(),n=c_(),r=o_(),a=Xs(),o=nn(),i=li(),s=Ef(),c=It(),u=di(),d=zC(),h=Jl(),f={network:o.bitcoin,maximumFeeRate:5e3};class l{static fromBase64(p,E={}){const j=Buffer.from(p,"base64");return this.fromBuffer(j,E)}static fromHex(p,E={}){const j=Buffer.from(p,"hex");return this.fromBuffer(j,E)}static fromBuffer(p,E={}){const j=e.Psbt.fromBuffer(p,g),O=new l(E,j);return P(O.__CACHE.__TX,O.__CACHE),O}constructor(p={},E=new e.Psbt(new b)){this.data=E,this.opts=Object.assign({},f,p),this.__CACHE={__NON_WITNESS_UTXO_TX_CACHE:[],__NON_WITNESS_UTXO_BUF_CACHE:[],__TX_IN_CACHE:{},__TX:this.data.globalMap.unsignedTx.tx,__UNSAFE_SIGN_NONSEGWIT:!1},this.data.inputs.length===0&&this.setVersion(2);const j=(O,F,ne,le)=>Object.defineProperty(O,F,{enumerable:ne,writable:le});j(this,"__CACHE",!1,!0),j(this,"opts",!1,!0)}get inputCount(){return this.data.inputs.length}get version(){return this.__CACHE.__TX.version}set version(p){this.setVersion(p)}get locktime(){return this.__CACHE.__TX.locktime}set locktime(p){this.setLocktime(p)}get txInputs(){return this.__CACHE.__TX.ins.map(p=>({hash:(0,a.cloneBuffer)(p.hash),index:p.index,sequence:p.sequence}))}get txOutputs(){return this.__CACHE.__TX.outs.map(p=>{let E;try{E=(0,r.fromOutputScript)(p.script,this.opts.network)}catch{}return{script:(0,a.cloneBuffer)(p.script),value:p.value,address:E}})}combine(...p){return this.data.combine(...p.map(E=>E.data)),this}clone(){const p=l.fromBuffer(this.data.toBuffer());return p.opts=JSON.parse(JSON.stringify(this.opts)),p}setMaximumFeeRate(p){A(p),this.opts.maximumFeeRate=p}setVersion(p){A(p),I(this.data.inputs,"setVersion");const E=this.__CACHE;return E.__TX.version=p,E.__EXTRACTED_TX=void 0,this}setLocktime(p){A(p),I(this.data.inputs,"setLocktime");const E=this.__CACHE;return E.__TX.locktime=p,E.__EXTRACTED_TX=void 0,this}setInputSequence(p,E){A(E),I(this.data.inputs,"setInputSequence");const j=this.__CACHE;if(j.__TX.ins.length<=p)throw new Error("Input index too high");return j.__TX.ins[p].sequence=E,j.__EXTRACTED_TX=void 0,this}addInputs(p){return p.forEach(E=>this.addInput(E)),this}addInput(p){if(arguments.length>1||!p||p.hash===void 0||p.index===void 0)throw new Error("Invalid arguments for Psbt.addInput. Requires single object with at least [hash] and [index]");(0,d.checkTaprootInputFields)(p,p,"addInput"),I(this.data.inputs,"addInput"),p.witnessScript&&Me(p.witnessScript);const E=this.__CACHE;this.data.addInput(p);const j=E.__TX.ins[E.__TX.ins.length-1];M(E,j);const O=this.data.inputs.length-1,F=this.data.inputs[O];return F.nonWitnessUtxo&&N(this.__CACHE,F,O),E.__FEE=void 0,E.__FEE_RATE=void 0,E.__EXTRACTED_TX=void 0,this}addOutputs(p){return p.forEach(E=>this.addOutput(E)),this}addOutput(p){if(arguments.length>1||!p||p.value===void 0||p.address===void 0&&p.script===void 0)throw new Error("Invalid arguments for Psbt.addOutput. Requires single object with at least [script or address] and [value]");I(this.data.inputs,"addOutput");const{address:E}=p;if(typeof E=="string"){const{network:O}=this.opts,F=(0,r.toOutputScript)(E,O);p=Object.assign(p,{script:F})}(0,d.checkTaprootOutputFields)(p,p,"addOutput");const j=this.__CACHE;return this.data.addOutput(p),j.__FEE=void 0,j.__FEE_RATE=void 0,j.__EXTRACTED_TX=void 0,this}extractTransaction(p){if(!this.data.inputs.every(w))throw new Error("Not finalized");const E=this.__CACHE;if(p||T(this,E,this.opts),E.__EXTRACTED_TX)return E.__EXTRACTED_TX;const j=E.__TX.clone();return L(this.data.inputs,j,E,!0),j}getFeeRate(){return q("__FEE_RATE","fee rate",this.data.inputs,this.__CACHE)}getFee(){return q("__FEE","fee",this.data.inputs,this.__CACHE)}finalizeAllInputs(){return(0,n.checkForInput)(this.data.inputs,0),x(this.data.inputs.length).forEach(p=>this.finalizeInput(p)),this}finalizeInput(p,E){const j=(0,n.checkForInput)(this.data.inputs,p);return(0,d.isTaprootInput)(j)?this._finalizeTaprootInput(p,j,void 0,E):this._finalizeInput(p,j,E)}finalizeTaprootInput(p,E,j=d.tapScriptFinalizer){const O=(0,n.checkForInput)(this.data.inputs,p);if((0,d.isTaprootInput)(O))return this._finalizeTaprootInput(p,O,E,j);throw new Error(`Cannot finalize input #${p}. Not Taproot.`)}_finalizeInput(p,E,j=X){const{script:O,isP2SH:F,isP2WSH:ne,isSegwit:le}=re(p,E,this.__CACHE);if(!O)throw new Error(`No script found for input #${p}`);z(E);const{finalScriptSig:ue,finalScriptWitness:pe}=j(p,E,O,le,F,ne);if(ue&&this.data.updateInput(p,{finalScriptSig:ue}),pe&&this.data.updateInput(p,{finalScriptWitness:pe}),!ue&&!pe)throw new Error(`Unknown error finalizing input #${p}`);return this.data.clearFinalizedInput(p),this}_finalizeTaprootInput(p,E,j,O=d.tapScriptFinalizer){if(!E.witnessUtxo)throw new Error(`Cannot finalize input #${p}. Missing withness utxo.`);if(E.tapKeySig){const F=i.p2tr({output:E.witnessUtxo.script,signature:E.tapKeySig}),ne=(0,h.witnessStackToScriptWitness)(F.witness);this.data.updateInput(p,{finalScriptWitness:ne})}else{const{finalScriptWitness:F}=O(p,E,j);this.data.updateInput(p,{finalScriptWitness:F})}return this.data.clearFinalizedInput(p),this}getInputType(p){const E=(0,n.checkForInput)(this.data.inputs,p),j=Z(p,E,this.__CACHE),O=Ge(j,p,"input",E.redeemScript||Q(E.finalScriptSig),E.witnessScript||ke(E.finalScriptWitness)),F=O.type==="raw"?"":O.type+"-",ne=Ae(O.meaningfulScript);return F+ne}inputHasPubkey(p,E){const j=(0,n.checkForInput)(this.data.inputs,p);return fe(E,j,p,this.__CACHE)}inputHasHDKey(p,E){const j=(0,n.checkForInput)(this.data.inputs,p),O=v(E);return!!j.bip32Derivation&&j.bip32Derivation.some(O)}outputHasPubkey(p,E){const j=(0,n.checkForOutput)(this.data.outputs,p);return ge(E,j,p,this.__CACHE)}outputHasHDKey(p,E){const j=(0,n.checkForOutput)(this.data.outputs,p),O=v(E);return!!j.bip32Derivation&&j.bip32Derivation.some(O)}validateSignaturesOfAllInputs(p){return(0,n.checkForInput)(this.data.inputs,0),x(this.data.inputs.length).map(j=>this.validateSignaturesOfInput(j,p)).reduce((j,O)=>O===!0&&j,!0)}validateSignaturesOfInput(p,E,j){const O=this.data.inputs[p];return(0,d.isTaprootInput)(O)?this.validateSignaturesOfTaprootInput(p,E,j):this._validateSignaturesOfInput(p,E,j)}_validateSignaturesOfInput(p,E,j){const O=this.data.inputs[p],F=(O||{}).partialSig;if(!O||!F||F.length<1)throw new Error("No signatures to validate");if(typeof E!="function")throw new Error("Need validator function to validate signatures");const ne=j?F.filter(Pe=>Pe.pubkey.equals(j)):F;if(ne.length<1)throw new Error("No signatures for this pubkey");const le=[];let ue,pe,he;for(const Pe of ne){const ft=c.signature.decode(Pe.signature),{hash:kr,script:De}=he!==ft.hashType?V(p,Object.assign({},O,{sighashType:ft.hashType}),this.__CACHE,!0):{hash:ue,script:pe};he=ft.hashType,ue=kr,pe=De,S(Pe.pubkey,De,"verify"),le.push(E(Pe.pubkey,kr,ft.signature))}return le.every(Pe=>Pe===!0)}validateSignaturesOfTaprootInput(p,E,j){const O=this.data.inputs[p],F=(O||{}).tapKeySig,ne=(O||{}).tapScriptSig;if(!O&&!F&&!(ne&&!ne.length))throw new Error("No signatures to validate");if(typeof E!="function")throw new Error("Need validator function to validate signatures");j=j&&(0,d.toXOnly)(j);const le=j?Y(p,O,this.data.inputs,j,this.__CACHE):W(p,O,this.data.inputs,this.__CACHE);if(!le.length)throw new Error("No signatures for this pubkey");const ue=le.find(he=>!he.leafHash);let pe=0;if(F&&ue){if(!E(ue.pubkey,ue.hash,K(F)))return!1;pe++}if(ne)for(const he of ne){const Pe=le.find(ft=>he.pubkey.equals(ft.pubkey));if(Pe){if(!E(he.pubkey,Pe.hash,K(he.signature)))return!1;pe++}}return pe>0}signAllInputsHD(p,E=[u.Transaction.SIGHASH_ALL]){if(!p||!p.publicKey||!p.fingerprint)throw new Error("Need HDSigner to sign input");const j=[];for(const O of x(this.data.inputs.length))try{this.signInputHD(O,p,E),j.push(!0)}catch{j.push(!1)}if(j.every(O=>O===!1))throw new Error("No inputs were signed");return this}signAllInputsHDAsync(p,E=[u.Transaction.SIGHASH_ALL]){return new Promise((j,O)=>{if(!p||!p.publicKey||!p.fingerprint)return O(new Error("Need HDSigner to sign input"));const F=[],ne=[];for(const le of x(this.data.inputs.length))ne.push(this.signInputHDAsync(le,p,E).then(()=>{F.push(!0)},()=>{F.push(!1)}));return Promise.all(ne).then(()=>{if(F.every(le=>le===!1))return O(new Error("No inputs were signed"));j()})})}signInputHD(p,E,j=[u.Transaction.SIGHASH_ALL]){if(!E||!E.publicKey||!E.fingerprint)throw new Error("Need HDSigner to sign input");return oe(p,this.data.inputs,E).forEach(F=>this.signInput(p,F,j)),this}signInputHDAsync(p,E,j=[u.Transaction.SIGHASH_ALL]){return new Promise((O,F)=>{if(!E||!E.publicKey||!E.fingerprint)return F(new Error("Need HDSigner to sign input"));const le=oe(p,this.data.inputs,E).map(ue=>this.signInputAsync(p,ue,j));return Promise.all(le).then(()=>{O()}).catch(F)})}signAllInputs(p,E){if(!p||!p.publicKey)throw new Error("Need Signer to sign input");const j=[];for(const O of x(this.data.inputs.length))try{this.signInput(O,p,E),j.push(!0)}catch{j.push(!1)}if(j.every(O=>O===!1))throw new Error("No inputs were signed");return this}signAllInputsAsync(p,E){return new Promise((j,O)=>{if(!p||!p.publicKey)return O(new Error("Need Signer to sign input"));const F=[],ne=[];for(const[le]of this.data.inputs.entries())ne.push(this.signInputAsync(le,p,E).then(()=>{F.push(!0)},()=>{F.push(!1)}));return Promise.all(ne).then(()=>{if(F.every(le=>le===!1))return O(new Error("No inputs were signed"));j()})})}signInput(p,E,j){if(!E||!E.publicKey)throw new Error("Need Signer to sign input");const O=(0,n.checkForInput)(this.data.inputs,p);return(0,d.isTaprootInput)(O)?this._signTaprootInput(p,O,E,void 0,j):this._signInput(p,E,j)}signTaprootInput(p,E,j,O){if(!E||!E.publicKey)throw new Error("Need Signer to sign input");const F=(0,n.checkForInput)(this.data.inputs,p);if((0,d.isTaprootInput)(F))return this._signTaprootInput(p,F,E,j,O);throw new Error(`Input #${p} is not of type Taproot.`)}_signInput(p,E,j=[u.Transaction.SIGHASH_ALL]){const{hash:O,sighashType:F}=C(this.data.inputs,p,E.publicKey,this.__CACHE,j),ne=[{pubkey:E.publicKey,signature:c.signature.encode(E.sign(O),F)}];return this.data.updateInput(p,{partialSig:ne}),this}_signTaprootInput(p,E,j,O,F=[u.Transaction.SIGHASH_DEFAULT]){const ne=this.checkTaprootHashesForSig(p,E,j,O,F),le=ne.filter(pe=>!pe.leafHash).map(pe=>(0,d.serializeTaprootSignature)(j.signSchnorr(pe.hash),E.sighashType))[0],ue=ne.filter(pe=>!!pe.leafHash).map(pe=>({pubkey:(0,d.toXOnly)(j.publicKey),signature:(0,d.serializeTaprootSignature)(j.signSchnorr(pe.hash),E.sighashType),leafHash:pe.leafHash}));return le&&this.data.updateInput(p,{tapKeySig:le}),ue.length&&this.data.updateInput(p,{tapScriptSig:ue}),this}signInputAsync(p,E,j){return Promise.resolve().then(()=>{if(!E||!E.publicKey)throw new Error("Need Signer to sign input");const O=(0,n.checkForInput)(this.data.inputs,p);return(0,d.isTaprootInput)(O)?this._signTaprootInputAsync(p,O,E,void 0,j):this._signInputAsync(p,E,j)})}signTaprootInputAsync(p,E,j,O){return Promise.resolve().then(()=>{if(!E||!E.publicKey)throw new Error("Need Signer to sign input");const F=(0,n.checkForInput)(this.data.inputs,p);if((0,d.isTaprootInput)(F))return this._signTaprootInputAsync(p,F,E,j,O);throw new Error(`Input #${p} is not of type Taproot.`)})}_signInputAsync(p,E,j=[u.Transaction.SIGHASH_ALL]){const{hash:O,sighashType:F}=C(this.data.inputs,p,E.publicKey,this.__CACHE,j);return Promise.resolve(E.sign(O)).then(ne=>{const le=[{pubkey:E.publicKey,signature:c.signature.encode(ne,F)}];this.data.updateInput(p,{partialSig:le})})}async _signTaprootInputAsync(p,E,j,O,F=[u.Transaction.SIGHASH_DEFAULT]){const ne=this.checkTaprootHashesForSig(p,E,j,O,F),le=[],ue=ne.filter(he=>!he.leafHash)[0];if(ue){const he=Promise.resolve(j.signSchnorr(ue.hash)).then(Pe=>({tapKeySig:(0,d.serializeTaprootSignature)(Pe,E.sighashType)}));le.push(he)}const pe=ne.filter(he=>!!he.leafHash);if(pe.length){const he=pe.map(Pe=>Promise.resolve(j.signSchnorr(Pe.hash)).then(ft=>({tapScriptSig:[{pubkey:(0,d.toXOnly)(j.publicKey),signature:(0,d.serializeTaprootSignature)(ft,E.sighashType),leafHash:Pe.leafHash}]})));le.push(...he)}return Promise.all(le).then(he=>{he.forEach(Pe=>this.data.updateInput(p,Pe))})}checkTaprootHashesForSig(p,E,j,O,F){if(typeof j.signSchnorr!="function")throw new Error(`Need Schnorr Signer to sign taproot input #${p}.`);const ne=Y(p,E,this.data.inputs,j.publicKey,this.__CACHE,O,F);if(!ne||!ne.length)throw new Error(`Can not sign for input #${p} with the key ${j.publicKey.toString("hex")}`);return ne}toBuffer(){return _(this.__CACHE),this.data.toBuffer()}toHex(){return _(this.__CACHE),this.data.toHex()}toBase64(){return _(this.__CACHE),this.data.toBase64()}updateGlobal(p){return this.data.updateGlobal(p),this}updateInput(p,E){return E.witnessScript&&Me(E.witnessScript),(0,d.checkTaprootInputFields)(this.data.inputs[p],E,"updateInput"),this.data.updateInput(p,E),E.nonWitnessUtxo&&N(this.__CACHE,this.data.inputs[p],p),this}updateOutput(p,E){const j=this.data.outputs[p];return(0,d.checkTaprootOutputFields)(j,E,"updateOutput"),this.data.updateOutput(p,E),this}addUnknownKeyValToGlobal(p){return this.data.addUnknownKeyValToGlobal(p),this}addUnknownKeyValToInput(p,E){return this.data.addUnknownKeyValToInput(p,E),this}addUnknownKeyValToOutput(p,E){return this.data.addUnknownKeyValToOutput(p,E),this}clearFinalizedInput(p){return this.data.clearFinalizedInput(p),this}}oo.Psbt=l;const g=m=>new b(m);class b{constructor(p=Buffer.from([2,0,0,0,0,0,0,0,0,0])){this.tx=u.Transaction.fromBuffer(p),B(this.tx),Object.defineProperty(this,"tx",{enumerable:!1,writable:!0})}getInputOutputCounts(){return{inputCount:this.tx.ins.length,outputCount:this.tx.outs.length}}addInput(p){if(p.hash===void 0||p.index===void 0||!Buffer.isBuffer(p.hash)&&typeof p.hash!="string"||typeof p.index!="number")throw new Error("Error adding input.");const E=typeof p.hash=="string"?(0,a.reverseBuffer)(Buffer.from(p.hash,"hex")):p.hash;this.tx.addInput(E,p.index,p.sequence)}addOutput(p){if(p.script===void 0||p.value===void 0||!Buffer.isBuffer(p.script)||typeof p.value!="number")throw new Error("Error adding output.");this.tx.addOutput(p.script,p.value)}toBuffer(){return this.tx.toBuffer()}}function y(m,p,E){switch(E){case"pubkey":case"pubkeyhash":case"witnesspubkeyhash":return k(1,m.partialSig);case"multisig":const j=i.p2ms({output:p});return k(j.m,m.partialSig,j.pubkeys);default:return!1}}function _(m){if(m.__UNSAFE_SIGN_NONSEGWIT!==!1)throw new Error("Not BIP174 compliant, can not export")}function k(m,p,E){if(!p)return!1;let j;if(E?j=E.map(O=>{const F=me(O);return p.find(ne=>ne.pubkey.equals(F))}).filter(O=>!!O):j=p,j.length>m)throw new Error("Too many signatures");return j.length===m}function w(m){return!!m.finalScriptSig||!!m.finalScriptWitness}function v(m){return p=>!(!p.masterFingerprint.equals(m.fingerprint)||!m.derivePath(p.path).publicKey.equals(p.pubkey))}function A(m){if(typeof m!="number"||m!==Math.floor(m)||m>4294967295||m<0)throw new Error("Invalid 32 bit integer")}function T(m,p,E){const j=p.__FEE_RATE||m.getFeeRate(),O=p.__EXTRACTED_TX.virtualSize(),F=j*O;if(j>=E.maximumFeeRate)throw new Error(`Warning: You are paying around ${(F/1e8).toFixed(8)} in fees, which is ${j} satoshi per byte for a transaction with a VSize of ${O} bytes (segwit counted as 0.25 byte per byte). Use setMaximumFeeRate method to raise your threshold, or pass true to the first arg of extractTransaction.`)}function I(m,p){m.forEach(E=>{if((0,d.isTaprootInput)(E)?(0,d.checkTaprootInputForSigs)(E,p):(0,h.checkInputForSig)(E,p))throw new Error("Can not modify transaction, signatures exist.")})}function z(m){if(!m.sighashType||!m.partialSig)return;const{partialSig:p,sighashType:E}=m;p.forEach(j=>{const{hashType:O}=c.signature.decode(j.signature);if(E!==O)throw new Error("Signature sighash does not match input sighash type")})}function S(m,p,E){if(!(0,h.pubkeyInScript)(m,p))throw new Error(`Can not ${E} for this input with the key ${m.toString("hex")}`)}function B(m){if(!m.ins.every(E=>E.script&&E.script.length===0&&E.witness&&E.witness.length===0))throw new Error("Format Error: Transaction ScriptSigs are not empty")}function P(m,p){m.ins.forEach(E=>{M(p,E)})}function M(m,p){const E=(0,a.reverseBuffer)(Buffer.from(p.hash)).toString("hex")+":"+p.index;if(m.__TX_IN_CACHE[E])throw new Error("Duplicate input detected.");m.__TX_IN_CACHE[E]=1}function D(m,p){return(E,j,O,F)=>{const ne=m({redeem:{output:O}}).output;if(!j.equals(ne))throw new Error(`${p} for ${F} #${E} doesn't match the scriptPubKey in the prevout`)}}const R=D(i.p2sh,"Redeem script"),$=D(i.p2wsh,"Witness script");function q(m,p,E,j){if(!E.every(w))throw new Error(`PSBT must be finalized to calculate ${p}`);if(m==="__FEE_RATE"&&j.__FEE_RATE)return j.__FEE_RATE;if(m==="__FEE"&&j.__FEE)return j.__FEE;let O,F=!0;if(j.__EXTRACTED_TX?(O=j.__EXTRACTED_TX,F=!1):O=j.__TX.clone(),L(E,O,j,F),m==="__FEE_RATE")return j.__FEE_RATE;if(m==="__FEE")return j.__FEE}function X(m,p,E,j,O,F){const ne=Ae(E);if(!y(p,E,ne))throw new Error(`Can not finalize input #${m}`);return H(E,ne,p.partialSig,j,O,F)}function H(m,p,E,j,O,F){let ne,le;const ue=te(m,p,E),pe=F?i.p2wsh({redeem:ue}):null,he=O?i.p2sh({redeem:pe||ue}):null;return j?(pe?le=(0,h.witnessStackToScriptWitness)(pe.witness):le=(0,h.witnessStackToScriptWitness)(ue.witness),he&&(ne=he.input)):he?ne=he.input:ne=ue.input,{finalScriptSig:ne,finalScriptWitness:le}}function C(m,p,E,j,O){const F=(0,n.checkForInput)(m,p),{hash:ne,sighashType:le,script:ue}=V(p,F,j,!1,O);return S(E,ue,"sign"),{hash:ne,sighashType:le}}function V(m,p,E,j,O){const F=E.__TX,ne=p.sighashType||u.Transaction.SIGHASH_ALL;de(ne,O);let le,ue;if(p.nonWitnessUtxo){const Pe=J(E,p,m),ft=F.ins[m].hash,kr=Pe.getHash();if(!ft.equals(kr))throw new Error(`Non-witness UTXO hash for input #${m} doesn't match the hash specified in the prevout`);const De=F.ins[m].index;ue=Pe.outs[De]}else if(p.witnessUtxo)ue=p.witnessUtxo;else throw new Error("Need a Utxo input item for signing");const{meaningfulScript:pe,type:he}=Ge(ue.script,m,"input",p.redeemScript,p.witnessScript);if(["p2sh-p2wsh","p2wsh"].indexOf(he)>=0)le=F.hashForWitnessV0(m,pe,ue.value,ne);else if((0,h.isP2WPKH)(pe)){const Pe=i.p2pkh({hash:pe.slice(2)}).output;le=F.hashForWitnessV0(m,Pe,ue.value,ne)}else{if(p.nonWitnessUtxo===void 0&&E.__UNSAFE_SIGN_NONSEGWIT===!1)throw new Error(`Input #${m} has witnessUtxo but non-segwit script: ${pe.toString("hex")}`);!j&&E.__UNSAFE_SIGN_NONSEGWIT!==!1&&console.warn(`Warning: Signing non-segwit inputs without the full parent transaction means there is a chance that a miner could feed you incorrect information to trick you into paying large fees. This behavior is the same as Psbt's predecesor (TransactionBuilder - now removed) when signing non-segwit scripts. You are not able to export this Psbt with toBuffer|toBase64|toHex since it is not BIP174 compliant.
|
|
226
226
|
*********************
|
|
227
227
|
PROCEED WITH CAUTION!
|
|
228
|
-
*********************`),le=F.hashForSignature(m,pe,ne)}return{script:pe,sighashType:ne,hash:le}}function W(m,p,E,j){const O=[];if(p.tapInternalKey){const ne=U(m,p,j);ne&&O.push(ne)}if(p.tapScriptSig){const ne=p.tapScriptSig.map(le=>le.pubkey);O.push(...ne)}return O.map(ne=>Y(m,p,E,ne,j)).flat()}function U(m,p,E){const{script:j}=ce(m,p,E);return(0,h.isP2TR)(j)?j.subarray(2,34):null}function K(m){return m.length===64?m:m.subarray(0,64)}function Y(m,p,E,j,O,F,ne){const le=O.__TX,ue=p.sighashType||u.Transaction.SIGHASH_DEFAULT;de(ue,ne);const pe=E.map((De,_r)=>ce(_r,De,O)),he=pe.map(De=>De.script),Pe=pe.map(De=>De.value),ft=[];if(p.tapInternalKey&&!F){const De=U(m,p,O)||Buffer.from([]);if((0,d.toXOnly)(j).equals(De)){const _r=le.hashForWitnessV1(m,he,Pe,ue);ft.push({pubkey:j,hash:_r})}}const kr=(p.tapLeafScript||[]).filter(De=>(0,h.pubkeyInScript)(j,De.script)).map(De=>{const _r=(0,s.tapleafHash)({output:De.script,version:De.leafVersion});return Object.assign({hash:_r},De)}).filter(De=>!F||F.equals(De.hash)).map(De=>{const _r=le.hashForWitnessV1(m,he,Pe,u.Transaction.SIGHASH_DEFAULT,De.hash);return{pubkey:j,hash:_r,leafHash:De.hash}});return ft.concat(kr)}function de(m,p){if(p&&p.indexOf(m)<0){const E=G(m);throw new Error(`Sighash type is not allowed. Retry the sign method passing the sighashTypes array of whitelisted types. Sighash type: ${E}`)}}function te(m,p,E){let j;switch(p){case"multisig":const O=ae(m,E);j=i.p2ms({output:m,signatures:O});break;case"pubkey":j=i.p2pk({output:m,signature:E[0].signature});break;case"pubkeyhash":j=i.p2pkh({output:m,pubkey:E[0].pubkey,signature:E[0].signature});break;case"witnesspubkeyhash":j=i.p2wpkh({output:m,pubkey:E[0].pubkey,signature:E[0].signature});break}return j}function re(m,p,E){const j=E.__TX,O={script:null,isSegwit:!1,isP2SH:!1,isP2WSH:!1};if(O.isP2SH=!!p.redeemScript,O.isP2WSH=!!p.witnessScript,p.witnessScript)O.script=p.witnessScript;else if(p.redeemScript)O.script=p.redeemScript;else if(p.nonWitnessUtxo){const F=J(E,p,m),ne=j.ins[m].index;O.script=F.outs[ne].script}else p.witnessUtxo&&(O.script=p.witnessUtxo.script);return(p.witnessScript||(0,h.isP2WPKH)(O.script))&&(O.isSegwit=!0),O}function oe(m,p,E){const j=(0,n.checkForInput)(p,m);if(!j.bip32Derivation||j.bip32Derivation.length===0)throw new Error("Need bip32Derivation to sign with HD");const O=j.bip32Derivation.map(ne=>{if(ne.masterFingerprint.equals(E.fingerprint))return ne}).filter(ne=>!!ne);if(O.length===0)throw new Error("Need one bip32Derivation masterFingerprint to match the HDSigner fingerprint");return O.map(ne=>{const le=E.derivePath(ne.path);if(!ne.pubkey.equals(le.publicKey))throw new Error("pubkey did not match bip32Derivation");return le})}function ae(m,p){return i.p2ms({output:m}).pubkeys.map(j=>(p.filter(O=>O.pubkey.equals(j))[0]||{}).signature).filter(j=>!!j)}function se(m){let p=0;function E(ne){return p+=ne,m.slice(p-ne,p)}function j(){const ne=t.decode(m,p);return p+=t.decode.bytes,ne}function O(){return E(j())}function F(){const ne=j(),le=[];for(let ue=0;ue<ne;ue++)le.push(O());return le}return F()}function G(m){let p=m&u.Transaction.SIGHASH_ANYONECANPAY?"SIGHASH_ANYONECANPAY | ":"";switch(m&31){case u.Transaction.SIGHASH_ALL:p+="SIGHASH_ALL";break;case u.Transaction.SIGHASH_SINGLE:p+="SIGHASH_SINGLE";break;case u.Transaction.SIGHASH_NONE:p+="SIGHASH_NONE";break}return p}function N(m,p,E){m.__NON_WITNESS_UTXO_BUF_CACHE[E]=p.nonWitnessUtxo;const j=u.Transaction.fromBuffer(p.nonWitnessUtxo);m.__NON_WITNESS_UTXO_TX_CACHE[E]=j;const O=m,F=E;delete p.nonWitnessUtxo,Object.defineProperty(p,"nonWitnessUtxo",{enumerable:!0,get(){const ne=O.__NON_WITNESS_UTXO_BUF_CACHE[F],le=O.__NON_WITNESS_UTXO_TX_CACHE[F];if(ne!==void 0)return ne;{const ue=le.toBuffer();return O.__NON_WITNESS_UTXO_BUF_CACHE[F]=ue,ue}},set(ne){O.__NON_WITNESS_UTXO_BUF_CACHE[F]=ne}})}function L(m,p,E,j){let O=0;m.forEach((ue,pe)=>{if(j&&ue.finalScriptSig&&(p.ins[pe].script=ue.finalScriptSig),j&&ue.finalScriptWitness&&(p.ins[pe].witness=se(ue.finalScriptWitness)),ue.witnessUtxo)O+=ue.witnessUtxo.value;else if(ue.nonWitnessUtxo){const he=J(E,ue,pe),Pe=p.ins[pe].index,ft=he.outs[Pe];O+=ft.value}});const F=p.outs.reduce((ue,pe)=>ue+pe.value,0),ne=O-F;if(ne<0)throw new Error("Outputs are spending more than Inputs");const le=p.virtualSize();E.__FEE=ne,E.__EXTRACTED_TX=p,E.__FEE_RATE=Math.floor(ne/le)}function J(m,p,E){const j=m.__NON_WITNESS_UTXO_TX_CACHE;return j[E]||N(m,p,E),j[E]}function Z(m,p,E){const{script:j}=ce(m,p,E);return j}function ce(m,p,E){if(p.witnessUtxo!==void 0)return{script:p.witnessUtxo.script,value:p.witnessUtxo.value};if(p.nonWitnessUtxo!==void 0){const O=J(E,p,m).outs[E.__TX.ins[m].index];return{script:O.script,value:O.value}}else throw new Error("Can't find pubkey in input without Utxo data")}function fe(m,p,E,j){const O=Z(E,p,j),{meaningfulScript:F}=Ge(O,E,"input",p.redeemScript,p.witnessScript);return(0,h.pubkeyInScript)(m,F)}function ge(m,p,E,j){const O=j.__TX.outs[E].script,{meaningfulScript:F}=Ge(O,E,"output",p.redeemScript,p.witnessScript);return(0,h.pubkeyInScript)(m,F)}function Q(m){if(!m)return;const p=c.decompile(m);if(!p)return;const E=p[p.length-1];if(!(!Buffer.isBuffer(E)||Be(E)||Fe(E)||!c.decompile(E)))return E}function ke(m){if(!m)return;const p=se(m),E=p[p.length-1];if(!(Be(E)||!c.decompile(E)))return E}function me(m){if(m.length===65){const p=m[64]&1,E=m.slice(0,33);return E[0]=2|p,E}return m.slice()}function Be(m){return m.length===33&&c.isCanonicalPubKey(m)}function Fe(m){return c.isCanonicalScriptSignature(m)}function Ge(m,p,E,j,O){const F=(0,h.isP2SHScript)(m),ne=F&&j&&(0,h.isP2WSHScript)(j),le=(0,h.isP2WSHScript)(m);if(F&&j===void 0)throw new Error("scriptPubkey is P2SH but redeemScript missing");if((le||ne)&&O===void 0)throw new Error("scriptPubkey or redeemScript is P2WSH but witnessScript missing");let ue;return ne?(ue=O,R(p,m,j,E),$(p,j,O,E),Me(ue)):le?(ue=O,$(p,m,O,E),Me(ue)):F?(ue=j,R(p,m,j,E)):ue=m,{meaningfulScript:ue,type:ne?"p2sh-p2wsh":F?"p2sh":le?"p2wsh":"raw"}}function Me(m){if((0,h.isP2WPKH)(m)||(0,h.isP2SHScript)(m))throw new Error("P2WPKH or P2SH can not be contained within P2WSH")}function Ae(m){return(0,h.isP2WPKH)(m)?"witnesspubkeyhash":(0,h.isP2PKH)(m)?"pubkeyhash":(0,h.isP2MS)(m)?"multisig":(0,h.isP2PK)(m)?"pubkey":"nonstandard"}function x(m){return[...Array(m).keys()]}return oo}var my;function RC(){return my||(my=1,(function(e){Object.defineProperty(e,"__esModule",{value:!0}),e.initEccLib=e.Transaction=e.opcodes=e.Psbt=e.Block=e.script=e.payments=e.networks=e.crypto=e.address=void 0;const t=o_();e.address=t;const n=Un();e.crypto=n;const r=nn();e.networks=r;const a=li();e.payments=a;const o=It();e.script=o;var i=uC();Object.defineProperty(e,"Block",{enumerable:!0,get:function(){return i.Block}});var s=PC();Object.defineProperty(e,"Psbt",{enumerable:!0,get:function(){return s.Psbt}});var c=wf();Object.defineProperty(e,"opcodes",{enumerable:!0,get:function(){return c.OPS}});var u=di();Object.defineProperty(e,"Transaction",{enumerable:!0,get:function(){return u.Transaction}});var d=vf();Object.defineProperty(e,"initEccLib",{enumerable:!0,get:function(){return d.initEccLib}})})(Xu)),Xu}var jf=RC();const NC=Cs(jf),UC=gy({__proto__:null,default:NC},[jf]);var ts=(e=>(e.p2tr="p2tr",e.p2wpkh="p2wpkh",e.p2wsh="p2wsh",e))(ts||{});function HC(e){const{data:t,version:n}=jf.address.fromBech32(e);if(n===0){if(t.length===20)return"p2wpkh";if(t.length===32)return"p2wsh"}if(n===1&&t.length===32)return"p2tr";throw new Error("Invalid BTC address")}async function u_({amount:e,btcAddress:t,token:n,walletAccount:r,env:a}){const o=await r.getChainId(),i=gr(o),s={token:n,chainId:o,provider:i},c=yr({...s,contractType:"token",env:a}),u=Number(await c.decimals()),d=Gk(e,u),h=yr({...s,contractType:"bridge",env:a}),f=await y_(t,o===_e.SN_MAIN?We.prod:We.stage),l=HC(t);let g;if(l===ts.p2tr||l===ts.p2wsh){const y=`0x${f.slice(2,64)}`,_=`0x${f.slice(64)||"0"}`;g={data:[y],pending_word:_,pending_word_len:f.slice(64).length/2}}if(l===ts.p2wpkh&&(g={data:[],pending_word:`0x${f.slice(2)}`,pending_word_len:f.slice(2).length/2}),!g)throw t3;const{transaction_hash:b}=await r.execute({contractAddress:h.address,entrypoint:"redeem",calldata:xe.compile({script_pub_key:g,amount:ms.bnToUint256(d.toNumber())})});return b}const LC=["public_key","get_public_key","get_owner","getSigner"];async function DC(e,t){let n;const r=await t.getChainId();for(const a of LC)try{const o=await t.callContract({contractAddress:e,entrypoint:a});Aw.isHex(o[0])&&(n=o[0])}catch{}if(!n)throw QI(e,r);return n}function FC(e,t){const n=[0,1],r=[];try{for(const a of n){const i=e.addRecoveryBit(a).recoverPublicKey(MC(t)).toHex(!1);r.push(`0x${i}`)}}catch{}return r}function MC(e){let n=(typeof e=="bigint"?e:BigInt(e)).toString(16);return n.length%2&&(n=`0${n}`),Uint8Array.from(Buffer.from(n,"hex"))}function qC(e,t){let n,r;if(e.length===2){const[a,o]=e;n=a,r=o}else if(t==="Braavos"||e.length===3&&e[0]==="1"){const[a,o,i]=e;n=o,r=i}else{if(t==="Keplr"||e.length===5&&e.filter(a=>a.startsWith("0x")).length===5)throw n3(t);{const[a,o,i,s,c,u,d,h,f]=e;n=s,r=c}}if(n&&r)return new hs.starkCurve.Signature(BigInt(n),BigInt(r));throw e3}const l_=(e,t)=>({types:{PersonalMessage:[{name:"message",type:"string"}],StarknetDomain:[{name:"name",type:"shortstring"},{name:"chainId",type:"shortstring"},{name:"version",type:"shortstring"}]},primaryType:"PersonalMessage",domain:{name:"Lombard Staked Bitcoin",version:"1.0.0",revision:Ie.ACTIVE,chainId:e},message:{message:t}});async function xf({message:e,walletAccount:t,chainId:n=_e.SN_MAIN}){const r=l_(n,e),a=process.env.SKIP_STARKNET_VERIFY==="true";t.walletProvider.name.toLowerCase().includes("kelpr")&&console.warn("Keplr wallet is not fully supported.");const o=await t.hashMessage(r),i=await t.signMessage(r),s=gr(n),c=await DC(t.address,s);let u=!1;a||(u=await gr(n).verifyMessageInStarknet(o,i,t.address));const d=qC(i,t.walletProvider.name);let h;if(d instanceof hs.starkCurve.Signature){h=FC(d,o).map(g=>({fullPubKey:g,verified:_k.verifyMessage(o,d,g)}));const l=h.find(g=>g.fullPubKey.includes(c.slice(2)));l&&(h=[l])}return{hash:o,typedData:r,signature:i,signatureHex:d instanceof hs.starkCurve.Signature?`0x${d.toCompactHex()}`:d,account:`0x${t.address.slice(2).padStart(64,"0")}`,pubKey:c,verifiedOnChain:u,verifiedOffChain:h}}async function d_({walletAccount:e,chainId:t=_e.SN_MAIN}){return xf({walletAccount:e,chainId:t,message:`destination chain id is ${gf(t)}`})}const VC="I have read and agreed to the terms of service: https://docs.lombard.finance/legals/terms-of-service";async function $C({walletAccount:e,chainId:t=_e.SN_MAIN}){const n=await xf({message:VC,walletAccount:e,chainId:t});return{signature:Array.isArray(n.signature)?JSON.stringify(n.signature):n.signature.toString(),signatureHex:n.signatureHex,account:n.account,pubKey:n.pubKey}}class GC{constructor(t){this.getProvider=t}async signLbtcDestination(t){const a=(await this.getProvider()).getProvider(),o=await d_({walletAccount:a,chainId:t.chainId});return{signature:o.signatureHex,pubKey:o.pubKey}}async unstake(t){const a=(await this.getProvider()).getProvider();return{txHash:await u_({amount:t.amount,btcAddress:t.btcAddress,token:yf.LBTC,walletAccount:a,env:t.env})}}}function KC(){return{id:"starknet",chain:"starknet",requiresProviders:["starknet"],register(e){return new GC(()=>e.getProvider("starknet"))}}}exports.SIGN_MESSAGE_TYPED_DATA=l_;exports.StarknetChain=Vk;exports.StarknetChainId=_e;exports.Token=yf;exports.approve=c3;exports.balanceOf=u3;exports.getDefaultExportFromCjs=Cs;exports.getRpcProvider=gr;exports.getTokenContract=yr;exports.getTokenInfo=$k;exports.makeDestinationChainId=gf;exports.mint=U3;exports.redeem=u_;exports.requireSha2=r_;exports.requireUtils=Ks;exports.signLbtcDestinationAddrStarknet=d_;exports.signMessage=xf;exports.signTermsOfService=$C;exports.starknetModule=KC;
|
|
228
|
+
*********************`),le=F.hashForSignature(m,pe,ne)}return{script:pe,sighashType:ne,hash:le}}function W(m,p,E,j){const O=[];if(p.tapInternalKey){const ne=U(m,p,j);ne&&O.push(ne)}if(p.tapScriptSig){const ne=p.tapScriptSig.map(le=>le.pubkey);O.push(...ne)}return O.map(ne=>Y(m,p,E,ne,j)).flat()}function U(m,p,E){const{script:j}=ce(m,p,E);return(0,h.isP2TR)(j)?j.subarray(2,34):null}function K(m){return m.length===64?m:m.subarray(0,64)}function Y(m,p,E,j,O,F,ne){const le=O.__TX,ue=p.sighashType||u.Transaction.SIGHASH_DEFAULT;de(ue,ne);const pe=E.map((De,_r)=>ce(_r,De,O)),he=pe.map(De=>De.script),Pe=pe.map(De=>De.value),ft=[];if(p.tapInternalKey&&!F){const De=U(m,p,O)||Buffer.from([]);if((0,d.toXOnly)(j).equals(De)){const _r=le.hashForWitnessV1(m,he,Pe,ue);ft.push({pubkey:j,hash:_r})}}const kr=(p.tapLeafScript||[]).filter(De=>(0,h.pubkeyInScript)(j,De.script)).map(De=>{const _r=(0,s.tapleafHash)({output:De.script,version:De.leafVersion});return Object.assign({hash:_r},De)}).filter(De=>!F||F.equals(De.hash)).map(De=>{const _r=le.hashForWitnessV1(m,he,Pe,u.Transaction.SIGHASH_DEFAULT,De.hash);return{pubkey:j,hash:_r,leafHash:De.hash}});return ft.concat(kr)}function de(m,p){if(p&&p.indexOf(m)<0){const E=G(m);throw new Error(`Sighash type is not allowed. Retry the sign method passing the sighashTypes array of whitelisted types. Sighash type: ${E}`)}}function te(m,p,E){let j;switch(p){case"multisig":const O=ae(m,E);j=i.p2ms({output:m,signatures:O});break;case"pubkey":j=i.p2pk({output:m,signature:E[0].signature});break;case"pubkeyhash":j=i.p2pkh({output:m,pubkey:E[0].pubkey,signature:E[0].signature});break;case"witnesspubkeyhash":j=i.p2wpkh({output:m,pubkey:E[0].pubkey,signature:E[0].signature});break}return j}function re(m,p,E){const j=E.__TX,O={script:null,isSegwit:!1,isP2SH:!1,isP2WSH:!1};if(O.isP2SH=!!p.redeemScript,O.isP2WSH=!!p.witnessScript,p.witnessScript)O.script=p.witnessScript;else if(p.redeemScript)O.script=p.redeemScript;else if(p.nonWitnessUtxo){const F=J(E,p,m),ne=j.ins[m].index;O.script=F.outs[ne].script}else p.witnessUtxo&&(O.script=p.witnessUtxo.script);return(p.witnessScript||(0,h.isP2WPKH)(O.script))&&(O.isSegwit=!0),O}function oe(m,p,E){const j=(0,n.checkForInput)(p,m);if(!j.bip32Derivation||j.bip32Derivation.length===0)throw new Error("Need bip32Derivation to sign with HD");const O=j.bip32Derivation.map(ne=>{if(ne.masterFingerprint.equals(E.fingerprint))return ne}).filter(ne=>!!ne);if(O.length===0)throw new Error("Need one bip32Derivation masterFingerprint to match the HDSigner fingerprint");return O.map(ne=>{const le=E.derivePath(ne.path);if(!ne.pubkey.equals(le.publicKey))throw new Error("pubkey did not match bip32Derivation");return le})}function ae(m,p){return i.p2ms({output:m}).pubkeys.map(j=>(p.filter(O=>O.pubkey.equals(j))[0]||{}).signature).filter(j=>!!j)}function se(m){let p=0;function E(ne){return p+=ne,m.slice(p-ne,p)}function j(){const ne=t.decode(m,p);return p+=t.decode.bytes,ne}function O(){return E(j())}function F(){const ne=j(),le=[];for(let ue=0;ue<ne;ue++)le.push(O());return le}return F()}function G(m){let p=m&u.Transaction.SIGHASH_ANYONECANPAY?"SIGHASH_ANYONECANPAY | ":"";switch(m&31){case u.Transaction.SIGHASH_ALL:p+="SIGHASH_ALL";break;case u.Transaction.SIGHASH_SINGLE:p+="SIGHASH_SINGLE";break;case u.Transaction.SIGHASH_NONE:p+="SIGHASH_NONE";break}return p}function N(m,p,E){m.__NON_WITNESS_UTXO_BUF_CACHE[E]=p.nonWitnessUtxo;const j=u.Transaction.fromBuffer(p.nonWitnessUtxo);m.__NON_WITNESS_UTXO_TX_CACHE[E]=j;const O=m,F=E;delete p.nonWitnessUtxo,Object.defineProperty(p,"nonWitnessUtxo",{enumerable:!0,get(){const ne=O.__NON_WITNESS_UTXO_BUF_CACHE[F],le=O.__NON_WITNESS_UTXO_TX_CACHE[F];if(ne!==void 0)return ne;{const ue=le.toBuffer();return O.__NON_WITNESS_UTXO_BUF_CACHE[F]=ue,ue}},set(ne){O.__NON_WITNESS_UTXO_BUF_CACHE[F]=ne}})}function L(m,p,E,j){let O=0;m.forEach((ue,pe)=>{if(j&&ue.finalScriptSig&&(p.ins[pe].script=ue.finalScriptSig),j&&ue.finalScriptWitness&&(p.ins[pe].witness=se(ue.finalScriptWitness)),ue.witnessUtxo)O+=ue.witnessUtxo.value;else if(ue.nonWitnessUtxo){const he=J(E,ue,pe),Pe=p.ins[pe].index,ft=he.outs[Pe];O+=ft.value}});const F=p.outs.reduce((ue,pe)=>ue+pe.value,0),ne=O-F;if(ne<0)throw new Error("Outputs are spending more than Inputs");const le=p.virtualSize();E.__FEE=ne,E.__EXTRACTED_TX=p,E.__FEE_RATE=Math.floor(ne/le)}function J(m,p,E){const j=m.__NON_WITNESS_UTXO_TX_CACHE;return j[E]||N(m,p,E),j[E]}function Z(m,p,E){const{script:j}=ce(m,p,E);return j}function ce(m,p,E){if(p.witnessUtxo!==void 0)return{script:p.witnessUtxo.script,value:p.witnessUtxo.value};if(p.nonWitnessUtxo!==void 0){const O=J(E,p,m).outs[E.__TX.ins[m].index];return{script:O.script,value:O.value}}else throw new Error("Can't find pubkey in input without Utxo data")}function fe(m,p,E,j){const O=Z(E,p,j),{meaningfulScript:F}=Ge(O,E,"input",p.redeemScript,p.witnessScript);return(0,h.pubkeyInScript)(m,F)}function ge(m,p,E,j){const O=j.__TX.outs[E].script,{meaningfulScript:F}=Ge(O,E,"output",p.redeemScript,p.witnessScript);return(0,h.pubkeyInScript)(m,F)}function Q(m){if(!m)return;const p=c.decompile(m);if(!p)return;const E=p[p.length-1];if(!(!Buffer.isBuffer(E)||Be(E)||Fe(E)||!c.decompile(E)))return E}function ke(m){if(!m)return;const p=se(m),E=p[p.length-1];if(!(Be(E)||!c.decompile(E)))return E}function me(m){if(m.length===65){const p=m[64]&1,E=m.slice(0,33);return E[0]=2|p,E}return m.slice()}function Be(m){return m.length===33&&c.isCanonicalPubKey(m)}function Fe(m){return c.isCanonicalScriptSignature(m)}function Ge(m,p,E,j,O){const F=(0,h.isP2SHScript)(m),ne=F&&j&&(0,h.isP2WSHScript)(j),le=(0,h.isP2WSHScript)(m);if(F&&j===void 0)throw new Error("scriptPubkey is P2SH but redeemScript missing");if((le||ne)&&O===void 0)throw new Error("scriptPubkey or redeemScript is P2WSH but witnessScript missing");let ue;return ne?(ue=O,R(p,m,j,E),$(p,j,O,E),Me(ue)):le?(ue=O,$(p,m,O,E),Me(ue)):F?(ue=j,R(p,m,j,E)):ue=m,{meaningfulScript:ue,type:ne?"p2sh-p2wsh":F?"p2sh":le?"p2wsh":"raw"}}function Me(m){if((0,h.isP2WPKH)(m)||(0,h.isP2SHScript)(m))throw new Error("P2WPKH or P2SH can not be contained within P2WSH")}function Ae(m){return(0,h.isP2WPKH)(m)?"witnesspubkeyhash":(0,h.isP2PKH)(m)?"pubkeyhash":(0,h.isP2MS)(m)?"multisig":(0,h.isP2PK)(m)?"pubkey":"nonstandard"}function x(m){return[...Array(m).keys()]}return oo}var my;function RC(){return my||(my=1,(function(e){Object.defineProperty(e,"__esModule",{value:!0}),e.initEccLib=e.Transaction=e.opcodes=e.Psbt=e.Block=e.script=e.payments=e.networks=e.crypto=e.address=void 0;const t=o_();e.address=t;const n=Hn();e.crypto=n;const r=nn();e.networks=r;const a=li();e.payments=a;const o=It();e.script=o;var i=uC();Object.defineProperty(e,"Block",{enumerable:!0,get:function(){return i.Block}});var s=PC();Object.defineProperty(e,"Psbt",{enumerable:!0,get:function(){return s.Psbt}});var c=wf();Object.defineProperty(e,"opcodes",{enumerable:!0,get:function(){return c.OPS}});var u=di();Object.defineProperty(e,"Transaction",{enumerable:!0,get:function(){return u.Transaction}});var d=vf();Object.defineProperty(e,"initEccLib",{enumerable:!0,get:function(){return d.initEccLib}})})(Xu)),Xu}var jf=RC();const NC=Cs(jf),UC=gy({__proto__:null,default:NC},[jf]);var ts=(e=>(e.p2tr="p2tr",e.p2wpkh="p2wpkh",e.p2wsh="p2wsh",e))(ts||{});function HC(e){const{data:t,version:n}=jf.address.fromBech32(e);if(n===0){if(t.length===20)return"p2wpkh";if(t.length===32)return"p2wsh"}if(n===1&&t.length===32)return"p2tr";throw new Error("Invalid BTC address")}async function u_({amount:e,btcAddress:t,token:n,walletAccount:r,env:a}){const o=await r.getChainId(),i=gr(o),s={token:n,chainId:o,provider:i},c=yr({...s,contractType:"token",env:a}),u=Number(await c.decimals()),d=Gk(e,u),h=yr({...s,contractType:"bridge",env:a}),f=await y_(t,o===_e.SN_MAIN?We.prod:We.stage),l=HC(t);let g;if(l===ts.p2tr||l===ts.p2wsh){const y=`0x${f.slice(2,64)}`,_=`0x${f.slice(64)||"0"}`;g={data:[y],pending_word:_,pending_word_len:f.slice(64).length/2}}if(l===ts.p2wpkh&&(g={data:[],pending_word:`0x${f.slice(2)}`,pending_word_len:f.slice(2).length/2}),!g)throw t3;const{transaction_hash:b}=await r.execute({contractAddress:h.address,entrypoint:"redeem",calldata:xe.compile({script_pub_key:g,amount:ms.bnToUint256(d.toNumber())})});return b}const LC=["public_key","get_public_key","get_owner","getSigner"];async function DC(e,t){let n;const r=await t.getChainId();for(const a of LC)try{const o=await t.callContract({contractAddress:e,entrypoint:a});Aw.isHex(o[0])&&(n=o[0])}catch{}if(!n)throw QI(e,r);return n}function FC(e,t){const n=[0,1],r=[];try{for(const a of n){const i=e.addRecoveryBit(a).recoverPublicKey(MC(t)).toHex(!1);r.push(`0x${i}`)}}catch{}return r}function MC(e){let n=(typeof e=="bigint"?e:BigInt(e)).toString(16);return n.length%2&&(n=`0${n}`),Uint8Array.from(Buffer.from(n,"hex"))}function qC(e,t){let n,r;if(e.length===2){const[a,o]=e;n=a,r=o}else if(t==="Braavos"||e.length===3&&e[0]==="1"){const[a,o,i]=e;n=o,r=i}else{if(t==="Keplr"||e.length===5&&e.filter(a=>a.startsWith("0x")).length===5)throw n3(t);{const[a,o,i,s,c,u,d,h,f]=e;n=s,r=c}}if(n&&r)return new hs.starkCurve.Signature(BigInt(n),BigInt(r));throw e3}const l_=(e,t)=>({types:{PersonalMessage:[{name:"message",type:"string"}],StarknetDomain:[{name:"name",type:"shortstring"},{name:"chainId",type:"shortstring"},{name:"version",type:"shortstring"}]},primaryType:"PersonalMessage",domain:{name:"Lombard Staked Bitcoin",version:"1.0.0",revision:Ie.ACTIVE,chainId:e},message:{message:t}});async function xf({message:e,walletAccount:t,chainId:n=_e.SN_MAIN}){const r=l_(n,e),a=process.env.SKIP_STARKNET_VERIFY==="true";t.walletProvider.name.toLowerCase().includes("kelpr")&&console.warn("Keplr wallet is not fully supported.");const o=await t.hashMessage(r),i=await t.signMessage(r),s=gr(n),c=await DC(t.address,s);let u=!1;a||(u=await gr(n).verifyMessageInStarknet(o,i,t.address));const d=qC(i,t.walletProvider.name);let h;if(d instanceof hs.starkCurve.Signature){h=FC(d,o).map(g=>({fullPubKey:g,verified:_k.verifyMessage(o,d,g)}));const l=h.find(g=>g.fullPubKey.includes(c.slice(2)));l&&(h=[l])}return{hash:o,typedData:r,signature:i,signatureHex:d instanceof hs.starkCurve.Signature?`0x${d.toCompactHex()}`:d,account:`0x${t.address.slice(2).padStart(64,"0")}`,pubKey:c,verifiedOnChain:u,verifiedOffChain:h}}async function d_({walletAccount:e,chainId:t=_e.SN_MAIN}){return xf({walletAccount:e,chainId:t,message:`destination chain id is ${gf(t)}`})}const VC="I have read and agreed to the terms of service: https://docs.lombard.finance/legals/terms-of-service";async function $C({walletAccount:e,chainId:t=_e.SN_MAIN}){const n=await xf({message:VC,walletAccount:e,chainId:t});return{signature:Array.isArray(n.signature)?JSON.stringify(n.signature):n.signature.toString(),signatureHex:n.signatureHex,account:n.account,pubKey:n.pubKey}}class GC{constructor(t){this.getProvider=t}async signLbtcDestination(t){const a=(await this.getProvider()).getProvider(),o=await d_({walletAccount:a,chainId:t.chainId});return{signature:o.signatureHex,pubKey:o.pubKey}}async unstake(t){const a=(await this.getProvider()).getProvider();return{txHash:await u_({amount:t.amount,btcAddress:t.btcAddress,token:yf.LBTC,walletAccount:a,env:t.env})}}}function KC(){return{id:"starknet",chain:"starknet",requiresProviders:["starknet"],register(e){return new GC(()=>e.getProvider("starknet"))}}}exports.SIGN_MESSAGE_TYPED_DATA=l_;exports.StarknetChain=Vk;exports.StarknetChainId=_e;exports.Token=yf;exports.approve=c3;exports.balanceOf=u3;exports.getDefaultExportFromCjs=Cs;exports.getRpcProvider=gr;exports.getTokenContract=yr;exports.getTokenInfo=$k;exports.makeDestinationChainId=gf;exports.mint=U3;exports.redeem=u_;exports.requireSha2=r_;exports.requireUtils=Ks;exports.signLbtcDestinationAddrStarknet=d_;exports.signMessage=xf;exports.signTermsOfService=$C;exports.starknetModule=KC;
|
|
229
229
|
//# sourceMappingURL=index2.cjs.map
|