PageSourceSearch

https://smtm.ai/_next/static/chunks/5809.f0e1f7e1d984d4bc.js

js smtm.ai collected 2026-10-05 15:08:38 UTC 382,775 bytes, 1 lines download raw bytes

1"use strict";(self.webpackChunk_N_E=self.webpackChunk_N_E||[]).push([[5809],{45809:function(t,e,r){let n,i,s,a,o,l,u,c,h,f,d,p,g,m,y;r.r(e),r.d(e,{AbiCoder:function(){return rB},AbstractProvider:function(){return la},AbstractSigner:function(){return ld},AlchemyProvider:function(){return lC},AnkrProvider:function(){return lx},BaseContract:function(){return nD},BaseWallet:function(){return uM},Block:function(){return nr},BlockscoutProvider:function(){return us},BrowserProvider:function(){return ui},ChainstackProvider:function(){return lS},CloudflareProvider:function(){return lB},ConstructorFragment:function(){return rP},Contract:function(){return nM},ContractEventPayload:function(){return np},ContractFactory:function(){return nG},ContractTransactionReceipt:function(){return nh},ContractTransactionResponse:function(){return nf},ContractUnknownEventPayload:function(){return nd},EnsPlugin:function(){return oi},EnsResolver:function(){return oj},ErrorDescription:function(){return rD},ErrorFragment:function(){return rv},EtherSymbol:function(){return r3},EtherscanPlugin:function(){return lD},EtherscanProvider:function(){return lG},EventFragment:function(){return rk},EventLog:function(){return nu},EventPayload:function(){return nl},FallbackFragment:function(){return rN},FallbackProvider:function(){return ut},FeeData:function(){return nt},FeeDataNetworkPlugin:function(){return os},FetchCancelSignal:function(){return a5},FetchRequest:function(){return a6},FetchResponse:function(){return a7},FetchUrlFeeDataNetworkPlugin:function(){return oa},FixedNumber:function(){return ub},Fragment:function(){return rw},FunctionFragment:function(){return rR},GasCostPlugin:function(){return on},HDNodeVoidWallet:function(){return cR},HDNodeWallet:function(){return cN},Indexed:function(){return rL},InfuraProvider:function(){return lW},InfuraWebSocketProvider:function(){return lq},Interface:function(){return rH},IpcSocketProvider:function(){return ul},JsonRpcApiProvider:function(){return lP},JsonRpcProvider:function(){return lR},JsonRpcSigner:function(){return lk},LangEn:function(){return uS},Log:function(){return nn},LogDescription:function(){return rU},MaxInt256:function(){return r1},MaxUint256:function(){return r$},MessagePrefix:function(){return r4},MinInt256:function(){return r0},Mnemonic:function(){return uL},MulticoinProviderPlugin:function(){return oH},N:function(){return rY},NamedFragment:function(){return rA},Network:function(){return ol},NetworkPlugin:function(){return or},NonceManager:function(){return un},ParamType:function(){return rb},PocketProvider:function(){return uo},QuickNodeProvider:function(){return lY},Result:function(){return tO},Signature:function(){return i9},SigningKey:function(){return sW},SocketBlockSubscriber:function(){return lz},SocketEventSubscriber:function(){return lQ},SocketPendingSubscriber:function(){return lj},SocketProvider:function(){return l_},SocketSubscriber:function(){return lV},StructFragment:function(){return rI},Transaction:function(){return oS},TransactionDescription:function(){return rF},TransactionReceipt:function(){return ni},TransactionResponse:function(){return ns},Typed:function(){return ex},TypedDataEncoder:function(){return aK},UndecodedEventLog:function(){return nc},UnmanagedSubscriber:function(){return le},Utf8ErrorFuncs:function(){return tr},VoidSigner:function(){return lp},Wallet:function(){return cS},WebSocketProvider:function(){return lK},WeiPerEther:function(){return rX},Wordlist:function(){return uO},WordlistOwl:function(){return uC},WordlistOwlA:function(){return cB},ZeroAddress:function(){return rZ},ZeroHash:function(){return r2},accessListify:function(){return r8},assert:function(){return F},assertArgument:function(){return D},assertArgumentCount:function(){return L},assertNormalize:function(){return G},assertPrivate:function(){return H},authorizationify:function(){return of},checkResultErrors:function(){return tC},computeAddress:function(){return aA},computeHmac:function(){return n9},concat:function(){return q},copyRequest:function(){return ne},dataLength:function(){return W},dataSlice:function(){return Z},decodeBase58:function(){return oM},decodeBase64:function(){return aq},decodeBytes32String:function(){return tl},decodeRlp:function(){return om},decryptCrowdsaleJson:function(){return cC},decryptKeystoreJson:function(){return cf},decryptKeystoreJsonSync:function(){return cc},defaultPath:function(){return cy},defineProperties:function(){return C},dnsEncode:function(){return aw},encodeBase58:function(){return oL},encodeBase64:function(){return aW},encodeBytes32String:function(){return to},encodeRlp:function(){return rj}
1,encryptKeystoreJson:function(){return cm},encryptKeystoreJsonSync:function(){return cg},ensNormalize:function(){return am},ethers:function(){return I},formatEther:function(){return uv},formatUnits:function(){return uA},fromTwos:function(){return th},getAccountPath:function(){return cI},getAddress:function(){return ev},getBigInt:function(){return tp},getBytes:function(){return z},getBytesCopy:function(){return j},getCreate2Address:function(){return r_},getCreateAddress:function(){return rQ},getDefaultProvider:function(){return ur},getIcapAddress:function(){return ek},getIndexedAccountPath:function(){return cx},getNumber:function(){return tb},getUint:function(){return tg},hashAuthorization:function(){return av},hashMessage:function(){return aP},hexlify:function(){return J},id:function(){return eK},isAddress:function(){return rJ},isAddressable:function(){return rK},isBytesLike:function(){return _},isCallException:function(){return B},isCrowdsaleJson:function(){return cO},isError:function(){return S},isHexString:function(){return Q},isKeystoreJson:function(){return co},isValidName:function(){return ay},keccak256:function(){return eg},lock:function(){return iY},makeError:function(){return U},mask:function(){return td},namehash:function(){return ab},parseEther:function(){return uk},parseUnits:function(){return uE},pbkdf2:function(){return iP},randomBytes:function(){return ix},recoverAddress:function(){return aE},resolveAddress:function(){return rW},resolveProperties:function(){return O},ripemd160:function(){return iA},scrypt:function(){return iV},scryptSync:function(){return iz},sha256:function(){return iW},sha512:function(){return iZ},showThrottleMessage:function(){return oe},solidityPacked:function(){return aO},solidityPackedKeccak256:function(){return aC},solidityPackedSha256:function(){return aT},stripZerosLeft:function(){return Y},toBeArray:function(){return tE},toBeHex:function(){return tA},toBigInt:function(){return ty},toNumber:function(){return tw},toQuantity:function(){return tv},toTwos:function(){return tf},toUtf8Bytes:function(){return ti},toUtf8CodePoints:function(){return ta},toUtf8String:function(){return ts},uuidV4:function(){return uP},verifyAuthorization:function(){return ak},verifyMessage:function(){return aN},verifyTypedData:function(){return aJ},version:function(){return x},wordlists:function(){return cU},zeroPadBytes:function(){return tt},zeroPadValue:function(){return $}});var b,w,A,E,v,k,P,N,R={};r.r(R),r.d(R,{dQ:function(){return sd},ci:function(){return si},bytesToNumberBE:function(){return so},ty:function(){return sl},eV:function(){return sf},n$:function(){return sm},ql:function(){return sh},hexToBytes:function(){return sa},tL:function(){return su},S5:function(){return sc},FF:function(){return sb}});var I={};r.r(I),r.d(I,{AbiCoder:function(){return rB},AbstractProvider:function(){return la},AbstractSigner:function(){return ld},AlchemyProvider:function(){return lC},AnkrProvider:function(){return lx},BaseContract:function(){return nD},BaseWallet:function(){return uM},Block:function(){return nr},BlockscoutProvider:function(){return us},BrowserProvider:function(){return ui},ChainstackProvider:function(){return lS},CloudflareProvider:function(){return lB},ConstructorFragment:function(){return rP},Contract:function(){return nM},ContractEventPayload:function(){return np},ContractFactory:function(){return nG},ContractTransactionReceipt:function(){return nh},ContractTransactionResponse:function(){return nf},ContractUnknownEventPayload:function(){return nd},EnsPlugin:function(){return oi},EnsResolver:function(){return oj},ErrorDescription:function(){return rD},ErrorFragment:function(){return rv},EtherSymbol:function(){return r3},EtherscanPlugin:function(){return lD},EtherscanProvider:function(){return lG},EventFragment:function(){return rk},EventLog:function(){return nu},EventPayload:function(){return nl},FallbackFragment:function(){return rN},FallbackProvider:function(){return ut},FeeData:function(){return nt},FeeDataNetworkPlugin:function(){return os},FetchCancelSignal:function(){return a5},FetchRequest:function(){return a6},FetchResponse:function(){return a7},FetchUrlFeeDataNetworkPlugin:function(){return oa},FixedNumber:function(){return ub},Fragment:function(){return rw},FunctionFragment:function(){return rR},GasCostPlugin:function(){return on},HDNodeVoidWallet:function(){return cR},HDNodeWallet:function(){return cN},Indexed:function(){return rL},InfuraProvider:function(){return lW},InfuraWebSocketProvider:function(){return lq},Interface:function(){return rH},IpcSocketProvider:function(){return ul},JsonRpcApiProvider:function(){return lP},JsonRpcProvider:function(){return lR},JsonRpcSigner:function(){return lk},LangEn:function(){return uS},Log:function(){return nn},LogDescription:function(){return rU},MaxInt256:function(){return r1},MaxUint256:function(){return r$},MessagePrefix:function(){return r4},MinInt256:function(){return r0},Mnemonic:function(){return uL},MulticoinProviderPlugin:function(){return oH},N:function(){return rY},NamedFragment:function(){return rA},Network:function(){return ol},NetworkPlugin:function(){return or},NonceManager:function(){return un},ParamType:function(){return rb},PocketProvider:function(){return uo}
1,QuickNodeProvider:function(){return lY},Result:function(){return tO},Signature:function(){return i9},SigningKey:function(){return sW},SocketBlockSubscriber:function(){return lz},SocketEventSubscriber:function(){return lQ},SocketPendingSubscriber:function(){return lj},SocketProvider:function(){return l_},SocketSubscriber:function(){return lV},StructFragment:function(){return rI},Transaction:function(){return oS},TransactionDescription:function(){return rF},TransactionReceipt:function(){return ni},TransactionResponse:function(){return ns},Typed:function(){return ex},TypedDataEncoder:function(){return aK},UndecodedEventLog:function(){return nc},UnmanagedSubscriber:function(){return le},Utf8ErrorFuncs:function(){return tr},VoidSigner:function(){return lp},Wallet:function(){return cS},WebSocketProvider:function(){return lK},WeiPerEther:function(){return rX},Wordlist:function(){return uO},WordlistOwl:function(){return uC},WordlistOwlA:function(){return cB},ZeroAddress:function(){return rZ},ZeroHash:function(){return r2},accessListify:function(){return r8},assert:function(){return F},assertArgument:function(){return D},assertArgumentCount:function(){return L},assertNormalize:function(){return G},assertPrivate:function(){return H},authorizationify:function(){return of},checkResultErrors:function(){return tC},computeAddress:function(){return aA},computeHmac:function(){return n9},concat:function(){return q},copyRequest:function(){return ne},dataLength:function(){return W},dataSlice:function(){return Z},decodeBase58:function(){return oM},decodeBase64:function(){return aq},decodeBytes32String:function(){return tl},decodeRlp:function(){return om},decryptCrowdsaleJson:function(){return cC},decryptKeystoreJson:function(){return cf},decryptKeystoreJsonSync:function(){return cc},defaultPath:function(){return cy},defineProperties:function(){return C},dnsEncode:function(){return aw},encodeBase58:function(){return oL},encodeBase64:function(){return aW},encodeBytes32String:function(){return to},encodeRlp:function(){return rj},encryptKeystoreJson:function(){return cm},encryptKeystoreJsonSync:function(){return cg},ensNormalize:function(){return am},formatEther:function(){return uv},formatUnits:function(){return uA},fromTwos:function(){return th},getAccountPath:function(){return cI},getAddress:function(){return ev},getBigInt:function(){return tp},getBytes:function(){return z},getBytesCopy:function(){return j},getCreate2Address:function(){return r_},getCreateAddress:function(){return rQ},getDefaultProvider:function(){return ur},getIcapAddress:function(){return ek},getIndexedAccountPath:function(){return cx},getNumber:function(){return tb},getUint:function(){return tg},hashAuthorization:function(){return av},hashMessage:function(){return aP},hexlify:function(){return J},id:function(){return eK},isAddress:function(){return rJ},isAddressable:function(){return rK},isBytesLike:function(){return _},isCallException:function(){return B},isCrowdsaleJson:function(){return cO},isError:function(){return S},isHexString:function(){return Q},isKeystoreJson:function(){return co},isValidName:function(){return ay},keccak256:function(){return eg},lock:function(){return iY},makeError:function(){return U},mask:function(){return td},namehash:function(){return ab},parseEther:function(){return uk},parseUnits:function(){return uE},pbkdf2:function(){return iP},randomBytes:function(){return ix},recoverAddress:function(){return aE},resolveAddress:function(){return rW},resolveProperties:function(){return O},ripemd160:function(){return iA},scrypt:function(){return iV},scryptSync:function(){return iz},sha256:function(){return iW},sha512:function(){return iZ},showThrottleMessage:function(){return oe},solidityPacked:function(){return aO},solidityPackedKeccak256:function(){return aC},solidityPackedSha256:function(){return aT},stripZerosLeft:function(){return Y},toBeArray:function(){return tE},toBeHex:function(){return tA},toBigInt:function(){return ty},toNumber:function(){return tw},toQuantity:function(){return tv},toTwos:function(){return tf},toUtf8Bytes:function(){return ti},toUtf8CodePoints:function(){return ta},toUtf8String:function(){return ts},uuidV4:function(){return uP},verifyAuthorization:function(){return ak},verifyMessage:function(){return aN},verifyTypedData:function(){return aJ},version:function(){return x},wordlists:function(){return cU}
1,zeroPadBytes:function(){return tt},zeroPadValue:function(){return $}});let x="6.16.0";async function O(t){let e=Object.keys(t);return(await Promise.all(e.map(e=>Promise.resolve(t[e])))).reduce((t,r,n)=>(t[e[n]]=r,t),{})}function C(t,e,r){for(let n in e){let i=e[n],s=r?r[n]:null;s&&function(t,e,r){let n=e.split("|").map(t=>t.trim());for(let r=0;r<n.length;r++)switch(e){case"any":return;case"bigint":case"boolean":case"number":case"string":if(typeof t===e)return}let i=Error(`invalid value for type ${e}`);throw i.code="INVALID_ARGUMENT",i.argument=`value.${r}`,i.value=t,i}(i,s,n),Object.defineProperty(t,n,{enumerable:!0,value:i,writable:!1})}}function T(t,e){if(null==t)return"null";if(null==e&&(e=new Set),"object"==typeof t){if(e.has(t))return"[Circular]";e.add(t)}if(Array.isArray(t))return"[ "+t.map(t=>T(t,e)).join(", ")+" ]";if(t instanceof Uint8Array){let e="0123456789abcdef",r="0x";for(let n=0;n<t.length;n++)r+=e[t[n]>>4]+e[15&t[n]];return r}if("object"==typeof t&&"function"==typeof t.toJSON)return T(t.toJSON(),e);switch(typeof t){case"boolean":case"number":case"symbol":return t.toString();case"bigint":return BigInt(t).toString();case"string":return JSON.stringify(t);case"object":{let r=Object.keys(t);return r.sort(),"{ "+r.map(r=>`${T(r,e)}: ${T(t[r],e)}`).join(", ")+" }"}}return"[ COULD NOT SERIALIZE ]"}function S(t,e){return t&&t.code===e}function B(t){return S(t,"CALL_EXCEPTION")}function U(t,e,r){let n,i=t;{let n=[];if(r){if("message"in r||"code"in r||"name"in r)throw Error(`value will overwrite populated values: ${T(r)}`);for(let t in r){if("shortMessage"===t)continue;let e=r[t];n.push(t+"="+T(e))}}n.push(`code=${e}`),n.push(`version=${x}`),n.length&&(t+=" ("+n.join(", ")+")")}switch(e){case"INVALID_ARGUMENT":n=TypeError(t);break;case"NUMERIC_FAULT":case"BUFFER_OVERRUN":n=RangeError(t);break;default:n=Error(t)}return C(n,{code:e}),r&&Object.assign(n,r),null==n.shortMessage&&C(n,{shortMessage:i}),n}function F(t,e,r,n){if(!t)throw U(e,r,n)}function D(t,e,r,n){F(t,e,"INVALID_ARGUMENT",{argument:r,value:n})}function L(t,e,r){null==r&&(r=""),r&&(r=": "+r),F(t>=e,"missing argument"+r,"MISSING_ARGUMENT",{count:t,expectedCount:e}),F(t<=e,"too many arguments"+r,"UNEXPECTED_ARGUMENT",{count:t,expectedCount:e})}let M=["NFD","NFC","NFKD","NFKC"].reduce((t,e)=>{try{if("test"!=="test".normalize(e))throw Error("bad");if("NFD"===e){let t=String.fromCharCode(233).normalize("NFD"),e=String.fromCharCode(101,769);if(t!==e)throw Error("broken")}t.push(e)}catch(t){}return t},[]);function G(t){F(M.indexOf(t)>=0,"platform missing String.prototype.normalize","UNSUPPORTED_OPERATION",{operation:"String.prototype.normalize",info:{form:t}})}function H(t,e,r){if(null==r&&(r=""),t!==e){let t=r,e="new";r&&(t+=".",e+=" "+r),F(!1,`private constructor; use ${t}from* methods`,"UNSUPPORTED_OPERATION",{operation:e})}}function V(t,e,r){if(t instanceof Uint8Array)return r?new Uint8Array(t):t;if("string"==typeof t&&t.length%2==0&&t.match(/^0x[0-9a-f]*$/i)){let e=new Uint8Array((t.length-2)/2),r=2;for(let n=0;n<e.length;n++)e[n]=parseInt(t.substring(r,r+2),16),r+=2;return e}D(!1,"invalid BytesLike value",e||"value",t)}function z(t,e){return V(t,e,!1)}function j(t,e){return V(t,e,!0)}function Q(t,e){return!!("string"==typeof t&&t.match(/^0x[0-9A-Fa-f]*$/))&&("number"!=typeof e||t.length===2+2*e)&&(!0!==e||t.length%2==0)}function _(t){return Q(t,!0)||t instanceof Uint8Array}let K="0123456789abcdef";function J(t){let e=z(t),r="0x";for(let t=0;t<e.length;t++){let n=e[t];r+=K[(240&n)>>4]+K[15&n]}return r}function q(t){return"0x"+t.map(t=>J(t).substring(2)).join("")}function W(t){return Q(t,!0)?(t.length-2)/2:z(t).length}function Z(t,e,r){let n=z(t);return null!=r&&r>n.length&&F(!1,"cannot slice beyond data bounds","BUFFER_OVERRUN",{buffer:n,length:n.length,offset:r}),J(n.slice(null==e?0:e,null==r?n.length:r))}function Y(t){let e=J(t).substring(2);for(;e.startsWith("00");)e=e.substring(2);return"0x"+e}function X(t,e,r){let n=z(t);F(e>=n.length,"padding exceeds data length","BUFFER_OVERRUN",{buffer:new Uint8Array(n),length:e,offset:e+1});let i=new Uint8Array(e);return i.fill(0),r?i.set(n,e-n.length):i.set(n,0),J(i)}function $(t,e){return X(t,e,!0)}function tt(t,e){return X(t,e,!1)}function te(t,e,r,n,i){if("BAD_PREFIX"===t||"UNEXPECTED_CONTINUE"===t){let t=0;for(let n=e+1;n<r.length&&r[n]>>6==2;n++)t++;return t}return"OVERRUN"===t?r.length-e-1:0}let tr=Object.freeze({error:function(t,e,r,n,i){D(!1,`invalid codepoint at offset ${e}; ${t}`,"bytes",r)},ignore:te,replace:function(t,e,r,n,i){return"OVERLONG"===t?(D("number"==typeof i,"invalid bad code point for replacement","badCodepoint",i),n.push(i),0):(n.push(65533),te(t,e,r,n,i))}});function tn(t,e){null==e&&(e=tr.error);let r=z(t,"bytes"),n=[],i=0;for(;i<r.length;){let t=r[i++];if(t>>7==0){n.push(t);continue}let s=null,a=null;if((224&t)==192)s=1,a=127;else if((240&t)==224)s=2,a=2047;else if((248&t)==240)s=3,a=65535;else{(192&t)==128?i+=e("UNEXPECTED_CONTINUE",i-1,r,n):i+=e("BAD_PREFIX",i-1,r,n);continue}if(i-1+s>=r.length){i+=e("OVERRUN",i-1,r,n);continue}let o=t&(1<<8-s-1)-1;for(let t=0;t<s;t++){let t=r[i];if((192&t)!=128){i+=e("MISSING_CONTINUE",i,r,n),o=null;break}o=o<<6|63&t,i++}if(null!==o){if(o>1114111){i+=e("OUT_OF_RANGE",i-1-s,r,n,o);continue}if(o>=55296&&o<=57343){i+=e("UTF16_SURROGATE",i-1-s,r,n,o);continue}if(o<=a){i+=e("OVERLONG",i-1-s,r,n,o);continue}n.push(o)}}return n}
1function ti(t,e){D("string"==typeof t,"invalid string value","str",t),null!=e&&(G(e),t=t.normalize(e));let r=[];for(let e=0;e<t.length;e++){let n=t.charCodeAt(e);if(n<128)r.push(n);else if(n<2048)r.push(n>>6|192),r.push(63&n|128);else if((64512&n)==55296){e++;let i=t.charCodeAt(e);D(e<t.length&&(64512&i)==56320,"invalid surrogate pair","str",t);let s=65536+((1023&n)<<10)+(1023&i);r.push(s>>18|240),r.push(s>>12&63|128),r.push(s>>6&63|128),r.push(63&s|128)}else r.push(n>>12|224),r.push(n>>6&63|128),r.push(63&n|128)}return new Uint8Array(r)}function ts(t,e){return tn(t,e).map(t=>t<=65535?String.fromCharCode(t):String.fromCharCode(((t-=65536)>>10&1023)+55296,(1023&t)+56320)).join("")}function ta(t,e){return tn(ti(t,e))}function to(t){let e=ti(t);if(e.length>31)throw Error("bytes32 string must be less than 32 bytes");return tt(e,32)}function tl(t){let e=z(t,"bytes");if(32!==e.length)throw Error("invalid bytes32 - not 32 bytes long");if(0!==e[31])throw Error("invalid bytes32 string - no null terminator");let r=31;for(;0===e[r-1];)r--;return ts(e.slice(0,r))}let tu=BigInt(0),tc=BigInt(1);
1function th(t,e){let r=tg(t,"value"),n=BigInt(tb(e,"width"));return(F(r>>n===tu,"overflow","NUMERIC_FAULT",{operation:"fromTwos",fault:"overflow",value:t}),r>>n-tc)?-((~r&(tc<<n)-tc)+tc):r}function tf(t,e){let r=tp(t,"value"),n=BigInt(tb(e,"width")),i=tc<<n-tc;return r<tu?(F((r=-r)<=i,"too low","NUMERIC_FAULT",{operation:"toTwos",fault:"overflow",value:t}),(~r&(tc<<n)-tc)+tc):(F(r<i,"too high","NUMERIC_FAULT",{operation:"toTwos",fault:"overflow",value:t}),r)}function td(t,e){return tg(t,"value")&(tc<<BigInt(tb(e,"bits")))-tc}function tp(t,e){switch(typeof t){case"bigint":return t;case"number":return D(Number.isInteger(t),"underflow",e||"value",t),D(t>=-9007199254740991&&t<=9007199254740991,"overflow",e||"value",t),BigInt(t);case"string":try{if(""===t)throw Error("empty string");if("-"===t[0]&&"-"!==t[1])return-BigInt(t.substring(1));return BigInt(t)}catch(r){D(!1,`invalid BigNumberish string: ${r.message}`,e||"value",t)}}D(!1,"invalid BigNumberish value",e||"value",t)}function tg(t,e){let r=tp(t,e);return F(r>=tu,"unsigned value cannot be negative","NUMERIC_FAULT",{fault:"overflow",operation:"getUint",value:t}),r}let tm="0123456789abcdef";function ty(t){if(t instanceof Uint8Array){let e="0x0";for(let r of t)e+=tm[r>>4]+tm[15&r];return BigInt(e)}return tp(t)}function tb(t,e){switch(typeof t){case"bigint":return D(t>=-9007199254740991&&t<=9007199254740991,"overflow",e||"value",t),Number(t);case"number":return D(Number.isInteger(t),"underflow",e||"value",t),D(t>=-9007199254740991&&t<=9007199254740991,"overflow",e||"value",t),t;case"string":try{if(""===t)throw Error("empty string");return tb(BigInt(t),e)}catch(r){D(!1,`invalid numeric string: ${r.message}`,e||"value",t)}}D(!1,"invalid numeric value",e||"value",t)}function tw(t){return tb(ty(t))}function tA(t,e){let r=tg(t,"value"),n=r.toString(16);if(null==e)n.length%2&&(n="0"+n);else{let i=tb(e,"width");if(0===i&&r===tu)return"0x";for(F(2*i>=n.length,`value exceeds width (${i} bytes)`,"NUMERIC_FAULT",{operation:"toBeHex",fault:"overflow",value:t});n.length<2*i;)n="0"+n}return"0x"+n}function tE(t,e){let r=tg(t,"value");if(r===tu)return new Uint8Array(null!=e?tb(e,"width"):0);let n=r.toString(16);if(n.length%2&&(n="0"+n),null!=e){let r=tb(e,"width");for(;n.length<2*r;)n="00"+n;F(2*r===n.length,`value exceeds width (${r} bytes)`,"NUMERIC_FAULT",{operation:"toBeArray",fault:"overflow",value:t})}let i=new Uint8Array(n.length/2);for(let t=0;t<i.length;t++){let e=2*t;i[t]=parseInt(n.substring(e,e+2),16)}return i}function tv(t){let e=J(_(t)?t:tE(t)).substring(2);for(;e.startsWith("0");)e=e.substring(1);return""===e&&(e="0"),"0x"+e}let tk=new Uint8Array(32),tP=["then"],tN={},tR=new WeakMap;function tI(t){return tR.get(t)}function tx(t,e){let r=Error(`deferred error during ABI decoding triggered accessing ${t}`);throw r.error=e,r}class tO extends Array{#t;constructor(...t){var e,r;let n=t[0],i=t[1],s=(t[2]||[]).slice(),a=!0;n!==tN&&(i=t,s=[],a=!1),super(i.length),i.forEach((t,e)=>{this[e]=t});let o=s.reduce((t,e)=>("string"==typeof e&&t.set(e,(t.get(e)||0)+1),t),new Map);if(e=Object.freeze(i.map((t,e)=>{let r=s[e];return null!=r&&1===o.get(r)?r:null})),tR.set(this,e),this.#t=[],null==this.#t&&this.#t,!a)return;Object.freeze(this);let l=new Proxy(this,{get:(t,e,r)=>{if("string"==typeof e){if(e.match(/^[0-9]+$/)){let r=tb(e,"%index");if(r<0||r>=this.length)throw RangeError("out of result range");let n=t[r];return n instanceof Error&&tx(`index ${r}`,n),n}if(tP.indexOf(e)>=0)return Reflect.get(t,e,r);let n=t[e];if(n instanceof Function)return function(...e){return n.apply(this===r?t:this,e)};if(!(e in t))return t.getValue.apply(this===r?t:this,[e])}return Reflect.get(t,e,r)}});return r=tI(this),tR.set(l,r),l}toArray(t){let e=[];return this.forEach((r,n)=>{r instanceof Error&&tx(`index ${n}`,r),t&&r instanceof tO&&(r=r.toArray(t)),e.push(r)}),e}toObject(t){let e=tI(this);return e.reduce((r,n,i)=>(F(null!=n,`value at index ${i} unnamed`,"UNSUPPORTED_OPERATION",{operation:"toObject()"}),function t(e,r,n){return e.indexOf(null)>=0?r.map((e,r)=>e instanceof tO?t(tI(e),e,n):e):e.reduce((e,i,s)=>{let a=r.getValue(i);return i in e||(n&&a instanceof tO&&(a=t(tI(a),a,n)),e[i]=a),e},{})}(e,this,t)),{})}slice(t,e){null==t&&(t=0),t<0&&(t+=this.length)<0&&(t=0),null==e&&(e=this.length),e<0&&(e+=this.length)<0&&(e=0),e>this.length&&(e=this.length);let r=tI(this),n=[],i=[];for(let s=t;s<e;s++)n.push(this[s]),i.push(r[s]);return new tO(tN,n,i)}filter(t,e){let r=tI(this),n=[],i=[];for(let s=0;s<this.length;s++){let a=this[s];a instanceof Error&&tx(`index ${s}`,a),t.call(e,a,s,this)&&(n.push(a),i.push(r[s]))}return new tO(tN,n,i)}map(t,e){let r=[];for(let n=0;n<this.length;n++){let i=this[n];i instanceof Error&&tx(`index ${n}`,i),r.push(t.call(e,i,n,this))}return r}getValue(t){let e=tI(this).indexOf(t);if(-1===e)return;let r=this[e];return r instanceof Error&&tx(`property ${JSON.stringify(t)}`,r.error),r}static fromItems(t,e){return new tO(tN,t,e)}}function tC(t){let e=[],r=function(t,n){if(Array.isArray(n))for(let i in n){let s=t.slice();s.push(i);try{r(s,n[i])}catch(t){e.push({path:s,error:t})}}};return r([],t),e}function tT(t){let e=tE(t);return F(e.length<=32,"value out-of-bounds","BUFFER_OVERRUN",{buffer:e,length:32,offset:e.length}),32!==e.length&&(e=j(q([tk.slice(e.length%32),e]))),e}class tS{name;type;localName;dynamic;constructor(t,e,r,n){C(this,{name:t,type:e,localName:r,dynamic:n},{name:"string",type:"string",localName:"string",dynamic:"boolean"})}_throwError(t,e){D(!1,t,this.localName,e)}}class tB{#e;#r;constructor(){this.#e=[],this.#r=0}get data(){return q(this.#e)}get length(){return this.#r}#n(t){return this.#e.push(t),this.#r+=t.length,t.length}appendWriter(t){return this.#n(j(t.data))}writeBytes(t){let e=j(t),r=e.length%32;return r&&(e=j(q([e,tk.slice(r)]))),this.#n(e)}writeValue(t){return this.#n(tT(t))}writeUpdatableValue(){let t=this.#e.length;return this.#e.push(tk),this.#r+=32,e=>{this.#e[t]=tT(e)}}}class tU{allowLoose;#e;#i;#s;#a;#o;constructor(t,e,r){C(this,{allowLoose:!!e}),this.#e=j(t),this.#s=0,this.#a=null,this.#o=null!=r?r:1024,this.#i=0}get data(){return J(this.#e)}get dataLength(){return this.#e.length}get consumed(){return this.#i}get bytes(){return new Uint8Array(this.#e)}#l(t){if(this.#a)return this.#a.#l(t);
1this.#s+=t,F(this.#o<1||this.#s<=this.#o*this.dataLength,`compressed ABI data exceeds inflation ratio of ${this.#o} ( see: https://github.com/ethers-io/ethers.js/issues/4537 )`,"BUFFER_OVERRUN",{buffer:j(this.#e),offset:this.#i,length:t,info:{bytesRead:this.#s,dataLength:this.dataLength}})}#u(t,e,r){let n=32*Math.ceil(e/32);return this.#i+n>this.#e.length&&(this.allowLoose&&r&&this.#i+e<=this.#e.length?n=e:F(!1,"data out-of-bounds","BUFFER_OVERRUN",{buffer:j(this.#e),length:this.#e.length,offset:this.#i+n})),this.#e.slice(this.#i,this.#i+n)}subReader(t){let e=new tU(this.#e.slice(this.#i+t),this.allowLoose,this.#o);return e.#a=this,e}readBytes(t,e){let r=this.#u(0,t,!!e);return this.#l(t),this.#i+=r.length,r.slice(0,t)}readValue(){return ty(this.readBytes(32))}readIndex(){return tw(this.readBytes(32))}}function tF(t){if(!Number.isSafeInteger(t)||t<0)throw Error(`Wrong positive integer: ${t}`)}function tD(t,...e){if(!(t instanceof Uint8Array))throw Error("Expected Uint8Array");if(e.length>0&&!e.includes(t.length))throw Error(`Expected Uint8Array of length ${e}, not of length=${t.length}`)}function tL(t){if("function"!=typeof t||"function"!=typeof t.create)throw Error("Hash should be wrapped by utils.wrapConstructor");tF(t.outputLen),tF(t.blockLen)}function tM(t,e=!0){if(t.destroyed)throw Error("Hash instance has been destroyed");if(e&&t.finished)throw Error("Hash#digest() has already been called")}function tG(t,e){tD(t);let r=e.outputLen;if(t.length<r)throw Error(`digestInto() expects output buffer of length at least ${r}`)}let tH=BigInt(4294967296-1),tV=BigInt(32);function tz(t,e=!1){let r=new Uint32Array(t.length),n=new Uint32Array(t.length);for(let i=0;i<t.length;i++){let{h:s,l:a}=function(t,e=!1){return e?{h:Number(t&tH),l:Number(t>>tV&tH)}:{h:0|Number(t>>tV&tH),l:0|Number(t&tH)}}(t[i],e);[r[i],n[i]]=[s,a]}return[r,n]}let tj=(t,e,r)=>t<<r|e>>>32-r,tQ=(t,e,r)=>e<<r|t>>>32-r,t_=(t,e,r)=>e<<r-32|t>>>64-r,tK=(t,e,r)=>t<<r-32|e>>>64-r;var tJ={split:tz,shrSH:(t,e,r)=>t>>>r,shrSL:(t,e,r)=>t<<32-r|e>>>r,rotrSH:(t,e,r)=>t>>>r|e<<32-r,rotrSL:(t,e,r)=>t<<32-r|e>>>r,rotrBH:(t,e,r)=>t<<64-r|e>>>r-32,rotrBL:(t,e,r)=>t>>>r-32|e<<64-r,add:function(t,e,r,n){let i=(e>>>0)+(n>>>0);return{h:t+r+(i/4294967296|0)|0,l:0|i}},add3L:(t,e,r)=>(t>>>0)+(e>>>0)+(r>>>0),add3H:(t,e,r,n)=>e+r+n+(t/4294967296|0)|0,add4L:(t,e,r,n)=>(t>>>0)+(e>>>0)+(r>>>0)+(n>>>0),add4H:(t,e,r,n,i)=>e+r+n+i+(t/4294967296|0)|0,add5H:(t,e,r,n,i,s)=>e+r+n+i+s+(t/4294967296|0)|0,add5L:(t,e,r,n,i)=>(t>>>0)+(e>>>0)+(r>>>0)+(n>>>0)+(i>>>0)};let tq="object"==typeof globalThis&&"crypto"in globalThis?globalThis.crypto:void 0,tW=t=>t instanceof Uint8Array,tZ=t=>new Uint32Array(t.buffer,t.byteOffset,Math.floor(t.byteLength/4)),tY=t=>new DataView(t.buffer,t.byteOffset,t.byteLength),tX=(t,e)=>t<<32-e|t>>>e;if(68!==new Uint8Array(new Uint32Array([287454020]).buffer)[0])throw Error("Non little-endian hardware is not supported");let t$=async()=>{};async function t0(t,e,r){let n=Date.now();for(let i=0;i<t;i++){r(i);let t=Date.now()-n;t>=0&&t<e||(await t$(),n+=t)}}function t1(t){if("string"==typeof t&&(t=function(t){if("string"!=typeof t)throw Error(`utf8ToBytes expected string, got ${typeof t}`);return new Uint8Array(new TextEncoder().encode(t))}(t)),!tW(t))throw Error(`expected Uint8Array, got ${typeof t}`);return t}class t2{clone(){return this._cloneInto()}}let t3={}.toString;function t4(t,e){if(void 0!==e&&"[object Object]"!==t3.call(e))throw Error("Options should be object or undefined");return Object.assign(t,e)}function t5(t){let e=e=>t().update(t1(e)).digest(),r=t();return e.outputLen=r.outputLen,e.blockLen=r.blockLen,e.create=()=>t(),e}function t8(t=32){if(tq&&"function"==typeof tq.getRandomValues)return tq.getRandomValues(new Uint8Array(t));throw Error("crypto.getRandomValues must be defined")}let[t6,t7,t9]=[[],[],[]],et=BigInt(0),ee=BigInt(1),er=BigInt(2),en=BigInt(7),ei=BigInt(256),es=BigInt(113);for(let t=0,e=ee,r=1,n=0;t<24;t++){[r,n]=[n,(2*r+3*n)%5],t6.push(2*(5*n+r)),t7.push((t+1)*(t+2)/2%64);let i=et;for(let t=0;t<7;t++)(e=(e<<ee^(e>>en)*es)%ei)&er&&(i^=ee<<(ee<<BigInt(t))-ee);t9.push(i)}let[ea,eo]=tz(t9,!0),el=(t,e,r)=>r>32?t_(t,e,r):tj(t,e,r),eu=(t,e,r)=>r>32?tK(t,e,r):tQ(t,e,r);class ec extends t2{constructor(t,e,r,n=!1,i=24){if(super(),this.blockLen=t,this.suffix=e,this.outputLen=r,this.enableXOF=n,this.rounds=i,this.pos=0,this.posOut=0,this.finished=!1,this.destroyed=!1,tF(r),0>=this.blockLen||this.blockLen>=200)throw Error("Sha3 supports only keccak-f1600 function");this.state=new Uint8Array(200),this.state32=tZ(this.state)}keccak(){!function(t,e=24){let r=new Uint32Array(10);for(let n=24-e;n<24;n++){for(let e=0;e<10;e++)r[e]=t[e]^t[e+10]^t[e+20]^t[e+30]^t[e+40];for(let e=0;e<10;e+=2){let n=(e+8)%10,i=(e+2)%10,s=r[i],a=r[i+1],o=el(s,a,1)^r[n],l=eu(s,a,1)^r[n+1];for(let r=0;r<50;
1r+=10)t[e+r]^=o,t[e+r+1]^=l}let e=t[2],i=t[3];for(let r=0;r<24;r++){let n=t7[r],s=el(e,i,n),a=eu(e,i,n),o=t6[r];e=t[o],i=t[o+1],t[o]=s,t[o+1]=a}for(let e=0;e<50;e+=10){for(let n=0;n<10;n++)r[n]=t[e+n];for(let n=0;n<10;n++)t[e+n]^=~r[(n+2)%10]&r[(n+4)%10]}t[0]^=ea[n],t[1]^=eo[n]}r.fill(0)}(this.state32,this.rounds),this.posOut=0,this.pos=0}update(t){tM(this);let{blockLen:e,state:r}=this,n=(t=t1(t)).length;for(let i=0;i<n;){let s=Math.min(e-this.pos,n-i);for(let e=0;e<s;e++)r[this.pos++]^=t[i++];this.pos===e&&this.keccak()}return this}finish(){if(this.finished)return;this.finished=!0;let{state:t,suffix:e,pos:r,blockLen:n}=this;t[r]^=e,(128&e)!=0&&r===n-1&&this.keccak(),t[n-1]^=128,this.keccak()}writeInto(t){tM(this,!1),tD(t),this.finish();let e=this.state,{blockLen:r}=this;for(let n=0,i=t.length;n<i;){this.posOut>=r&&this.keccak();let s=Math.min(r-this.posOut,i-n);t.set(e.subarray(this.posOut,this.posOut+s),n),this.posOut+=s,n+=s}return t}xofInto(t){if(!this.enableXOF)throw Error("XOF is not possible for this instance");return this.writeInto(t)}xof(t){return tF(t),this.xofInto(new Uint8Array(t))}digestInto(t){if(tG(t,this),this.finished)throw 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){let{blockLen:e,suffix:r,outputLen:n,rounds:i,enableXOF:s}=this;return t||(t=new ec(e,r,n,s,i)),t.state32.set(this.state32),t.pos=this.pos,t.posOut=this.posOut,t.finished=this.finished,t.rounds=i,t.suffix=r,t.outputLen=n,t.enableXOF=s,t.destroyed=this.destroyed,t}}let eh=t5(()=>new ec(136,1,32)),ef=!1,ed=function(t){return eh(t)},ep=ed;function eg(t){let e=z(t,"data");return J(ep(e))}eg._=ed,eg.lock=function(){ef=!0},eg.register=function(t){if(ef)throw TypeError("keccak256 is locked");ep=t},Object.freeze(eg);let em=BigInt(0),ey=BigInt(36);function eb(t){let e=(t=t.toLowerCase()).substring(2).split(""),r=new Uint8Array(40);for(let t=0;t<40;t++)r[t]=e[t].charCodeAt(0);let n=z(eg(r));for(let t=0;t<40;t+=2)n[t>>1]>>4>=8&&(e[t]=e[t].toUpperCase()),(15&n[t>>1])>=8&&(e[t+1]=e[t+1].toUpperCase());return"0x"+e.join("")}let ew={};for(let t=0;t<10;t++)ew[String(t)]=String(t);for(let t=0;t<26;t++)ew[String.fromCharCode(65+t)]=String(10+t);function eA(t){let e=(t=(t=t.toUpperCase()).substring(4)+t.substring(0,2)+"00").split("").map(t=>ew[t]).join("");for(;e.length>=15;){let t=e.substring(0,15);e=parseInt(t,10)%97+e.substring(t.length)}let r=String(98-parseInt(e,10)%97);for(;r.length<2;)r="0"+r;return r}let eE=function(){let t={};for(let e=0;e<36;e++)t["0123456789abcdefghijklmnopqrstuvwxyz"[e]]=BigInt(e);return t}();function ev(t){if(D("string"==typeof t,"invalid address","address",t),t.match(/^(0x)?[0-9a-fA-F]{40}$/)){t.startsWith("0x")||(t="0x"+t);let e=eb(t);return D(!t.match(/([A-F].*[a-f])|([a-f].*[A-F])/)||e===t,"bad address checksum","address",t),e}if(t.match(/^XE[0-9]{2}[0-9A-Za-z]{30,31}$/)){D(t.substring(2,4)===eA(t),"bad icap checksum","address",t);let e=(function(t){t=t.toLowerCase();let e=em;for(let r=0;r<t.length;r++)e=e*ey+eE[t[r]];return e})(t.substring(4)).toString(16);for(;e.length<40;)e="0"+e;return eb("0x"+e)}D(!1,"invalid address","address",t)}function ek(t){let e=BigInt(ev(t)).toString(36).toUpperCase();for(;e.length<30;)e="0"+e;return"XE"+eA("XE00"+e)+e}let eP={};function eN(t,e){let r=!1;return e<0&&(r=!0,e*=-1),new ex(eP,`${r?"":"u"}int${e}`,t,{signed:r,width:e})}function eR(t,e){return new ex(eP,`bytes${e||""}`,t,{size:e})}let eI=Symbol.for("_ethers_typed");class ex{type;value;#c;_typedSymbol;constructor(t,e,r,n){null==n&&(n=null),H(eP,t,"Typed"),C(this,{_typedSymbol:eI,type:e,value:r}),this.#c=n,this.format()}format(){if("array"===this.type||"dynamicArray"===this.type)throw Error("");return"tuple"===this.type?`tuple(${this.value.map(t=>t.format()).join(",")})`:this.type}defaultValue(){return 0}minValue(){return 0}maxValue(){return 0}isBigInt(){return!!this.type.match(/^u?int[0-9]+$/)}isData(){return this.type.startsWith("bytes")}isString(){return"string"===this.type}get tupleName(){if("tuple"!==this.type)throw TypeError("not a tuple");return this.#c}get arrayLength(){if("array"!==this.type)throw TypeError("not an array");return!0===this.#c?-1:!1===this.#c?this.value.length:null}static from(t,e){return new ex(eP,t,e)}static uint8(t){return eN(t,8)}static uint16(t){return eN(t,16)}static uint24(t){return eN(t,24)}static uint32(t){return eN(t,32)}static uint40(t){return eN(t,40)}static uint48(t){return eN(t,48)}static uint56(t){return eN(t,56)}static uint64(t){return eN(t,64)}static uint72(t){return eN(t,72)}static uint80(t){return eN(t,80)}static uint88(t){return eN(t,88)}static uint96(t){return eN(t,96)}static uint104(t){return eN(t,104)}static uint112(t){return eN(t,112)}static uint120(t){return eN(t,120)}static uint128(t){return eN(t,128)}static uint136(t){return eN(t,136)}static uint144(t){return eN(t,144)}static uint152(t){return eN(t,152)}static uint160(t){return eN(t,160)}static uint168(t){return eN(t,168)}static uint176(t){return eN(t,176)}static uint184(t){return eN(t,184)}static uint192(t){return eN(t,192)}static uint200(t){return eN(t,200)}static uint208(t){return eN(t,208)}static uint216(t){return eN(t,216)}static uint224(t){return eN(t,224)}static uint232(t){return eN(t,232)}static uint240(t){return eN(t,240)}static uint248(t){return eN(t,248)}static uint256(t){return eN(t,256)}static uint(t){return eN(t,256)}static int8(t){return eN(t,-8)}static int16(t){return eN(t,-16)}static int24(t){return eN(t,-24)}static int32(t){return eN(t,-32)}static int40(t){return eN(t,-40)}static int48(t){return eN(t,-48)}static int56(t){return eN(t,-56)}static int64(t){return eN(t,-64)}static int72(t){return eN(t,-72)}static int80(t){return eN(t,-80)}static int88(t){return eN(t,-88)}static int96(t){return eN(t,-96)}static int104(t){return eN(t,-104)}static int112(t){return eN(t,-112)}static int120(t){return eN(t,-120)}static int128(t){return eN(t,-128)}static int136(t){return eN(t,-136)}static int144(t){return eN(t,-144)}static int152(t){return eN(t,-152)}static int160(t){return eN(t,-160)}static int168(t){return eN(t,-168)}static int176(t){return eN(t,-176)}static int184(t){return eN(t,-184)}static int192(t){return eN(t,-192)}static int200(t){return eN(t,-200)}static int208(t){return eN(t,-208)}static int216(t){return eN(t,-216)}static int224(t){return eN(t,-224)}static int232(t){return eN(t,-232)}static int240(t){return eN(t,-240)}static int248(t){return eN(t,-248)}static int256(t){return eN(t,-256)}static int(t){return eN(t,-256)}static bytes1(t){return eR(t,1)}static bytes2(t){return eR(t,2)}static bytes3(t){return eR(t,3)}static bytes4(t){return eR(t,4)}static bytes5(t){return eR(t,5)}static bytes6(t){return eR(t,6)}static bytes7(t){return eR(t,7)}static bytes8(t){return eR(t,8)}static bytes9(t){return eR(t,9)}static bytes10(t){return eR(t,10)}static bytes11(t){return eR(t,11)}static bytes12(t){return eR(t,12)}static bytes13(t){return eR(t,13)}static bytes14(t){return eR(t,14)}static bytes15(t){return eR(t,15)}static bytes16(t){return eR(t,16)}static bytes17(t){return eR(t,17)}static bytes18(t){return eR(t,18)}static bytes19(t){return eR(t,19)}static bytes20(t){return eR(t,20)}static bytes21(t){return eR(t,21)}static bytes22(t){return eR(t,22)}static bytes23(t){return eR(t,23)}static bytes24(t){return eR(t,24)}static bytes25(t){return eR(t,25)}static bytes26(t){return eR(t,26)}static bytes27(t){return eR(t,27)}static bytes28(t){return eR(t,28)}static bytes29(t){return eR(t,29)}static bytes30(t){return eR(t,30)}static bytes31(t){return eR(t,31)}static bytes32(t){return eR(t,32)}static address(t){return new ex(eP,"address",t)}static bool(t){return new ex(eP,"bool",!!t)}static bytes(t){return new ex(eP,"bytes",t)}static string(t){return new ex(eP,"string",t)}static array(t,e){throw Error("not implemented yet")}static tuple(t,e){throw Error("not implemented yet")}static overrides(t){return new ex(eP,"overrides",Object.assign({},t))}static isTyped(t){return t&&"object"==typeof t&&"_typedSymbol"in t&&t._typedSymbol===eI}static dereference(t,e){if(ex.isTyped(t)){if(t.type!==e)throw Error(`invalid type: expecetd ${e}, got ${t.type}`);return t.value}return t}}class eO extends tS{constructor(t){super("address","address",t,!1)}defaultValue(){return"0x0000000000000000000000000000000000000000"}encode(t,e){let r=ex.dereference(e,"string");try{r=ev(r)}catch(t){return this._throwError(t.message,e)}return t.writeValue(r)}decode(t){return ev(tA(t.readValue(),20))}}class eC extends tS{coder;constructor(t){super(t.name,t.type,"_",t.dynamic),this.coder=t}
1defaultValue(){return this.coder.defaultValue()}encode(t,e){return this.coder.encode(t,e)}decode(t){return this.coder.decode(t)}}function eT(t,e,r){let n=[];if(Array.isArray(r))n=r;else if(r&&"object"==typeof r){let t={};n=e.map(e=>{let n=e.localName;return F(n,"cannot encode object for signature with missing names","INVALID_ARGUMENT",{argument:"values",info:{coder:e},value:r}),F(!t[n],"cannot encode object for signature with duplicate names","INVALID_ARGUMENT",{argument:"values",info:{coder:e},value:r}),t[n]=!0,r[n]})}else D(!1,"invalid tuple value","tuple",r);D(e.length===n.length,"types/value length mismatch","tuple",r);let i=new tB,s=new tB,a=[];return e.forEach((t,e)=>{let r=n[e];if(t.dynamic){let e=s.length;t.encode(s,r);let n=i.writeUpdatableValue();a.push(t=>{n(t+e)})}else t.encode(i,r)}),a.forEach(t=>{t(i.length)}),t.appendWriter(i)+t.appendWriter(s)}function eS(t,e){let r=[],n=[],i=t.subReader(0);return e.forEach(e=>{let s=null;if(e.dynamic){let r=t.readIndex(),n=i.subReader(r);try{s=e.decode(n)}catch(t){if(S(t,"BUFFER_OVERRUN"))throw t;(s=t).baseType=e.name,s.name=e.localName,s.type=e.type}}else try{s=e.decode(t)}catch(t){if(S(t,"BUFFER_OVERRUN"))throw t;(s=t).baseType=e.name,s.name=e.localName,s.type=e.type}if(void 0==s)throw Error("investigate");r.push(s),n.push(e.localName||null)}),tO.fromItems(r,n)}class eB extends tS{coder;length;constructor(t,e,r){super("array",t.type+"["+(e>=0?e:"")+"]",r,-1===e||t.dynamic),C(this,{coder:t,length:e})}defaultValue(){let t=this.coder.defaultValue(),e=[];for(let r=0;r<this.length;r++)e.push(t);return e}encode(t,e){let r=ex.dereference(e,"array");Array.isArray(r)||this._throwError("expected array value",r);let n=this.length;-1===n&&(n=r.length,t.writeValue(r.length)),L(r.length,n,"coder array"+(this.localName?" "+this.localName:""));let i=[];for(let t=0;t<r.length;t++)i.push(this.coder);return eT(t,i,r)}decode(t){let e=this.length;-1===e&&F(32*(e=t.readIndex())<=t.dataLength,"insufficient data length","BUFFER_OVERRUN",{buffer:t.bytes,offset:32*e,length:t.dataLength});let r=[];for(let t=0;t<e;t++)r.push(new eC(this.coder));return eS(t,r)}}class eU extends tS{constructor(t){super("bool","bool",t,!1)}defaultValue(){return!1}encode(t,e){let r=ex.dereference(e,"bool");return t.writeValue(r?1:0)}decode(t){return!!t.readValue()}}class eF extends tS{constructor(t,e){super(t,t,e,!0)}defaultValue(){return"0x"}encode(t,e){return e=j(e),t.writeValue(e.length)+t.writeBytes(e)}decode(t){return t.readBytes(t.readIndex(),!0)}}class eD extends eF{constructor(t){super("bytes",t)}decode(t){return J(super.decode(t))}}class eL extends tS{size;constructor(t,e){let r="bytes"+String(t);super(r,r,e,!1),C(this,{size:t},{size:"number"})}defaultValue(){return"0x0000000000000000000000000000000000000000000000000000000000000000".substring(0,2+2*this.size)}encode(t,e){let r=j(ex.dereference(e,this.type));return r.length!==this.size&&this._throwError("incorrect data length",e),t.writeBytes(r)}decode(t){return J(t.readBytes(this.size))}}let eM=new Uint8Array([]);class eG extends tS{constructor(t){super("null","",t,!1)}defaultValue(){return null}encode(t,e){return null!=e&&this._throwError("not null",e),t.writeBytes(eM)}decode(t){return t.readBytes(0),null}}let eH=BigInt(0),eV=BigInt(1),ez=BigInt("0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff");class ej extends tS{size;signed;constructor(t,e,r){let n=(e?"int":"uint")+8*t;super(n,n,r,!1),C(this,{size:t,signed:e},{size:"number",signed:"boolean"})}defaultValue(){return 0}encode(t,e){let r=tp(ex.dereference(e,this.type)),n=td(ez,256);if(this.signed){let t=td(n,8*this.size-1);(r>t||r<-(t+eV))&&this._throwError("value out-of-bounds",e),r=tf(r,256)}else(r<eH||r>td(n,8*this.size))&&this._throwError("value out-of-bounds",e);return t.writeValue(r)}decode(t){let e=td(t.readValue(),8*this.size);return this.signed&&(e=th(e,8*this.size)),e}}class eQ extends eF{constructor(t){super("string",t)}defaultValue(){return""}encode(t,e){return super.encode(t,ti(ex.dereference(e,"string")))}decode(t){return ts(super.decode(t))}}class e_ extends tS{coders;constructor(t,e){let r=!1,n=[];t.forEach(t=>{t.dynamic&&(r=!0),n.push(t.type)}),super("tuple","tuple("+n.join(",")+")",e,r),C(this,{coders:Object.freeze(t.slice())})}defaultValue(){let t=[];
1this.coders.forEach(e=>{t.push(e.defaultValue())});let e=this.coders.reduce((t,e)=>{let r=e.localName;return r&&(t[r]||(t[r]=0),t[r]++),t},{});return this.coders.forEach((r,n)=>{let i=r.localName;i&&1===e[i]&&("length"===i&&(i="_length"),null==t[i]&&(t[i]=t[n]))}),Object.freeze(t)}encode(t,e){let r=ex.dereference(e,"tuple");return eT(t,this.coders,r)}decode(t){return eS(t,this.coders)}}function eK(t){return eg(ti(t))}function eJ(t){let e=new Set;return t.forEach(t=>e.add(t)),Object.freeze(e)}let eq=eJ("external public payable override".split(" ")),eW="constant external internal payable private public pure view override",eZ=eJ(eW.split(" ")),eY="constructor error event fallback function receive struct",eX=eJ(eY.split(" ")),e$="calldata memory storage payable indexed",e0=eJ(e$.split(" ")),e1=eJ([eY,e$,"tuple returns",eW].join(" ").split(" ")),e2={"(":"OPEN_PAREN",")":"CLOSE_PAREN","[":"OPEN_BRACKET","]":"CLOSE_BRACKET",",":"COMMA","@":"AT"},e3=RegExp("^(\\s*)"),e4=RegExp("^([0-9]+)"),e5=RegExp("^([a-zA-Z$_][a-zA-Z0-9$_]*)"),e8=RegExp("^([a-zA-Z$_][a-zA-Z0-9$_]*)$"),e6=RegExp("^(address|bool|bytes([0-9]*)|string|u?int([0-9]*))$");class e7{#i;#h;get offset(){return this.#i}get length(){return this.#h.length-this.#i}constructor(t){this.#i=0,this.#h=t.slice()}clone(){return new e7(this.#h)}reset(){this.#i=0}#f(t=0,e=0){return new e7(this.#h.slice(t,e).map(e=>Object.freeze(Object.assign({},e,{match:e.match-t,linkBack:e.linkBack-t,linkNext:e.linkNext-t}))))}popKeyword(t){let e=this.peek();if("KEYWORD"!==e.type||!t.has(e.text))throw Error(`expected keyword ${e.text}`);return this.pop().text}popType(t){if(this.peek().type!==t){let e=this.peek();throw Error(`expected ${t}; got ${e.type} ${JSON.stringify(e.text)}`)}return this.pop().text}popParen(){let t=this.peek();if("OPEN_PAREN"!==t.type)throw Error("bad start");let e=this.#f(this.#i+1,t.match+1);return this.#i=t.match+1,e}popParams(){let t=this.peek();if("OPEN_PAREN"!==t.type)throw Error("bad start");let e=[];for(;this.#i<t.match-1;){let t=this.peek().linkNext;e.push(this.#f(this.#i+1,t)),this.#i=t}return this.#i=t.match+1,e}peek(){if(this.#i>=this.#h.length)throw Error("out-of-bounds");return this.#h[this.#i]}peekKeyword(t){let e=this.peekType("KEYWORD");return null!=e&&t.has(e)?e:null}peekType(t){if(0===this.length)return null;let e=this.peek();return e.type===t?e.text:null}pop(){let t=this.peek();return this.#i++,t}toString(){let t=[];for(let e=this.#i;e<this.#h.length;e++){let r=this.#h[e];t.push(`${r.type}:${r.text}`)}return`<TokenString ${t.join(" ")}>`}}function e9(t){let e=[],r=e=>{let r=s<t.length?JSON.stringify(t[s]):"$EOI";throw Error(`invalid token ${r} at ${s}: ${e}`)},n=[],i=[],s=0;for(;s<t.length;){let a=t.substring(s),o=a.match(e3);o&&(s+=o[1].length,a=t.substring(s));let l={depth:n.length,linkBack:-1,linkNext:-1,match:-1,type:"",text:"",offset:s,value:-1};e.push(l);let u=e2[a[0]]||"";if(u){if(l.type=u,l.text=a[0],s++,"OPEN_PAREN"===u)n.push(e.length-1),i.push(e.length-1);else if("CLOSE_PAREN"==u)0===n.length&&r("no matching open bracket"),l.match=n.pop(),e[l.match].match=e.length-1,l.depth--,l.linkBack=i.pop(),e[l.linkBack].linkNext=e.length-1;else if("COMMA"===u)l.linkBack=i.pop(),e[l.linkBack].linkNext=e.length-1,i.push(e.length-1);else if("OPEN_BRACKET"===u)l.type="BRACKET";else if("CLOSE_BRACKET"===u){let t=e.pop().text;if(e.length>0&&"NUMBER"===e[e.length-1].type){let r=e.pop().text;t=r+t,e[e.length-1].value=tb(r)}if(0===e.length||"BRACKET"!==e[e.length-1].type)throw Error("missing opening bracket");e[e.length-1].text+=t}continue}if(o=a.match(e5)){if(l.text=o[1],s+=l.text.length,e1.has(l.text)){l.type="KEYWORD";continue}if(l.text.match(e6)){l.type="TYPE";continue}l.type="ID";continue}if(o=a.match(e4)){l.text=o[1],l.type="NUMBER",s+=l.text.length;continue}throw Error(`unexpected token ${JSON.stringify(a[0])} at position ${s}`)}return new e7(e.map(t=>Object.freeze(t)))}function rt(t,e){let r=[];for(let n in e.keys())t.has(n)&&r.push(n);if(r.length>1)throw Error(`conflicting types: ${r.join(", ")}`)}function re(t,e){if(e.peekKeyword(eX)){let r=e.pop().text;if(r!==t)throw Error(`expected ${t}, got ${r}`)}return e.popType("ID")}function rr(t,e){let r=new Set;for(;;){let n=t.peekType("KEYWORD");if(null==n||e&&!e.has(n))break;if(t.pop(),r.has(n))throw Error(`duplicate keywords: ${JSON.stringify(n)}`);r.add(n)}return Object.freeze(r)}function rn(t){let e=rr(t,eZ);return(rt(e,eJ("constant payable nonpayable".split(" "))),rt(e,eJ("pure view payable nonpayable".split(" "))),e.has("view"))?"view":e.has("pure")?"pure":e.has("payable")?"payable":e.has("nonpayable")?"nonpayable":e.has("constant")?"view":"nonpayable"}function ri(t,e){return t.popParams().map(t=>rb.from(t,e))}
1function rs(t){if(t.peekType("AT")){if(t.pop(),t.peekType("NUMBER"))return tp(t.pop().text);throw Error("invalid gas")}return null}function ra(t){if(t.length)throw Error(`unexpected tokens at offset ${t.offset}: ${t.toString()}`)}let ro=new RegExp(/^(.*)\[([0-9]*)\]$/);function rl(t){let e=t.match(e6);if(D(e,"invalid type","type",t),"uint"===t)return"uint256";if("int"===t)return"int256";if(e[2]){let r=parseInt(e[2]);D(0!==r&&r<=32,"invalid bytes length","type",t)}else if(e[3]){let r=parseInt(e[3]);D(0!==r&&r<=256&&r%8==0,"invalid numeric width","type",t)}return t}let ru={},rc=Symbol.for("_ethers_internal"),rh="_ParamTypeInternal",rf="_ErrorInternal",rd="_EventInternal",rp="_ConstructorInternal",rg="_FallbackInternal",rm="_FunctionInternal",ry="_StructInternal";class rb{name;type;baseType;indexed;components;arrayLength;arrayChildren;constructor(t,e,r,n,i,s,a,o){if(H(t,ru,"ParamType"),Object.defineProperty(this,rc,{value:rh}),s&&(s=Object.freeze(s.slice())),"array"===n){if(null==a||null==o)throw Error("")}else if(null!=a||null!=o)throw Error("");if("tuple"===n){if(null==s)throw Error("")}else if(null!=s)throw Error("");C(this,{name:e,type:r,baseType:n,indexed:i,components:s,arrayLength:a,arrayChildren:o})}format(t){if(null==t&&(t="sighash"),"json"===t){let e=this.name||"";if(this.isArray()){let t=JSON.parse(this.arrayChildren.format("json"));return t.name=e,t.type+=`[${this.arrayLength<0?"":String(this.arrayLength)}]`,JSON.stringify(t)}let r={type:"tuple"===this.baseType?"tuple":this.type,name:e};return"boolean"==typeof this.indexed&&(r.indexed=this.indexed),this.isTuple()&&(r.components=this.components.map(e=>JSON.parse(e.format(t)))),JSON.stringify(r)}let e="";return this.isArray()?e+=this.arrayChildren.format(t)+`[${this.arrayLength<0?"":String(this.arrayLength)}]`:this.isTuple()?e+="("+this.components.map(e=>e.format(t)).join("full"===t?", ":",")+")":e+=this.type,"sighash"!==t&&(!0===this.indexed&&(e+=" indexed"),"full"===t&&this.name&&(e+=" "+this.name)),e}isArray(){return"array"===this.baseType}isTuple(){return"tuple"===this.baseType}isIndexable(){return null!=this.indexed}walk(t,e){if(this.isArray()){if(!Array.isArray(t))throw Error("invalid array value");if(-1!==this.arrayLength&&t.length!==this.arrayLength)throw Error("array is wrong length");let r=this;return t.map(t=>r.arrayChildren.walk(t,e))}if(this.isTuple()){if(!Array.isArray(t))throw Error("invalid tuple value");if(t.length!==this.components.length)throw Error("array is wrong length");let r=this;return t.map((t,n)=>r.components[n].walk(t,e))}return e(this.type,t)}#d(t,e,r,n){if(this.isArray()){if(!Array.isArray(e))throw Error("invalid array value");if(-1!==this.arrayLength&&e.length!==this.arrayLength)throw Error("array is wrong length");let i=this.arrayChildren,s=e.slice();s.forEach((e,n)=>{i.#d(t,e,r,t=>{s[n]=t})}),n(s);return}if(this.isTuple()){let i;let s=this.components;if(Array.isArray(e))i=e.slice();else{if(null==e||"object"!=typeof e)throw Error("invalid tuple value");i=s.map(t=>{if(!t.name)throw Error("cannot use object value with unnamed components");if(!(t.name in e))throw Error(`missing value for component ${t.name}`);return e[t.name]})}if(i.length!==this.components.length)throw Error("array is wrong length");i.forEach((e,n)=>{s[n].#d(t,e,r,t=>{i[n]=t})}),n(i);return}let i=r(this.type,e);i.then?t.push(async function(){n(await i)}()):n(i)}async walkAsync(t,e){let r=[],n=[t];return this.#d(r,t,e,t=>{n[0]=t}),r.length&&await Promise.all(r),n[0]}static from(t,e){if(rb.isParamType(t))return t;if("string"==typeof t)try{return rb.from(e9(t),e)}catch(e){D(!1,"invalid param type","obj",t)}else if(t instanceof e7){let r="",n="",i=null;rr(t,eJ(["tuple"])).has("tuple")||t.peekType("OPEN_PAREN")?(n="tuple",i=t.popParams().map(t=>rb.from(t)),r=`tuple(${i.map(t=>t.format()).join(",")})`):n=r=rl(t.popType("TYPE"));let s=null,a=null;for(;t.length&&t.peekType("BRACKET");){let e=t.pop();s=new rb(ru,"",r,n,null,i,a,s),a=e.value,r+=e.text,n="array",i=null}let o=null;if(rr(t,e0).has("indexed")){if(!e)throw Error("");o=!0}let l=t.peekType("ID")?t.pop().text:"";if(t.length)throw Error("leftover tokens");return new rb(ru,l,r,n,o,i,a,s)}let r=t.name;D(!r||"string"==typeof r&&r.match(e8),"invalid name","obj.name",r);let n=t.indexed;null!=n&&(D(e,"parameter cannot be indexed","obj.indexed",t.indexed),n=!!n);let i=t.type,s=i.match(ro);if(s){let e=parseInt(s[2]||"-1"),a=rb.from({type:s[1],components:t.components});return new rb(ru,r||"",i,"array",n,null,e,a)}if("tuple"===i||i.startsWith("tuple(")||i.startsWith("(")){let e=null!=t.components?t.components.map(t=>rb.from(t)):null;return new rb(ru,r||"",i,"tuple",n,e,null,null)}return new rb(ru,r||"",i=rl(t.type),i,n,null,null,null)}static isParamType(t){return t&&t[rc]===rh}}class rw{type;inputs;constructor(t,e,r){H(t,ru,"Fragment"),C(this,{type:e,inputs:r=Object.freeze(r.slice())})}static from(t){if("string"==typeof t){try{rw.from(JSON.parse(t))}catch(t){}return rw.from(e9(t))}if(t instanceof e7)switch(t.peekKeyword(eX)){case"constructor":return rP.from(t);case"error":return rv.from(t);case"event":return rk.from(t);case"fallback":case"receive":return rN.from(t);case"function":return rR.from(t);case"struct":return rI.from(t)}else if("object"==typeof t){switch(t.type){case"constructor":return rP.from(t);case"error":return rv.from(t);case"event":return rk.from(t);case"fallback":case"receive":return rN.from(t);case"function":return rR.from(t);case"struct":return rI.from(t)}F(!1,`unsupported type: ${t.type}`,"UNSUPPORTED_OPERATION",{operation:"Fragment.from"})}D(!1,"unsupported frgament object","obj",t)}static isConstructor(t){return rP.isFragment(t)}static isError(t){return rv.isFragment(t)}static isEvent(t){return rk.isFragment(t)}static isFunction(t){return rR.isFragment(t)}static isStruct(t){return rI.isFragment(t)}}class rA extends rw{name;constructor(t,e,r,n){super(t,e,n),D("string"==typeof r&&r.match(e8),"invalid identifier","name",r),n=Object.freeze(n.slice()),C(this,{name:r})}}function rE(t,e){return"("+e.map(e=>e.format(t)).join("full"===t?", ":",")+")"}class rv extends rA{constructor(t,e,r){super(t,"error",e,r),Object.defineProperty(this,rc,{value:rf})}get selector(){return eK(this.format("sighash")).substring(0,10)}format(t){if(null==t&&(t="sighash"),"json"===t)return JSON.stringify({type:"error",name:this.name,inputs:this.inputs.map(e=>JSON.parse(e.format(t)))});let e=[];return"sighash"!==t&&e.push("error"),e.push(this.name+rE(t,this.inputs)),e.join(" ")}
1static from(t){if(rv.isFragment(t))return t;if("string"==typeof t)return rv.from(e9(t));if(t instanceof e7){let e=re("error",t),r=ri(t);return ra(t),new rv(ru,e,r)}return new rv(ru,t.name,t.inputs?t.inputs.map(rb.from):[])}static isFragment(t){return t&&t[rc]===rf}}class rk extends rA{anonymous;constructor(t,e,r,n){super(t,"event",e,r),Object.defineProperty(this,rc,{value:rd}),C(this,{anonymous:n})}get topicHash(){return eK(this.format("sighash"))}format(t){if(null==t&&(t="sighash"),"json"===t)return JSON.stringify({type:"event",anonymous:this.anonymous,name:this.name,inputs:this.inputs.map(e=>JSON.parse(e.format(t)))});let e=[];return"sighash"!==t&&e.push("event"),e.push(this.name+rE(t,this.inputs)),"sighash"!==t&&this.anonymous&&e.push("anonymous"),e.join(" ")}static getTopicHash(t,e){return new rk(ru,t,e=(e||[]).map(t=>rb.from(t)),!1).topicHash}static from(t){if(rk.isFragment(t))return t;if("string"==typeof t)try{return rk.from(e9(t))}catch(e){D(!1,"invalid event fragment","obj",t)}else if(t instanceof e7){let e=re("event",t),r=ri(t,!0),n=!!rr(t,eJ(["anonymous"])).has("anonymous");return ra(t),new rk(ru,e,r,n)}return new rk(ru,t.name,t.inputs?t.inputs.map(t=>rb.from(t,!0)):[],!!t.anonymous)}static isFragment(t){return t&&t[rc]===rd}}class rP extends rw{payable;gas;constructor(t,e,r,n,i){super(t,e,r),Object.defineProperty(this,rc,{value:rp}),C(this,{payable:n,gas:i})}format(t){if(F(null!=t&&"sighash"!==t,"cannot format a constructor for sighash","UNSUPPORTED_OPERATION",{operation:"format(sighash)"}),"json"===t)return JSON.stringify({type:"constructor",stateMutability:this.payable?"payable":"undefined",payable:this.payable,gas:null!=this.gas?this.gas:void 0,inputs:this.inputs.map(e=>JSON.parse(e.format(t)))});let e=[`constructor${rE(t,this.inputs)}`];return this.payable&&e.push("payable"),null!=this.gas&&e.push(`@${this.gas.toString()}`),e.join(" ")}static from(t){if(rP.isFragment(t))return t;if("string"==typeof t)try{return rP.from(e9(t))}catch(e){D(!1,"invalid constuctor fragment","obj",t)}else if(t instanceof e7){rr(t,eJ(["constructor"]));let e=ri(t),r=!!rr(t,eq).has("payable"),n=rs(t);return ra(t),new rP(ru,"constructor",e,r,n)}return new rP(ru,"constructor",t.inputs?t.inputs.map(rb.from):[],!!t.payable,null!=t.gas?t.gas:null)}static isFragment(t){return t&&t[rc]===rp}}class rN extends rw{payable;constructor(t,e,r){super(t,"fallback",e),Object.defineProperty(this,rc,{value:rg}),C(this,{payable:r})}format(t){let e=0===this.inputs.length?"receive":"fallback";return"json"===t?JSON.stringify({type:e,stateMutability:this.payable?"payable":"nonpayable"}):`${e}()${this.payable?" payable":""}`}static from(t){if(rN.isFragment(t))return t;if("string"==typeof t)try{return rN.from(e9(t))}catch(e){D(!1,"invalid fallback fragment","obj",t)}else if(t instanceof e7){let e=t.toString();if(D(t.peekKeyword(eJ(["fallback","receive"])),"type must be fallback or receive","obj",e),"receive"===t.popKeyword(eJ(["fallback","receive"]))){let e=ri(t);return D(0===e.length,"receive cannot have arguments","obj.inputs",e),rr(t,eJ(["payable"])),ra(t),new rN(ru,[],!0)}let r=ri(t);r.length?D(1===r.length&&"bytes"===r[0].type,"invalid fallback inputs","obj.inputs",r.map(t=>t.format("minimal")).join(", ")):r=[rb.from("bytes")];let n=rn(t);if(D("nonpayable"===n||"payable"===n,"fallback cannot be constants","obj.stateMutability",n),rr(t,eJ(["returns"])).has("returns")){let e=ri(t);D(1===e.length&&"bytes"===e[0].type,"invalid fallback outputs","obj.outputs",e.map(t=>t.format("minimal")).join(", "))}return ra(t),new rN(ru,r,"payable"===n)}return"receive"===t.type?new rN(ru,[],!0):"fallback"===t.type?new rN(ru,[rb.from("bytes")],"payable"===t.stateMutability):void D(!1,"invalid fallback description","obj",t)}static isFragment(t){return t&&t[rc]===rg}}class rR extends rA{constant;outputs;stateMutability;payable;gas;constructor(t,e,r,n,i,s){super(t,"function",e,n),Object.defineProperty(this,rc,{value:rm}),C(this,{constant:"view"===r||"pure"===r,gas:s,outputs:i=Object.freeze(i.slice()),payable:"payable"===r,stateMutability:r})}get selector(){return eK(this.format("sighash")).substring(0,10)}format(t){if(null==t&&(t="sighash"),"json"===t)return JSON.stringify({type:"function",name:this.name,constant:this.constant,stateMutability:"nonpayable"!==this.stateMutability?this.stateMutability:void 0,payable:this.payable,gas:null!=this.gas?this.gas:void 0,inputs:this.inputs.map(e=>JSON.parse(e.format(t))),outputs:this.outputs.map(e=>JSON.parse(e.format(t)))});let e=[];return"sighash"!==t&&e.push("function"),e.push(this.name+rE(t,this.inputs)),"sighash"!==t&&("nonpayable"!==this.stateMutability&&e.push(this.stateMutability),this.outputs&&this.outputs.length&&(e.push("returns"),e.push(rE(t,this.outputs))),null!=this.gas&&e.push(`@${this.gas.toString()}`)),e.join(" ")}static getSelector(t,e){return new rR(ru,t,"view",e=(e||[]).map(t=>rb.from(t)),[],null).selector}static from(t){if(rR.isFragment(t))return t;if("string"==typeof t)try{return rR.from(e9(t))}catch(e){D(!1,"invalid function fragment","obj",t)}else if(t instanceof e7){let e=re("function",t),r=ri(t),n=rn(t),i=[];rr(t,eJ(["returns"])).has("returns")&&(i=ri(t));let s=rs(t);return ra(t),new rR(ru,e,n,r,i,s)}let e=t.stateMutability;return null!=e||(e="payable","boolean"==typeof t.constant?(e="view",t.constant||(e="payable","boolean"!=typeof t.payable||t.payable||(e="nonpayable"))):"boolean"!=typeof t.payable||t.payable||(e="nonpayable")),new rR(ru,t.name,e,t.inputs?t.inputs.map(rb.from):[],t.outputs?t.outputs.map(rb.from):[],null!=t.gas?t.gas:null)}static isFragment(t){return t&&t[rc]===rm}}class rI extends rA{constructor(t,e,r){super(t,"struct",e,r),Object.defineProperty(this,rc,{value:ry})}format(){throw Error("@TODO")}static from(t){if("string"==typeof t)try{return rI.from(e9(t))}catch(e){D(!1,"invalid struct fragment","obj",t)}else if(t instanceof e7){let e=re("struct",t),r=ri(t);return ra(t),new rI(ru,e,r)}return new rI(ru,t.name,t.inputs?t.inputs.map(rb.from):[])}static isFragment(t){return t&&t[rc]===ry}}let rx=new Map;rx.set(0,"GENERIC_PANIC"),rx.set(1,"ASSERT_FALSE"),rx.set(17,"OVERFLOW"),rx.set(18,"DIVIDE_BY_ZERO"),rx.set(33,"ENUM_RANGE_ERROR"),rx.set(34,"BAD_STORAGE_DATA"),rx.set(49,"STACK_UNDERFLOW"),rx.set(50,"ARRAY_RANGE_ERROR"),rx.set(65,"OUT_OF_MEMORY"),rx.set(81,"UNINITIALIZED_FUNCTION_CALL");let rO=new RegExp(/^bytes([0-9]*)$/),rC=new RegExp(/^(u?int)([0-9]*)$/),rT=null,rS=1024;class rB{#p(t){if(t.isArray())return new eB(this.#p(t.arrayChildren),t.arrayLength,t.name);if(t.isTuple())return new e_(t.components.map(t=>this.#p(t)),t.name);switch(t.baseType){case"address":return new eO(t.name);case"bool":return new eU(t.name);case"string":return new eQ(t.name);case"bytes":return new eD(t.name);case"":return new eG(t.name)}let e=t.type.match(rC);if(e){let r=parseInt(e[2]||"256");return D(0!==r&&r<=256&&r%8==0,"invalid "+e[1]+" bit length","param",t),new ej(r/8,"int"===e[1],t.name)}
1if(e=t.type.match(rO)){let r=parseInt(e[1]);return D(0!==r&&r<=32,"invalid bytes length","param",t),new eL(r,t.name)}D(!1,"invalid type","type",t.type)}getDefaultValue(t){return new e_(t.map(t=>this.#p(rb.from(t))),"_").defaultValue()}encode(t,e){L(e.length,t.length,"types/values length mismatch");let r=new e_(t.map(t=>this.#p(rb.from(t))),"_"),n=new tB;return r.encode(n,e),n.data}decode(t,e,r){return new e_(t.map(t=>this.#p(rb.from(t))),"_").decode(new tU(e,r,rS))}static _setDefaultMaxInflation(t){D("number"==typeof t&&Number.isInteger(t),"invalid defaultMaxInflation factor","value",t),rS=t}static defaultAbiCoder(){return null==rT&&(rT=new rB),rT}static getBuiltinCallException(t,e,r){return function(t,e,r,n){let i="missing revert data",s=null,a=null;if(r){i="execution reverted";let t=z(r);if(r=J(r),0===t.length)i+=" (no data present; likely require(false) occurred",s="require(false)";else if(t.length%32!=4)i+=" (could not decode reason; invalid data length)";else if("0x08c379a0"===J(t.slice(0,4)))try{s=n.decode(["string"],t.slice(4))[0],a={signature:"Error(string)",name:"Error",args:[s]},i+=`: ${JSON.stringify(s)}`}catch(t){i+=" (could not decode reason; invalid string data)"}else if("0x4e487b71"===J(t.slice(0,4)))try{let e=Number(n.decode(["uint256"],t.slice(4))[0]);a={signature:"Panic(uint256)",name:"Panic",args:[e]},s=`Panic due to ${rx.get(e)||"UNKNOWN"}(${e})`,i+=`: ${s}`}catch(t){i+=" (could not decode panic code)"}else i+=" (unknown custom error)"}let o={to:e.to?ev(e.to):null,data:e.data||"0x"};return e.from&&(o.from=ev(e.from)),U(i,"CALL_EXCEPTION",{action:t,data:r,reason:s,transaction:o,invocation:null,revert:a})}(t,e,r,rB.defaultAbiCoder())}}class rU{fragment;name;signature;topic;args;constructor(t,e,r){let n=t.name,i=t.format();C(this,{fragment:t,name:n,signature:i,topic:e,args:r})}}class rF{fragment;name;args;signature;selector;value;constructor(t,e,r,n){let i=t.name,s=t.format();C(this,{fragment:t,name:i,args:r,signature:s,selector:e,value:n})}}class rD{fragment;name;args;signature;selector;constructor(t,e,r){let n=t.name,i=t.format();C(this,{fragment:t,name:n,args:r,signature:i,selector:e})}}class rL{hash;_isIndexed;static isIndexed(t){return!!(t&&t._isIndexed)}constructor(t){C(this,{hash:t,_isIndexed:!0})}}let rM={0:"generic panic",1:"assert(false)",17:"arithmetic overflow",18:"division or modulo by zero",33:"enum overflow",34:"invalid encoded storage byte array accessed",49:"out-of-bounds array access; popping on an empty array",50:"out-of-bounds access of an array or bytesN",65:"out of memory",81:"uninitialized function"},rG={"0x08c379a0":{signature:"Error(string)",name:"Error",inputs:["string"],reason:t=>`reverted with reason string ${JSON.stringify(t)}`},"0x4e487b71":{signature:"Panic(uint256)",name:"Panic",inputs:["uint256"],reason:t=>{let e="unknown panic code";return t>=0&&t<=255&&rM[t.toString()]&&(e=rM[t.toString()]),`reverted with panic code 0x${t.toString(16)} (${e})`}}};class rH{fragments;deploy;fallback;receive;#g;#m;#y;#b;constructor(t){let e=[];e="string"==typeof t?JSON.parse(t):t,this.#y=new Map,this.#g=new Map,this.#m=new Map;let r=[];for(let t of e)try{r.push(rw.from(t))}catch(e){console.log(`[Warning] Invalid Fragment ${JSON.stringify(t)}:`,e.message)}C(this,{fragments:Object.freeze(r)});let n=null,i=!1;this.#b=this.getAbiCoder(),this.fragments.forEach((t,e)=>{let r;switch(t.type){case"constructor":if(this.deploy){console.log("duplicate definition - constructor");return}C(this,{deploy:t});return;case"fallback":0===t.inputs.length?i=!0:(D(!n||t.payable!==n.payable,"conflicting fallback fragments",`fragments[${e}]`,t),i=(n=t).payable);return;case"function":r=this.#y;break;case"event":r=this.#m;break;case"error":r=this.#g;break;default:return}let s=t.format();r.has(s)||r.set(s,t)}),this.deploy||C(this,{deploy:rP.from("constructor()")}),C(this,{fallback:n,receive:i})}
1format(t){let e=t?"minimal":"full";return this.fragments.map(t=>t.format(e))}formatJson(){return JSON.stringify(this.fragments.map(t=>t.format("json")).map(t=>JSON.parse(t)))}getAbiCoder(){return rB.defaultAbiCoder()}#w(t,e,r){if(Q(t)){let e=t.toLowerCase();for(let t of this.#y.values())if(e===t.selector)return t;return null}if(-1===t.indexOf("(")){let n=[];for(let[e,r]of this.#y)e.split("(")[0]===t&&n.push(r);if(e){let t=e.length>0?e[e.length-1]:null,r=e.length,i=!0;ex.isTyped(t)&&"overrides"===t.type&&(i=!1,r--);for(let t=n.length-1;t>=0;t--){let e=n[t].inputs.length;e===r||i&&e===r-1||n.splice(t,1)}for(let t=n.length-1;t>=0;t--){let r=n[t].inputs;for(let i=0;i<e.length;i++)if(ex.isTyped(e[i])){if(i>=r.length){if("overrides"===e[i].type)continue;n.splice(t,1);break}if(e[i].type!==r[i].baseType){n.splice(t,1);break}}}}if(1===n.length&&e&&e.length!==n[0].inputs.length){let t=e[e.length-1];(null==t||Array.isArray(t)||"object"!=typeof t)&&n.splice(0,1)}if(0===n.length)return null;if(n.length>1&&r){let e=n.map(t=>JSON.stringify(t.format())).join(", ");D(!1,`ambiguous function description (i.e. matches ${e})`,"key",t)}return n[0]}return this.#y.get(rR.from(t).format())||null}getFunctionName(t){let e=this.#w(t,null,!1);return D(e,"no matching function","key",t),e.name}hasFunction(t){return!!this.#w(t,null,!1)}getFunction(t,e){return this.#w(t,e||null,!0)}forEachFunction(t){let e=Array.from(this.#y.keys());e.sort((t,e)=>t.localeCompare(e));for(let r=0;r<e.length;r++){let n=e[r];t(this.#y.get(n),r)}}#A(t,e,r){if(Q(t)){let e=t.toLowerCase();
1for(let t of this.#m.values())if(e===t.topicHash)return t;return null}if(-1===t.indexOf("(")){let n=[];for(let[e,r]of this.#m)e.split("(")[0]===t&&n.push(r);if(e){for(let t=n.length-1;t>=0;t--)n[t].inputs.length<e.length&&n.splice(t,1);for(let t=n.length-1;t>=0;t--){let r=n[t].inputs;for(let i=0;i<e.length;i++)if(ex.isTyped(e[i])&&e[i].type!==r[i].baseType){n.splice(t,1);break}}}if(0===n.length)return null;if(n.length>1&&r){let e=n.map(t=>JSON.stringify(t.format())).join(", ");D(!1,`ambiguous event description (i.e. matches ${e})`,"key",t)}return n[0]}return this.#m.get(rk.from(t).format())||null}getEventName(t){let e=this.#A(t,null,!1);return D(e,"no matching event","key",t),e.name}hasEvent(t){return!!this.#A(t,null,!1)}getEvent(t,e){return this.#A(t,e||null,!0)}forEachEvent(t){let e=Array.from(this.#m.keys());e.sort((t,e)=>t.localeCompare(e));for(let r=0;r<e.length;r++){let n=e[r];t(this.#m.get(n),r)}}getError(t,e){if(Q(t)){let e=t.toLowerCase();if(rG[e])return rv.from(rG[e].signature);for(let t of this.#g.values())if(e===t.selector)return t;return null}if(-1===t.indexOf("(")){let e=[];for(let[r,n]of this.#g)r.split("(")[0]===t&&e.push(n);if(0===e.length)return"Error"===t?rv.from("error Error(string)"):"Panic"===t?rv.from("error Panic(uint256)"):null;if(e.length>1){let r=e.map(t=>JSON.stringify(t.format())).join(", ");D(!1,`ambiguous error description (i.e. ${r})`,"name",t)}return e[0]}return"Error(string)"===(t=rv.from(t).format())?rv.from("error Error(string)"):"Panic(uint256)"===t?rv.from("error Panic(uint256)"):this.#g.get(t)||null}forEachError(t){let e=Array.from(this.#g.keys());e.sort((t,e)=>t.localeCompare(e));for(let r=0;r<e.length;r++){let n=e[r];t(this.#g.get(n),r)}}_decodeParams(t,e){return this.#b.decode(t,e)}_encodeParams(t,e){return this.#b.encode(t,e)}encodeDeploy(t){return this._encodeParams(this.deploy.inputs,t||[])}decodeErrorResult(t,e){if("string"==typeof t){let e=this.getError(t);D(e,"unknown error","fragment",t),t=e}return D(Z(e,0,4)===t.selector,`data signature does not match error ${t.name}.`,"data",e),this._decodeParams(t.inputs,Z(e,4))}encodeErrorResult(t,e){if("string"==typeof t){let e=this.getError(t);D(e,"unknown error","fragment",t),t=e}return q([t.selector,this._encodeParams(t.inputs,e||[])])}decodeFunctionData(t,e){if("string"==typeof t){let e=this.getFunction(t);D(e,"unknown function","fragment",t),t=e}return D(Z(e,0,4)===t.selector,`data signature does not match function ${t.name}.`,"data",e),this._decodeParams(t.inputs,Z(e,4))}encodeFunctionData(t,e){if("string"==typeof t){let e=this.getFunction(t);D(e,"unknown function","fragment",t),t=e}return q([t.selector,this._encodeParams(t.inputs,e||[])])}decodeFunctionResult(t,e){if("string"==typeof t){let e=this.getFunction(t);D(e,"unknown function","fragment",t),t=e}let r="invalid length for result data",n=j(e);if(n.length%32==0)try{return this.#b.decode(t.outputs,n)}catch(t){r="could not decode result data"}F(!1,r,"BAD_DATA",{value:J(n),info:{method:t.name,signature:t.format()}})}makeError(t,e){let r=z(t,"data"),n=rB.getBuiltinCallException("call",e,r);if(n.message.startsWith("execution reverted (unknown custom error)")){let t=J(r.slice(0,4)),e=this.getError(t);if(e)try{let t=this.#b.decode(e.inputs,r.slice(4));n.revert={name:e.name,signature:e.format(),args:t},n.reason=n.revert.signature,n.message=`execution reverted: ${n.reason}`}catch(t){n.message="execution reverted (coult not decode custom error)"}}let i=this.parseTransaction(e);return i&&(n.invocation={method:i.name,signature:i.signature,args:i.args}),n}encodeFunctionResult(t,e){if("string"==typeof t){let e=this.getFunction(t);D(e,"unknown function","fragment",t),t=e}return J(this.#b.encode(t.outputs,e||[]))}encodeFilterTopics(t,e){if("string"==typeof t){let e=this.getEvent(t);D(e,"unknown event","eventFragment",t),t=e}F(e.length<=t.inputs.length,`too many arguments for ${t.format()}`,"UNEXPECTED_ARGUMENT",{count:e.length,expectedCount:t.inputs.length});let r=[];t.anonymous||r.push(t.topicHash);let n=(t,e)=>"string"===t.type?eK(e):"bytes"===t.type?eg(J(e)):("bool"===t.type&&"boolean"==typeof e?e=e?"0x01":"0x00":t.type.match(/^u?int/)?e=tA(e):t.type.match(/^bytes/)?e=tt(e,32):"address"===t.type&&this.#b.encode(["address"],[e]),$(J(e),32));for(e.forEach((e,i)=>{let s=t.inputs[i];if(!s.indexed){D(null==e,"cannot filter non-indexed parameters; must be null","contract."+s.name,e);return}null==e?r.push(null):"array"===s.baseType||"tuple"===s.baseType?D(!1,"filtering with tuples or arrays not supported","contract."+s.name,e):Array.isArray(e)?r.push(e.map(t=>n(s,t))):r.push(n(s,e))});r.length&&null===r[r.length-1];)r.pop();return r}encodeEventLog(t,e){if("string"==typeof t){let e=this.getEvent(t);D(e,"unknown event","eventFragment",t),t=e}let r=[],n=[],i=[];
1return t.anonymous||r.push(t.topicHash),D(e.length===t.inputs.length,"event arguments/values mismatch","values",e),t.inputs.forEach((t,s)=>{let a=e[s];if(t.indexed){if("string"===t.type)r.push(eK(a));else if("bytes"===t.type)r.push(eg(a));else if("tuple"===t.baseType||"array"===t.baseType)throw Error("not implemented");else r.push(this.#b.encode([t.type],[a]))}else n.push(t),i.push(a)}),{data:this.#b.encode(n,i),topics:r}}decodeEventLog(t,e,r){if("string"==typeof t){let e=this.getEvent(t);D(e,"unknown event","eventFragment",t),t=e}if(null!=r&&!t.anonymous){let e=t.topicHash;D(Q(r[0],32)&&r[0].toLowerCase()===e,"fragment/topic mismatch","topics[0]",r[0]),r=r.slice(1)}let n=[],i=[],s=[];t.inputs.forEach((t,e)=>{t.indexed?"string"===t.type||"bytes"===t.type||"tuple"===t.baseType||"array"===t.baseType?(n.push(rb.from({type:"bytes32",name:t.name})),s.push(!0)):(n.push(t),s.push(!1)):(i.push(t),s.push(!1))});let a=null!=r?this.#b.decode(n,q(r)):null,o=this.#b.decode(i,e,!0),l=[],u=[],c=0,h=0;return t.inputs.forEach((t,e)=>{let r=null;if(t.indexed){if(null==a)r=new rL(null);else if(s[e])r=new rL(a[h++]);else try{r=a[h++]}catch(t){r=t}}else try{r=o[c++]}catch(t){r=t}l.push(r),u.push(t.name||null)}),tO.fromItems(l,u)}parseTransaction(t){let e=z(t.data,"tx.data"),r=tp(null!=t.value?t.value:0,"tx.value"),n=this.getFunction(J(e.slice(0,4)));if(!n)return null;let i=this.#b.decode(n.inputs,e.slice(4));return new rF(n,n.selector,i,r)}parseCallResult(t){throw Error("@TODO")}parseLog(t){let e=this.getEvent(t.topics[0]);return!e||e.anonymous?null:new rU(e,e.topicHash,this.decodeEventLog(e,t.data,t.topics))}parseError(t){let e=J(t),r=this.getError(Z(e,0,4));if(!r)return null;let n=this.#b.decode(r.inputs,Z(e,4));return new rD(r,r.selector,n)}static from(t){return t instanceof rH?t:new rH("string"==typeof t?JSON.parse(t):"function"==typeof t.formatJson?t.formatJson():"function"==typeof t.format?t.format("json"):t)}}function rV(t){let e=[];for(;t;)e.unshift(255&t),t>>=8;return e}let rz="0123456789abcdef";function rj(t){let e="0x";for(let r of function t(e){if(Array.isArray(e)){let r=[];if(e.forEach(function(e){r=r.concat(t(e))}),r.length<=55)return r.unshift(192+r.length),r;let n=rV(r.length);return n.unshift(247+n.length),n.concat(r)}let r=Array.prototype.slice.call(z(e,"object"));if(1===r.length&&r[0]<=127)return r;if(r.length<=55)return r.unshift(128+r.length),r;let n=rV(r.length);return n.unshift(183+n.length),n.concat(r)}(t))e+=rz[r>>4]+rz[15&r];return e}function rQ(t){let e=ev(t.from),r=tp(t.nonce,"tx.nonce").toString(16);return ev(Z(eg(rj([e,r="0"===r?"0x":r.length%2?"0x0"+r:"0x"+r])),12))}function r_(t,e,r){let n=ev(t),i=z(e,"salt"),s=z(r,"initCodeHash");return D(32===i.length,"salt must be 32 bytes","salt",e),D(32===s.length,"initCodeHash must be 32 bytes","initCodeHash",r),ev(Z(eg(q(["0xff",n,i,s])),12))}function rK(t){return t&&"function"==typeof t.getAddress}function rJ(t){try{return ev(t),!0}catch(t){}return!1}async function rq(t,e){let r=await e;return(null==r||"0x0000000000000000000000000000000000000000"===r)&&(F("string"!=typeof t,"unconfigured name","UNCONFIGURED_NAME",{value:t}),D(!1,"invalid AddressLike value; did not resolve to a value address","target",t)),ev(r)}function rW(t,e){return"string"==typeof t?t.match(/^0x[0-9a-f]{40}$/i)?ev(t):(F(null!=e,"ENS resolution requires a provider","UNSUPPORTED_OPERATION",{operation:"resolveName"}),rq(t,e.resolveName(t))):rK(t)?rq(t,t.getAddress()):t&&"function"==typeof t.then?rq(t,t):void D(!1,"unsupported addressable value","target",t)}let rZ="0x0000000000000000000000000000000000000000",rY=BigInt("0xfffffffffffffffffffffffffffffffebaaedce6af48a03bbfd25e8cd0364141"),rX=BigInt("1000000000000000000"),r$=BigInt("0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff"),r0=BigInt("0x8000000000000000000000000000000000000000000000000000000000000000")*BigInt(-1),r1=BigInt("0x7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff"),r2="0x0000000000000000000000000000000000000000000000000000000000000000",r3="Ξ",r4="\x19Ethereum Signed Message:\n";function r5(t,e){return{address:ev(t),storageKeys:e.map((t,e)=>(D(Q(t,32),"invalid slot",`storageKeys[${e}]`,t),t.toLowerCase()))}}function r8(t){if(Array.isArray(t))return t.map((e,r)=>Array.isArray(e)?(D(2===e.length,"invalid slot set",`value[${r}
1]`,e),r5(e[0],e[1])):(D(null!=e&&"object"==typeof e,"invalid address-slot set","value",t),r5(e.address,e.storageKeys)));D(null!=t&&"object"==typeof t,"invalid access list","value",t);let e=Object.keys(t).map(e=>{let r=t[e].reduce((t,e)=>(t[e]=!0,t),{});return r5(e,Object.keys(r).sort())});return e.sort((t,e)=>t.address.localeCompare(e.address)),e}let r6=BigInt(0);function r7(t){return null==t?null:t}function r9(t){return null==t?null:t.toString()}class nt{gasPrice;maxFeePerGas;maxPriorityFeePerGas;constructor(t,e,r){C(this,{gasPrice:r7(t),maxFeePerGas:r7(e),maxPriorityFeePerGas:r7(r)})}toJSON(){let{gasPrice:t,maxFeePerGas:e,maxPriorityFeePerGas:r}=this;return{_type:"FeeData",gasPrice:r9(t),maxFeePerGas:r9(e),maxPriorityFeePerGas:r9(r)}}}function ne(t){let e={};for(let r of(t.to&&(e.to=t.to),t.from&&(e.from=t.from),t.data&&(e.data=J(t.data)),"chainId,gasLimit,gasPrice,maxFeePerBlobGas,maxFeePerGas,maxPriorityFeePerGas,value".split(/,/)))r in t&&null!=t[r]&&(e[r]=tp(t[r],`request.${r}`));for(let r of"type,nonce".split(/,/))r in t&&null!=t[r]&&(e[r]=tb(t[r],`request.${r}`));return t.accessList&&(e.accessList=r8(t.accessList)),t.authorizationList&&(e.authorizationList=t.authorizationList.slice()),"blockTag"in t&&(e.blockTag=t.blockTag),"enableCcipRead"in t&&(e.enableCcipRead=!!t.enableCcipRead),"customData"in t&&(e.customData=t.customData),"blobVersionedHashes"in t&&t.blobVersionedHashes&&(e.blobVersionedHashes=t.blobVersionedHashes.slice()),"kzg"in t&&(e.kzg=t.kzg),"blobWrapperVersion"in t&&(e.blobWrapperVersion=t.blobWrapperVersion),"blobs"in t&&t.blobs&&(e.blobs=t.blobs.map(t=>_(t)?J(t):Object.assign({},t))),e}class nr{provider;number;hash;timestamp;parentHash;parentBeaconBlockRoot;nonce;difficulty;gasLimit;gasUsed;stateRoot;receiptsRoot;blobGasUsed;excessBlobGas;miner;prevRandao;extraData;baseFeePerGas;#E;constructor(t,e){this.#E=t.transactions.map(t=>"string"!=typeof t?new ns(t,e):t),C(this,{provider:e,hash:r7(t.hash),number:t.number,timestamp:t.timestamp,parentHash:t.parentHash,parentBeaconBlockRoot:t.parentBeaconBlockRoot,nonce:t.nonce,difficulty:t.difficulty,gasLimit:t.gasLimit,gasUsed:t.gasUsed,blobGasUsed:t.blobGasUsed,excessBlobGas:t.excessBlobGas,miner:t.miner,prevRandao:r7(t.prevRandao),extraData:t.extraData,baseFeePerGas:r7(t.baseFeePerGas),stateRoot:t.stateRoot,receiptsRoot:t.receiptsRoot})}get transactions(){return this.#E.map(t=>"string"==typeof t?t:t.hash)}get prefetchedTransactions(){let t=this.#E.slice();return 0===t.length?[]:(F("object"==typeof t[0],"transactions were not prefetched with block request","UNSUPPORTED_OPERATION",{operation:"transactionResponses()"}),t)}toJSON(){let{baseFeePerGas:t,difficulty:e,extraData:r,gasLimit:n,gasUsed:i,hash:s,miner:a,prevRandao:o,nonce:l,number:u,parentHash:c,parentBeaconBlockRoot:h,stateRoot:f,receiptsRoot:d,timestamp:p,transactions:g}=this;return{_type:"Block",baseFeePerGas:r9(t),difficulty:r9(e),extraData:r,gasLimit:r9(n),gasUsed:r9(i),blobGasUsed:r9(this.blobGasUsed),excessBlobGas:r9(this.excessBlobGas),hash:s,miner:a,prevRandao:o,nonce:l,number:u,parentHash:c,timestamp:p,parentBeaconBlockRoot:h,stateRoot:f,receiptsRoot:d,transactions:g}}[Symbol.iterator](){let t=0,e=this.transactions;return{next:()=>t<this.length?{value:e[t++],done:!1}:{value:void 0,done:!0}}}get length(){return this.#E.length}get date(){return null==this.timestamp?null:new Date(1e3*this.timestamp)}async getTransaction(t){let e;if("number"==typeof t)e=this.#E[t];else{let r=t.toLowerCase();for(let t of this.#E){if("string"==typeof t){if(t!==r)continue;e=t;break}if(t.hash===r){e=t;break}}}if(null==e)throw Error("no such tx");return"string"==typeof e?await this.provider.getTransaction(e):e}getPrefetchedTransaction(t){let e=this.prefetchedTransactions;if("number"==typeof t)return e[t];for(let r of(t=t.toLowerCase(),e))if(r.hash===t)return r;D(!1,"no matching transaction","indexOrHash",t)}isMined(){return!!this.hash}isLondon(){return!!this.baseFeePerGas}orphanedEvent(){if(!this.isMined())throw Error("");return{orphan:"drop-block",hash:this.hash,number:this.number}}}class nn{provider;transactionHash;blockHash;blockNumber;removed;address;data;topics;index;transactionIndex;constructor(t,e){this.provider=e;let r=Object.freeze(t.topics.slice());C(this,{transactionHash:t.transactionHash,blockHash:t.blockHash,blockNumber:t.blockNumber,removed:t.removed,address:t.address,data:t.data,topics:r,index:t.index,transactionIndex:t.transactionIndex})}toJSON(){let{address:t,blockHash:e,blockNumber:r,data:n,index:i,removed:s,topics:a,transactionHash:o,transactionIndex:l}=this;return{_type:"log",address:t,blockHash:e,blockNumber:r,data:n,index:i,removed:s,topics:a,transactionHash:o,transactionIndex:l}}async getBlock(){let t=await this.provider.getBlock(this.blockHash);return F(!!t,"failed to find transaction","UNKNOWN_ERROR",{}),t}async getTransaction(){let t=await this.provider.getTransaction(this.transactionHash);return F(!!t,"failed to find transaction","UNKNOWN_ERROR",{}),t}async getTransactionReceipt(){let t=await this.provider.getTransactionReceipt(this.transactionHash);return F(!!t,"failed to find transaction receipt","UNKNOWN_ERROR",{}),t}removedEvent(){return{orphan:"drop-log",log:{transactionHash:this.transactionHash,blockHash:this.blockHash,blockNumber:this.blockNumber,address:this.address,data:this.data,topics:Object.freeze(this.topics.slice()),index:this.index}}}}class ni{provider;to;from;contractAddress;hash;index;blockHash;blockNumber;logsBloom;gasUsed;blobGasUsed;cumulativeGasUsed;gasPrice;blobGasPrice;type;status;root;#v;constructor(t,e){this.#v=Object.freeze(t.logs.map(t=>new nn(t,e)));let r=r6;null!=t.effectiveGasPrice?r=t.effectiveGasPrice:null!=t.gasPrice&&(r=t.gasPrice),C(this,{provider:e,to:t.to,from:t.from,contractAddress:t.contractAddress,hash:t.hash,index:t.index,blockHash:t.blockHash,blockNumber:t.blockNumber,logsBloom:t.logsBloom,gasUsed:t.gasUsed,cumulativeGasUsed:t.cumulativeGasUsed,blobGasUsed:t.blobGasUsed,gasPrice:r,blobGasPrice:t.blobGasPrice,type:t.type,status:t.status,root:t.root})}get logs(){return this.#v}toJSON(){let{to:t,from:e,contractAddress:r,hash:n,index:i,blockHash:s,blockNumber:a,logsBloom:o,logs:l,status:u,root:c}=this;return{_type:"TransactionReceipt",blockHash:s,blockNumber:a,contractAddress:r,cumulativeGasUsed:r9(this.cumulativeGasUsed),from:e,gasPrice:r9(this.gasPrice),blobGasUsed:r9(this.blobGasUsed),blobGasPrice:r9(this.blobGasPrice),gasUsed:r9(this.gasUsed),hash:n,index:i,logs:l,logsBloom:o,root:c,status:u,to:t}}get length(){return this.logs.length}[Symbol.iterator](){let t=0;return{next:()=>t<this.length?{value:this.logs[t++],done:!1}:{value:void 0,done:!0}}}get fee(){return this.gasUsed*this.gasPrice}async getBlock(){let t=await this.provider.getBlock(this.blockHash);if(null==t)throw Error("TODO");return t}async getTransaction(){let t=await this.provider.getTransaction(this.hash);if(null==t)throw Error("TODO");return t}async getResult(){return await this.provider.getTransactionResult(this.hash)}async confirmations(){return await this.provider.getBlockNumber()-this.blockNumber+1}removedEvent(){return no(this)}reorderedEvent(t){return F(!t||t.isMined(),"unmined 'other' transction cannot be orphaned","UNSUPPORTED_OPERATION",{operation:"reorderedEvent(other)"}),na(this,t)}}class ns{provider;blockNumber;blockHash;index;hash;type;to;from;nonce;gasLimit;gasPrice;maxPriorityFeePerGas;maxFeePerGas;maxFeePerBlobGas;data;value;chainId;signature;accessList;blobVersionedHashes;authorizationList;#k;constructor(t,e){this.provider=e,this.blockNumber=null!=t.blockNumber?t.blockNumber:null,this.blockHash=null!=t.blockHash?t.blockHash:null,this.hash=t.hash,this.index=t.index,this.type=t.type,this.from=t.from,this.to=t.to||null,this.gasLimit=t.gasLimit,this.nonce=t.nonce,this.data=t.data,this.value=t.value,this.gasPrice=t.gasPrice,this.maxPriorityFeePerGas=null!=t.maxPriorityFeePerGas?t.maxPriorityFeePerGas:null,this.maxFeePerGas=null!=t.maxFeePerGas?t.maxFeePerGas:null,this.maxFeePerBlobGas=null!=t.maxFeePerBlobGas?t.maxFeePerBlobGas:null,this.chainId=t.chainId,this.signature=t.signature,this.accessList=null!=t.accessList?t.accessList:null,this.blobVersionedHashes=null!=t.blobVersionedHashes?t.blobVersionedHashes:null,this.authorizationList=null!=t.authorizationList?t.authorizationList:null,this.#k=-1}toJSON(){let{blockNumber:t,blockHash:e,index:r,hash:n,type:i,to:s,from:a,nonce:o,data:l,signature:u,accessList:c,blobVersionedHashes:h}=this;return{_type:"TransactionResponse",accessList:c,blockNumber:t,blockHash:e,blobVersionedHashes:h,chainId:r9(this.chainId),data:l,from:a,gasLimit:r9(this.gasLimit),gasPrice:r9(this.gasPrice),hash:n,maxFeePerGas:r9(this.maxFeePerGas),maxPriorityFeePerGas:r9(this.maxPriorityFeePerGas),maxFeePerBlobGas:r9(this.maxFeePerBlobGas),nonce:o,signature:u,to:s,index:r,type:i,value:r9(this.value)}}async getBlock(){let t=this.blockNumber;if(null==t){let e=await this.getTransaction();e&&(t=e.blockNumber)}if(null==t)return null;let e=this.provider.getBlock(t);if(null==e)throw Error("TODO");return e}async getTransaction(){return this.provider.getTransaction(this.hash)}async confirmations(){if(null==this.blockNumber){let{tx:t,blockNumber:e}=await O({tx:this.getTransaction(),blockNumber:this.provider.getBlockNumber()});return null==t||null==t.blockNumber?0:e-t.blockNumber+1}return await this.provider.getBlockNumber()-this.blockNumber+1}async wait(t,e){let r=null==t?1:t,n=null==e?0:e,i=this.#k,s=-1,a=-1===i,o=async()=>
1{if(a)return null;let{blockNumber:t,nonce:e}=await O({blockNumber:this.provider.getBlockNumber(),nonce:this.provider.getTransactionCount(this.from)});if(e<this.nonce){i=t;return}if(a)return null;let n=await this.getTransaction();if(!n||null==n.blockNumber)for(-1===s&&(s=i-3)<this.#k&&(s=this.#k);s<=t;){if(a)return null;let e=await this.provider.getBlock(s,!0);if(null==e)break;for(let t of e)if(t===this.hash)return;for(let n=0;n<e.length;n++){let s=await e.getTransaction(n);if(s.from===this.from&&s.nonce===this.nonce){if(a)return null;let e=await this.provider.getTransactionReceipt(s.hash);if(null==e||t-e.blockNumber+1<r)return;let n="replaced";s.data===this.data&&s.to===this.to&&s.value===this.value?n="repriced":"0x"===s.data&&s.from===s.to&&s.value===r6&&(n="cancelled"),F(!1,"transaction was replaced","TRANSACTION_REPLACED",{cancelled:"replaced"===n||"cancelled"===n,reason:n,replacement:s.replaceableTransaction(i),hash:s.hash,receipt:e})}}s++}},l=t=>{if(null==t||0!==t.status)return t;F(!1,"transaction execution reverted","CALL_EXCEPTION",{action:"sendTransaction",data:null,reason:null,invocation:null,revert:null,transaction:{to:t.to,from:t.from,data:""},receipt:t})},u=await this.provider.getTransactionReceipt(this.hash);if(0===r)return l(u);if(u){if(1===r||await u.confirmations()>=r)return l(u)}else if(await o(),0===r)return null;let c=new Promise((t,e)=>{let s=[],u=()=>{s.forEach(t=>t())};if(s.push(()=>{a=!0}),n>0){let t=setTimeout(()=>{u(),e(U("wait for transaction timeout","TIMEOUT"))},n);s.push(()=>{clearTimeout(t)})}let c=async n=>{if(await n.confirmations()>=r){u();try{t(l(n))}catch(t){e(t)}}};if(s.push(()=>{this.provider.off(this.hash,c)}),this.provider.on(this.hash,c),i>=0){let t=async()=>{try{await o()}catch(t){if(S(t,"TRANSACTION_REPLACED")){u(),e(t);return}}a||this.provider.once("block",t)};s.push(()=>{this.provider.off("block",t)}),this.provider.once("block",t)}});return await c}isMined(){return null!=this.blockHash}isLegacy(){return 0===this.type}isBerlin(){return 1===this.type}isLondon(){return 2===this.type}isCancun(){return 3===this.type}removedEvent(){return F(this.isMined(),"unmined transaction canot be orphaned","UNSUPPORTED_OPERATION",{operation:"removeEvent()"}),no(this)}reorderedEvent(t){return F(this.isMined(),"unmined transaction canot be orphaned","UNSUPPORTED_OPERATION",{operation:"removeEvent()"}),F(!t||t.isMined(),"unmined 'other' transaction canot be orphaned","UNSUPPORTED_OPERATION",{operation:"removeEvent()"}),na(this,t)}replaceableTransaction(t){D(Number.isInteger(t)&&t>=0,"invalid startBlock","startBlock",t);let e=new ns(this,this.provider);return e.#k=t,e}}function na(t,e){return{orphan:"reorder-transaction",tx:t,other:e}}function no(t){return{orphan:"drop-transaction",tx:t}}class nl{filter;emitter;#P;constructor(t,e,r){this.#P=e,C(this,{emitter:t,filter:r})}async removeListener(){null!=this.#P&&await this.emitter.off(this.filter,this.#P)}}class nu extends nn{interface;fragment;args;constructor(t,e,r){super(t,t.provider),C(this,{args:e.decodeEventLog(r,t.data,t.topics),fragment:r,interface:e})}get eventName(){return this.fragment.name}get eventSignature(){return this.fragment.format()}}class nc extends nn{error;constructor(t,e){super(t,t.provider),C(this,{error:e})}}class nh extends ni{#N;constructor(t,e,r){super(r,e),this.#N=t}get logs(){return super.logs.map(t=>{let e=t.topics.length?this.#N.getEvent(t.topics[0]):null;if(e)try{return new nu(t,this.#N,e)}catch(e){return new nc(t,e)}return t})}}class nf extends ns{#N;constructor(t,e,r){super(r,e),this.#N=t}async wait(t,e){let r=await super.wait(t,e);return null==r?null:new nh(this.#N,this.provider,r)}}class nd extends nl{log;constructor(t,e,r,n){super(t,e,r),C(this,{log:n})}async getBlock(){return await this.log.getBlock()}async getTransaction(){return await this.log.getTransaction()}async getTransactionReceipt(){return await this.log.getTransactionReceipt()}}class np extends nd{constructor(t,e,r,n,i){super(t,e,r,new nu(i,t.interface,n)),C(this,{args:t.interface.decodeEventLog(n,this.log.data,this.log.topics),fragment:n})}get eventName(){return this.fragment.name}get eventSignature(){return this.fragment.format()}}let ng=BigInt(0);function nm(t){return t&&"function"==typeof t.call}function ny(t){return t&&"function"==typeof t.estimateGas}function nb(t){return t&&"function"==typeof t.resolveName}function nw(t){return t&&"function"==typeof t.sendTransaction}function nA(t){if(null!=t){if(nb(t))return t;if(t.provider)return t.provider}}class nE{#R;fragment;constructor(t,e,r){if(C(this,{fragment:e}),e.inputs.length<r.length)throw Error("too many arguments");let n=nv(t.runner,"resolveName"),i=nb(n)?n:null;
1this.#R=async function(){let n=await Promise.all(e.inputs.map((t,e)=>null==r[e]?null:t.walkAsync(r[e],(t,e)=>"address"===t?Array.isArray(e)?Promise.all(e.map(t=>rW(t,i))):rW(e,i):e)));return t.interface.encodeFilterTopics(e,n)}()}getTopicFilter(){return this.#R}}function nv(t,e){return null==t?null:"function"==typeof t[e]?t:t.provider&&"function"==typeof t.provider[e]?t.provider:null}function nk(t){return null==t?null:t.provider||null}async function nP(t,e){let r=ex.dereference(t,"overrides");D("object"==typeof r,"invalid overrides parameter","overrides",t);let n=ne(r);return D(null==n.to||(e||[]).indexOf("to")>=0,"cannot override to","overrides.to",n.to),D(null==n.data||(e||[]).indexOf("data")>=0,"cannot override data","overrides.data",n.data),n.from&&(n.from=n.from),n}async function nN(t,e,r){let n=nv(t,"resolveName"),i=nb(n)?n:null;return await Promise.all(e.map((t,e)=>t.walkAsync(r[e],(t,e)=>(e=ex.dereference(e,t),"address"===t)?rW(e,i):e)))}let nR=Symbol.for("_ethersInternal_contract"),nI=new WeakMap;function nx(t){return nI.get(t[nR])}async function nO(t,e){let r;let n=null;if(Array.isArray(e)){let n=function(e){if(Q(e,32))return e;let r=t.interface.getEvent(e);return D(r,"unknown fragment","name",e),r.topicHash};r=e.map(t=>null==t?null:Array.isArray(t)?t.map(n):n(t))}else"*"===e?r=[null]:"string"==typeof e?Q(e,32)?r=[e]:(D(n=t.interface.getEvent(e),"unknown fragment","event",e),r=[n.topicHash]):e&&"object"==typeof e&&"getTopicFilter"in e&&"function"==typeof e.getTopicFilter&&e.fragment?r=await e.getTopicFilter():"fragment"in e?r=[(n=e.fragment).topicHash]:D(!1,"unknown event name","event",e);return{fragment:n,tag:(r=r.map(t=>{if(null==t)return null;if(Array.isArray(t)){let e=Array.from(new Set(t.map(t=>t.toLowerCase())).values());return 1===e.length?e[0]:(e.sort(),e)}return t.toLowerCase()})).map(t=>null==t?"null":Array.isArray(t)?t.join("|"):t).join("&"),topics:r}}async function nC(t,e){let{subs:r}=nx(t);return r.get((await nO(t,e)).tag)||null}async function nT(t,e,r){let n=nk(t.runner);F(n,"contract runner does not support subscribing","UNSUPPORTED_OPERATION",{operation:e});let{fragment:i,tag:s,topics:a}=await nO(t,r),{addr:o,subs:l}=nx(t),u=l.get(s);if(!u){let e={address:o||t,topics:a},c=e=>{let n=i;if(null==n)try{n=t.interface.getEvent(e.topics[0])}catch(t){}if(n){let s=n,a=i?t.interface.decodeEventLog(i,e.data,e.topics):[];nU(t,r,a,n=>new np(t,n,r,s,e))}else nU(t,r,[],n=>new nd(t,n,r,e))},h=[];u={tag:s,listeners:[],start:()=>{h.length||h.push(n.on(e,c))},stop:async()=>{if(0==h.length)return;let t=h;h=[],await Promise.all(t),n.off(e,c)}},l.set(s,u)}return u}let nS=Promise.resolve();async function nB(t,e,r,n){await nS;let i=await nC(t,e);if(!i)return!1;let s=i.listeners.length;return i.listeners=i.listeners.filter(({listener:e,once:i})=>{let s=Array.from(r);n&&s.push(n(i?null:e));try{e.call(t,...s)}catch(t){}return!i}),0===i.listeners.length&&(i.stop(),nx(t).subs.delete(i.tag)),s>0}async function nU(t,e,r,n){try{await nS}catch(t){}let i=nB(t,e,r,n);return nS=i,await i}let nF=["then"];class nD{target;interface;runner;filters;[nR];fallback;constructor(t,e,r,n){var i;let s;D("string"==typeof t||rK(t),"invalid value for Contract target","target",t),null==r&&(r=null);let a=rH.from(e);C(this,{target:t,runner:r,interface:a}),Object.defineProperty(this,nR,{value:{}});let o=null,l=null;if(n){let t=nk(r);l=new nf(this.interface,t,n)}let u=new Map;if("string"==typeof t){if(Q(t))o=t,s=Promise.resolve(t);else{let e=nv(r,"resolveName");if(!nb(e))throw U("contract runner does not support name resolution","UNSUPPORTED_OPERATION",{operation:"resolveName"});s=e.resolveName(t).then(e=>{if(null==e)throw U("an ENS name used for a contract target must be correctly configured","UNCONFIGURED_NAME",{value:t});return nx(this).addr=e,e})}}else s=t.getAddress().then(t=>{if(null==t)throw Error("TODO");return nx(this).addr=t,t});return i={addrPromise:s,addr:o,deployTx:l,subs:u},nI.set(this[nR],i),C(this,{filters:new Proxy({},{get:(t,e,r)=>{if("symbol"==typeof e||nF.indexOf(e)>=0)return Reflect.get(t,e,r);try{return this.getEvent(e)}catch(t){if(!S(t,"INVALID_ARGUMENT")||"key"!==t.argument)throw t}},has:(t,e)=>nF.indexOf(e)>=0?Reflect.has(t,e):Reflect.has(t,e)||this.interface.hasEvent(String(e))})}),C(this,{fallback:a.receive||a.fallback?function(t){let e=async function(e){let r=await nP(e,["data"]);r.to=await t.getAddress(),r.from&&(r.from=await rW(r.from,nA(t.runner)));let n=t.interface,i=tp(r.value||ng,"overrides.value")===ng,s="0x"===(r.data||"0x");return!n.fallback||n.fallback.payable||!n.receive||s||i||D(!1,"cannot send data to receive or send value to non-payable fallback","overrides",e),D(n.fallback||s,"cannot send data to receive-only contract","overrides.data",r.data),D(n.receive||n.fallback&&n.fallback.payable||i,"cannot send value to non-payable fallback","overrides.value",r.value),D(n.fallback||s,"cannot send data to receive-only contract","overrides.data",r.data),r},r=async function(r){let n=nv(t.runner,"call");F(nm(n),"contract runner does not support calling","UNSUPPORTED_OPERATION",{operation:"call"});let i=await e(r);try{return await n.call(i)}catch(e){if(B(e)&&e.data)throw t.interface.makeError(e.data,i);throw e}},n=async function(r){let n=t.runner;F(nw(n),"contract runner does not support sending transactions","UNSUPPORTED_OPERATION",{operation:"sendTransaction"});let i=await n.sendTransaction(await e(r)),s=nk(t.runner);return new nf(t.interface,s,i)},i=async function(r){let n=nv(t.runner,"estimateGas");return F(ny(n),"contract runner does not support gas estimation","UNSUPPORTED_OPERATION",{operation:"estimateGas"}),await n.estimateGas(await e(r))},s=async t=>await n(t);return C(s,{_contract:t,estimateGas:i,populateTransaction:e,send:n,staticCall:r}),s}(this):null}),new Proxy(this,{get:(t,e,r)=>{if("symbol"==typeof e||e in t||nF.indexOf(e)>=0)return Reflect.get(t,e,r);try{return t.getFunction(e)}catch(t){if(!S(t,"INVALID_ARGUMENT")||"key"!==t.argument)throw t}},has:(t,e)=>"symbol"==typeof e||e in t||nF.indexOf(e)>=0?Reflect.has(t,e):t.interface.hasFunction(e)})}connect(t){return new nD(this.target,this.interface,t)}attach(t){return new nD(t,this.interface,this.runner)}async getAddress(){return await nx(this).addrPromise}async getDeployedCode(){let t=nk(this.runner);F(t,"runner does not support .provider","UNSUPPORTED_OPERATION",{operation:"getDeployedCode"});let e=await t.getCode(await this.getAddress());return"0x"===e?null:e}async waitForDeployment(){let t=this.deploymentTransaction();if(t)return await t.wait(),this;if(null!=await this.getDeployedCode())return this;let e=nk(this.runner);return F(null!=e,"contract runner does not support .provider","UNSUPPORTED_OPERATION",{operation:"waitForDeployment"}),new Promise((t,r)=>{let n=async()=>{try{let r=await this.getDeployedCode();if(null!=r)return t(this);e.once("block",n)}catch(t){r(t)}};n()})}deploymentTransaction(){return nx(this).deployTx}getFunction(t){return"string"!=typeof t&&(t=t.format()),function(t,e){let r=function(...r){let n=t.interface.getFunction(e,r);return F(n,"no matching fragment","UNSUPPORTED_OPERATION",{operation:"fragment",info:{key:e,args:r}}),n},n=async function(...e){let n=r(...e),i={};if(n.inputs.length+1===e.length&&(i=await nP(e.pop())).from&&(i.from=await rW(i.from,nA(t.runner))),n.inputs.length!==e.length)throw Error("internal error: fragment inputs doesn't match arguments; should not happen");let s=await nN(t.runner,n.inputs,e);return Object.assign({},i,await O({to:t.getAddress(),data:t.interface.encodeFunctionData(n,s)}))},i=async function(...t){let e=await o(...t);return 1===e.length?e[0]:e},s=async function(...e){let r=t.runner;F(nw(r),"contract runner does not support sending transactions","UNSUPPORTED_OPERATION",{operation:"sendTransaction"});let i=await r.sendTransaction(await n(...e)),s=nk(t.runner);return new nf(t.interface,s,i)},a=async function(...e){let r=nv(t.runner,"estimateGas");return F(ny(r),"contract runner does not support gas estimation","UNSUPPORTED_OPERATION",{operation:"estimateGas"}),await r.estimateGas(await n(...e))},o=async function(...e){let i=nv(t.runner,"call");F(nm(i),"contract runner does not support calling","UNSUPPORTED_OPERATION",{operation:"call"});let s=await n(...e),a="0x";try{a=await i.call(s)}catch(e){if(B(e)&&e.data)throw t.interface.makeError(e.data,s);throw e}let o=r(...e);return t.interface.decodeFunctionResult(o,a)},l=async(...t)=>r(...t).constant?await i(...t):await s(...t);return C(l,{name:t.interface.getFunctionName(e),_contract:t,_key:e,getFragment:r,estimateGas:a,populateTransaction:n,send:s,staticCall:i,staticCallResult:o}),Object.defineProperty(l,"fragment",{configurable:!1,enumerable:!0,get:()=>{let r=t.interface.getFunction(e);return F(r,"no matching fragment","UNSUPPORTED_OPERATION",{operation:"fragment",info:{key:e}}),r}}),l}(this,t)}getEvent(t){return"string"!=typeof t&&(t=t.format()),function(t,e){let r=function(...r){let n=t.interface.getEvent(e,r);return F(n,"no matching fragment","UNSUPPORTED_OPERATION",{operation:"fragment",info:{key:e,args:r}}),n},n=function(...e){return new nE(t,r(...e),e)};return C(n,{name:t.interface.getEventName(e),_contract:t,_key:e,getFragment:r}),Object.defineProperty(n,"fragment",{configurable:!1,enumerable:!0,get:()=>{let r=t.interface.getEvent(e);return F(r,"no matching fragment","UNSUPPORTED_OPERATION",{operation:"fragment",info:{key:e}}),r}}),n}(this,t)}async queryTransaction(t){throw Error("@TODO")}async queryFilter(t,e,r){null==e&&(e=0),null==r&&(r="latest");let{addr:n,addrPromise:i}=nx(this),s=n||await i,{fragment:a,topics:o}=await nO(this,t),l={address:s,topics:o,fromBlock:e,toBlock:r},u=nk(this.runner);return F(u,"contract runner does not have a provider","UNSUPPORTED_OPERATION",{operation:"queryFilter"}),(await u.getLogs(l)).map(t=>{let e=a;if(null==e)try{e=this.interface.getEvent(t.topics[0])}catch(t){}if(e)try{return new nu(t,this.interface,e)}catch(e){return new nc(t,e)}return new nn(t,u)})}async on(t,e){let r=await nT(this,"on",t);return r.listeners.push({listener:e,once:!1}),r.start(),this}async once(t,e){let r=await nT(this,"once",t);return r.listeners.push({listener:e,once:!0}),r.start(),this}async emit(t,...e){return await nU(this,t,e,null)}async listenerCount(t){if(t){let e=await nC(this,t);return e?e.listeners.length:0}let{subs:e}=nx(this),r=0;for(let{listeners:t}of e.values())r+=t.length;return r}async listeners(t){if(t){let e=await nC(this,t);return e?e.listeners.map(({listener:t})=>t):[]}let{subs:e}=nx(this),r=[];for(let{listeners:t}of e.values())r=r.concat(t.map(({listener:t})=>t));return r}async off(t,e){let r=await nC(this,t);if(!r)return this;if(e){let t=r.listeners.map(({listener:t})=>t).indexOf(e);t>=0&&r.listeners.splice(t,1)}return(null==e||0===r.listeners.length)&&(r.stop(),nx(this).subs.delete(r.tag)),this}async removeAllListeners(t){if(t){let e=await nC(this,t);if(!e)return this;e.stop(),nx(this).subs.delete(e.tag)}else{let{subs:t}=nx(this);for(let{tag:e,stop:r}of t.values())r(),t.delete(e)}return this}async addListener(t,e){return await this.on(t,e)}async removeListener(t,e){return await this.off(t,e)}static buildClass(t){class e extends nD{constructor(e,r=null){super(e,t,r)}}return e}static from(t,e,r){return null==r&&(r=null),new this(t,e,r)}}function nL(){return nD}class nM extends nL(){}class nG{interface;bytecode;runner;constructor(t,e,r){let n=rH.from(t);e instanceof Uint8Array||("object"==typeof e&&(e=e.object),e.startsWith("0x")||(e="0x"+e)),C(this,{bytecode:e=J(z(e)),interface:n,runner:r||null})}attach(t){return new nD(t,this.interface,this.runner)}async getDeployTransaction(...t){let e={},r=this.interface.deploy;
1if(r.inputs.length+1===t.length&&(e=await nP(t.pop())),r.inputs.length!==t.length)throw Error("incorrect number of arguments to constructor");let n=await nN(this.runner,r.inputs,t);return Object.assign({},e,{data:q([this.bytecode,this.interface.encodeDeploy(n)])})}async deploy(...t){let e=await this.getDeployTransaction(...t);F(this.runner&&"function"==typeof this.runner.sendTransaction,"factory runner does not support sending transactions","UNSUPPORTED_OPERATION",{operation:"sendTransaction"});let r=await this.runner.sendTransaction(e);return new nD(rQ(r),this.interface,this.runner,r)}connect(t){return new nG(this.interface,this.bytecode,t)}static fromSolidity(t,e){D(null!=t,"bad compiler output","output",t),"string"==typeof t&&(t=JSON.parse(t));let r=t.abi,n="";return t.bytecode?n=t.bytecode:t.evm&&t.evm.bytecode&&(n=t.evm.bytecode),new this(r,n,e)}}class nH extends t2{constructor(t,e){super(),this.finished=!1,this.destroyed=!1,tL(t);let r=t1(e);if(this.iHash=t.create(),"function"!=typeof this.iHash.update)throw Error("Expected instance of class which extends utils.Hash");this.blockLen=this.iHash.blockLen,this.outputLen=this.iHash.outputLen;let n=this.blockLen,i=new Uint8Array(n);i.set(r.length>n?t.create().update(r).digest():r);for(let t=0;t<i.length;t++)i[t]^=54;this.iHash.update(i),this.oHash=t.create();for(let t=0;t<i.length;t++)i[t]^=106;this.oHash.update(i),i.fill(0)}update(t){return tM(this),this.iHash.update(t),this}digestInto(t){tM(this),tD(t,this.outputLen),this.finished=!0,this.iHash.digestInto(t),this.oHash.update(t),this.oHash.digestInto(t),this.destroy()}digest(){let t=new Uint8Array(this.oHash.outputLen);return this.digestInto(t),t}_cloneInto(t){t||(t=Object.create(Object.getPrototypeOf(this),{}));let{oHash:e,iHash:r,finished:n,destroyed:i,blockLen:s,outputLen:a}=this;return t.finished=n,t.destroyed=i,t.blockLen=s,t.outputLen=a,t.oHash=e._cloneInto(t.oHash),t.iHash=r._cloneInto(t.iHash),t}destroy(){this.destroyed=!0,this.oHash.destroy(),this.iHash.destroy()}}let nV=(t,e,r)=>new nH(t,e).update(r).digest();function nz(t,e,r,n){var i;let s;let{c:a,dkLen:o,DK:l,PRF:u,PRFSalt:c}=function(t,e,r,n){tL(t);let{c:i,dkLen:s,asyncTick:a}=t4({dkLen:32,asyncTick:10},n);if(tF(i),tF(s),tF(a),i<1)throw Error("PBKDF2: iterations (c) should be >= 1");let o=t1(e),l=t1(r),u=new Uint8Array(s),c=nV.create(t,o),h=c._cloneInto().update(l);return{c:i,dkLen:s,asyncTick:a,DK:u,PRF:c,PRFSalt:h}}(t,e,r,n),h=new Uint8Array(4),f=tY(h),d=new Uint8Array(u.outputLen);for(let t=1,e=0;e<o;t++,e+=u.outputLen){let r=l.subarray(e,e+u.outputLen);f.setInt32(0,t,!1),(s=c._cloneInto(s)).update(h).digestInto(d),r.set(d.subarray(0,r.length));for(let t=1;t<a;t++){u._cloneInto(s).update(d).digestInto(d);for(let t=0;t<r.length;t++)r[t]^=d[t]}}return i=s,u.destroy(),c.destroy(),i&&i.destroy(),d.fill(0),l}nV.create=(t,e)=>new nH(t,e);class nj extends t2{constructor(t,e,r,n){super(),this.blockLen=t,this.outputLen=e,this.padOffset=r,this.isLE=n,this.finished=!1,this.length=0,this.pos=0,this.destroyed=!1,this.buffer=new Uint8Array(t),this.view=tY(this.buffer)}update(t){tM(this);let{view:e,buffer:r,blockLen:n}=this,i=(t=t1(t)).length;for(let s=0;s<i;){let a=Math.min(n-this.pos,i-s);if(a===n){let e=tY(t);for(;n<=i-s;s+=n)this.process(e,s);continue}r.set(t.subarray(s,s+a),this.pos),this.pos+=a,s+=a,this.pos===n&&(this.process(e,0),this.pos=0)}return this.length+=t.length,this.roundClean(),this}digestInto(t){tM(this),tG(t,this),this.finished=!0;let{buffer:e,view:r,blockLen:n,isLE:i}=this,{pos:s}=this;e[s++]=128,this.buffer.subarray(s).fill(0),this.padOffset>n-s&&(this.process(r,0),s=0);for(let t=s;t<n;t++)e[t]=0;!function(t,e,r,n){if("function"==typeof t.setBigUint64)return t.setBigUint64(e,r,n);let i=BigInt(32),s=BigInt(4294967295),a=Number(r>>i&s),o=Number(r&s),l=n?4:0,u=n?0:4;t.setUint32(e+l,a,n),t.setUint32(e+u,o,n)}(r,n-8,BigInt(8*this.length),i),this.process(r,0);let a=tY(t),o=this.outputLen;if(o%4)throw Error("_sha2: outputLen should be aligned to 32bit");let l=o/4,u=this.get();if(l>u.length)throw Error("_sha2: outputLen bigger than state");for(let t=0;t<l;t++)a.setUint32(4*t,u[t],i)}digest(){let{buffer:t,outputLen:e}=this;this.digestInto(t);let r=t.slice(0,e);return this.destroy(),r}_cloneInto(t){t||(t=new this.constructor),t.set(...this.get());let{blockLen:e,buffer:r,length:n,finished:i,destroyed:s,pos:a}=this;return t.length=n,t.pos=a,t.finished=i,t.destroyed=s,n%e&&t.buffer.set(r),t}}let nQ=(t,e,r)=>t&e^~t&r,n_=(t,e,r)=>t&e^t&r^e&r,nK=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,2756
1734187,3204031479,3329325298]),nJ=new Uint32Array([1779033703,3144134277,1013904242,2773480762,1359893119,2600822924,528734635,1541459225]),nq=new Uint32Array(64);class nW extends nj{constructor(){super(64,32,8,!1),this.A=0|nJ[0],this.B=0|nJ[1],this.C=0|nJ[2],this.D=0|nJ[3],this.E=0|nJ[4],this.F=0|nJ[5],this.G=0|nJ[6],this.H=0|nJ[7]}get(){let{A:t,B:e,C:r,D:n,E:i,F:s,G:a,H:o}=this;return[t,e,r,n,i,s,a,o]}set(t,e,r,n,i,s,a,o){this.A=0|t,this.B=0|e,this.C=0|r,this.D=0|n,this.E=0|i,this.F=0|s,this.G=0|a,this.H=0|o}process(t,e){for(let r=0;r<16;r++,e+=4)nq[r]=t.getUint32(e,!1);for(let t=16;t<64;t++){let e=nq[t-15],r=nq[t-2],n=tX(e,7)^tX(e,18)^e>>>3,i=tX(r,17)^tX(r,19)^r>>>10;nq[t]=i+nq[t-7]+n+nq[t-16]|0}let{A:r,B:n,C:i,D:s,E:a,F:o,G:l,H:u}=this;for(let t=0;t<64;t++){let e=u+(tX(a,6)^tX(a,11)^tX(a,25))+nQ(a,o,l)+nK[t]+nq[t]|0,c=(tX(r,2)^tX(r,13)^tX(r,22))+n_(r,n,i)|0;u=l,l=o,o=a,a=s+e|0,s=i,i=n,n=r,r=e+c|0}r=r+this.A|0,n=n+this.B|0,i=i+this.C|0,s=s+this.D|0,a=a+this.E|0,o=o+this.F|0,l=l+this.G|0,u=u+this.H|0,this.set(r,n,i,s,a,o,l,u)}roundClean(){nq.fill(0)}destroy(){this.set(0,0,0,0,0,0,0,0),this.buffer.fill(0)}}let nZ=t5(()=>new nW),[nY,nX]=tJ.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","0xf40e3585
15771202a","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(t=>BigInt(t))),n$=new Uint32Array(80),n0=new Uint32Array(80);class n1 extends nj{constructor(){super(128,64,16,!1),this.Ah=1779033703,this.Al=-205731576,this.Bh=-1150833019,this.Bl=-2067093701,this.Ch=1013904242,this.Cl=-23791573,this.Dh=-1521486534,this.Dl=1595750129,this.Eh=1359893119,this.El=-1377402159,this.Fh=-1694144372,this.Fl=725511199,this.Gh=528734635,this.Gl=-79577749,this.Hh=1541459225,this.Hl=327033209}get(){let{Ah:t,Al:e,Bh:r,Bl:n,Ch:i,Cl:s,Dh:a,Dl:o,Eh:l,El:u,Fh:c,Fl:h,Gh:f,Gl:d,Hh:p,Hl:g}=this;return[t,e,r,n,i,s,a,o,l,u,c,h,f,d,p,g]}set(t,e,r,n,i,s,a,o,l,u,c,h,f,d,p,g){this.Ah=0|t,this.Al=0|e,this.Bh=0|r,this.Bl=0|n,this.Ch=0|i,this.Cl=0|s,this.Dh=0|a,this.Dl=0|o,this.Eh=0|l,this.El=0|u,this.Fh=0|c,this.Fl=0|h,this.Gh=0|f,this.Gl=0|d,this.Hh=0|p,this.Hl=0|g}process(t,e){for(let r=0;r<16;r++,e+=4)n$[r]=t.getUint32(e),n0[r]=t.getUint32(e+=4);for(let t=16;t<80;t++){let e=0|n$[t-15],r=0|n0[t-15],n=tJ.rotrSH(e,r,1)^tJ.rotrSH(e,r,8)^tJ.shrSH(e,r,7),i=tJ.rotrSL(e,r,1)^tJ.rotrSL(e,r,8)^tJ.shrSL(e,r,7),s=0|n$[t-2],a=0|n0[t-2],o=tJ.rotrSH(s,a,19)^tJ.rotrBH(s,a,61)^tJ.shrSH(s,a,6),l=tJ.rotrSL(s,a,19)^tJ.rotrBL(s,a,61)^tJ.shrSL(s,a,6),u=tJ.add4L(i,l,n0[t-7],n0[t-16]),c=tJ.add4H(u,n,o,n$[t-7],n$[t-16]);n$[t]=0|c,n0[t]=0|u}let{Ah:r,Al:n,Bh:i,Bl:s,Ch:a,Cl:o,Dh:l,Dl:u,Eh:c,El:h,Fh:f,Fl:d,Gh:p,Gl:g,Hh:m,Hl:y}=this;for(let t=0;t<80;t++){let e=tJ.rotrSH(c,h,14)^tJ.rotrSH(c,h,18)^tJ.rotrBH(c,h,41),b=tJ.rotrSL(c,h,14)^tJ.rotrSL(c,h,18)^tJ.rotrBL(c,h,41),w=c&f^~c&p,A=h&d^~h&g,E=tJ.add5L(y,b,A,nX[t],n0[t]),v=tJ.add5H(E,m,e,w,nY[t],n$[t]),k=0|E,P=tJ.rotrSH(r,n,28)^tJ.rotrBH(r,n,34)^tJ.rotrBH(r,n,39),N=tJ.rotrSL(r,n,28)^tJ.rotrBL(r,n,34)^tJ.rotrBL(r,n,39),R=r&i^r&a^i&a,I=n&s^n&o^s&o;m=0|p,y=0|g,p=0|f,g=0|d,f=0|c,d=0|h,({h:c,l:h}=tJ.add(0|l,0|u,0|v,0|k)),l=0|a,u=0|o,a=0|i,o=0|s,i=0|r,s=0|n;let x=tJ.add3L(k,N,I);r=tJ.add3H(x,v,P,R),n=0|x}({h:r,l:n}=tJ.add(0|this.Ah,0|this.Al,0|r,0|n)),({h:i,l:s}=tJ.add(0|this.Bh,0|this.Bl,0|i,0|s)),({h:a,l:o}=tJ.add(0|this.Ch,0|this.Cl,0|a,0|o)),({h:l,l:u}=tJ.add(0|this.Dh,0|this.Dl,0|l,0|u)),({h:c,l:h}=tJ.add(0|this.Eh,0|this.El,0|c,0|h)),({h:f,l:d}=tJ.add(0|this.Fh,0|this.Fl,0|f,0|d)),({h:p,l:g}=tJ.add(0|this.Gh,0|this.Gl,0|p,0|g)),({h:m,l:y}=tJ.add(0|this.Hh,0|this.Hl,0|m,0|y)),this.set(r,n,i,s,a,o,l,u,c,h,f,d,p,g,m,y)}roundClean(){n$.fill(0),n0.fill(0)}destroy(){this.buffer.fill(0),this.set(0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0)}}let n2=t5(()=>new n1),n3=function(){if("undefined"!=typeof self)return self;if("undefined"!=typeof window)return window;if("undefined"!=typeof global)return global;throw Error("unable to locate global object")}(),n4=n3.crypto||n3.msCrypto;function n5(t){switch(t){case"sha256":return nZ.create();case"sha512":return n2.create()}D(!1,"invalid hashing algorithm name","algorithm",t)}let n8=!1,n6=function(t,e,r){return(function(t,e){let r={sha256:nZ,sha512:n2}[t];return D(null!=r,"invalid hmac algorithm","algorithm",t),nV.create(r,e)})(t,e).update(r).digest()},n7=n6;function n9(t,e,r){let n=z(e,"key"),i=z(r,"data");return J(n7(t,n,i))}n9._=n6,n9.lock=function(){n8=!0},n9.register=function(t){if(n8)throw Error("computeHmac is locked");n7=t},Object.freeze(n9);let it=new Uint8Array([7,4,13,1,10,6,15,3,12,0,9,5,2,14,11,8]),ie=Uint8Array.from({length:16},(t,e)=>e),ir=ie.map(t=>(9*t+5)%16),ii=[ie],is=[ir];for(let t=0;t<4;t++)for(let e of[ii,is])e.push(e[t].map(t=>it[t]));let ia=[[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(t=>new Uint8Array(t)),io=ii.map((t,e)=>t.map(t=>ia[e][t])),il=is.map((t,e)=>t.map(t=>ia[e][t])),iu=new Uint32Array([0,1518500249,1859775393,2400959708,2840853838]),ic=new Uint32Array([1352829926,1548603684,1836072691,2053994217,0]),ih=(t,e)=>t<<e|t>>>32-e;function id(t,e,r,n){return 0===t?e^r^n:1===t?e&r|~e&n:2===t?(e|~r)^n:3===t?e&n|r&~n:e^(r|~n)}let ip=new Uint32Array(16);class ig extends nj{constructor(){super(64,20,8,!0),this.h0=1732584193,this.h1=-271733879,this.h2=-1732584194,this.h3=271733878,this.h4=-1009589776}get(){let{h0:t,h1:e,h2:r,h3:n,h4:i}=this;return[t,e,r,n,i]}set(t,e,r,n,i){this.h0=0|t,this.h1=0|e,this.h2=0|r,this.h3=0|n,this.h4=0|
1i}process(t,e){for(let r=0;r<16;r++,e+=4)ip[r]=t.getUint32(e,!0);let r=0|this.h0,n=r,i=0|this.h1,s=i,a=0|this.h2,o=a,l=0|this.h3,u=l,c=0|this.h4,h=c;for(let t=0;t<5;t++){let e=4-t,f=iu[t],d=ic[t],p=ii[t],g=is[t],m=io[t],y=il[t];for(let e=0;e<16;e++){let n=ih(r+id(t,i,a,l)+ip[p[e]]+f,m[e])+c|0;r=c,c=l,l=0|ih(a,10),a=i,i=n}for(let t=0;t<16;t++){let r=ih(n+id(e,s,o,u)+ip[g[t]]+d,y[t])+h|0;n=h,h=u,u=0|ih(o,10),o=s,s=r}}this.set(this.h1+a+u|0,this.h2+l+h|0,this.h3+c+n|0,this.h4+r+s|0,this.h0+i+o|0)}roundClean(){ip.fill(0)}destroy(){this.destroyed=!0,this.buffer.fill(0),this.set(0,0,0,0,0)}}let im=t5(()=>new ig),iy=!1,ib=function(t){return im(t)},iw=ib;function iA(t){let e=z(t,"data");return J(iw(e))}iA._=ib,iA.lock=function(){iy=!0},iA.register=function(t){if(iy)throw TypeError("ripemd160 is locked");iw=t},Object.freeze(iA);let iE=!1,iv=function(t,e,r,n,i){return function(t,e,r,n,i){let s={sha256:nZ,sha512:n2}[i];return D(null!=s,"invalid pbkdf2 algorithm","algorithm",i),nz(s,t,e,{c:r,dkLen:n})}(t,e,r,n,i)},ik=iv;function iP(t,e,r,n,i){let s=z(t,"password"),a=z(e,"salt");return J(ik(s,a,r,n,i))}iP._=iv,iP.lock=function(){iE=!0},iP.register=function(t){if(iE)throw Error("pbkdf2 is locked");ik=t},Object.freeze(iP);let iN=!1,iR=function(t){return new Uint8Array(function(t){F(null!=n4,"platform does not support secure random numbers","UNSUPPORTED_OPERATION",{operation:"randomBytes"}),D(Number.isInteger(t)&&t>0&&t<=1024,"invalid length","length",t);let e=new Uint8Array(t);return n4.getRandomValues(e),e}(t))},iI=iR;function ix(t){return iI(t)}ix._=iR,ix.lock=function(){iN=!0},ix.register=function(t){if(iN)throw Error("randomBytes is locked");iI=t},Object.freeze(ix);let iO=(t,e)=>t<<e|t>>>32-e;function iC(t,e,r,n,i,s){let a=t[e++]^r[n++],o=t[e++]^r[n++],l=t[e++]^r[n++],u=t[e++]^r[n++],c=t[e++]^r[n++],h=t[e++]^r[n++],f=t[e++]^r[n++],d=t[e++]^r[n++],p=t[e++]^r[n++],g=t[e++]^r[n++],m=t[e++]^r[n++],y=t[e++]^r[n++],b=t[e++]^r[n++],w=t[e++]^r[n++],A=t[e++]^r[n++],E=t[e++]^r[n++],v=a,k=o,P=l,N=u,R=c,I=h,x=f,O=d,C=p,T=g,S=m,B=y,U=b,F=w,D=A,L=E;for(let t=0;t<8;t+=2)R^=iO(v+U|0,7),C^=iO(R+v|0,9),U^=iO(C+R|0,13),v^=iO(U+C|0,18),T^=iO(I+k|0,7),F^=iO(T+I|0,9),k^=iO(F+T|0,13),I^=iO(k+F|0,18),D^=iO(S+x|0,7),P^=iO(D+S|0,9),x^=iO(P+D|0,13),S^=iO(x+P|0,18),N^=iO(L+B|0,7),O^=iO(N+L|0,9),B^=iO(O+N|0,13),L^=iO(B+O|0,18),k^=iO(v+N|0,7),P^=iO(k+v|0,9),N^=iO(P+k|0,13),v^=iO(N+P|0,18),x^=iO(I+R|0,7),O^=iO(x+I|0,9),R^=iO(O+x|0,13),I^=iO(R+O|0,18),B^=iO(S+T|0,7),C^=iO(B+S|0,9),T^=iO(C+B|0,13),S^=iO(T+C|0,18),U^=iO(L+D|0,7),F^=iO(U+L|0,9),D^=iO(F+U|0,13),L^=iO(D+F|0,18);i[s++]=a+v|0,i[s++]=o+k|0,i[s++]=l+P|0,i[s++]=u+N|0,i[s++]=c+R|0,i[s++]=h+I|0,i[s++]=f+x|0,i[s++]=d+O|0,i[s++]=p+C|0,i[s++]=g+T|0,i[s++]=m+S|0,i[s++]=y+B|0,i[s++]=b+U|0,i[s++]=w+F|0,i[s++]=A+D|0,i[s++]=E+L|0}function iT(t,e,r,n,i){let s=n+0,a=n+16*i;for(let n=0;n<16;n++)r[a+n]=t[e+(2*i-1)*16+n];for(let n=0;n<i;n++,s+=16,e+=16)iC(r,a,t,e,r,s),n>0&&(a+=16),iC(r,s,t,e+=16,r,a)}function iS(t,e,r){let{N:n,r:i,p:s,dkLen:a,asyncTick:o,maxmem:l,onProgress:u}=t4({dkLen:32,asyncTick:10,maxmem:1073742848},r);if(tF(n),tF(i),tF(s),tF(a),tF(o),tF(l),void 0!==u&&"function"!=typeof u)throw Error("progressCb should be function");let c=128*i,h=c/4;if(n<=1||(n&n-1)!=0||n>=2**(c/8)||n>4294967296)throw Error("Scrypt: N must be larger than 1, a power of 2, less than 2^(128 * r / 8) and less than 2^32");if(s<0||s>(4294967296-1)*32/c)throw Error("Scrypt: p must be a positive integer less than or equal to ((2^32 - 1) * 32) / (128 * r)");if(a<0||a>(4294967296-1)*32)throw Error("Scrypt: dkLen should be positive integer less than or equal to (2^32 - 1) * 32");let f=c*(n+s);if(f>l)throw Error(`Scrypt: parameters too large, ${f} (128 * r * (N + p)) > ${l} (maxmem)`);let d=nz(nZ,t,e,{c:1,dkLen:c*s}),p=tZ(d),g=tZ(new Uint8Array(c*n)),m=tZ(new Uint8Array(c)),y=()=>{};if(u){let t=2*n*s,e=Math.max(Math.floor(t/1e4),1),r=0;y=()=>{r++,u&&(!(r%e)||r===t)&&u(r/t)}}return{N:n,r:i,p:s,dkLen:a,blockSize32:h,V:g,B32:p,B:d,tmp:m,blockMixCb:y,asyncTick:o}}function iB(t,e,r,n,i){let s=nz(nZ,t,r,{c:1,dkLen:e});return r.fill(0),n.fill(0),i.fill(0),s}async function iU(t,e,r){let{N:n,r:i,p:s,dkLen:a,blockSize32:o,V:l,B32:u,B:c,tmp:h,blockMixCb:f,asyncTick:d}=iS(t,e,r);for(let t=0;t<s;t++){let e=o*t;for(let t=0;t<o;t++)l[t]=u[e+t];let r=0;await t0(n-1,d,()=>{iT(l,r,l,r+=o,i),f()}),iT(l,(n-1)*o,u,e,i),f(),await t0(n,d,()=>{let t=u[e+o-16]%n;for(let r=0;r<o;r++)h[r]=u[e+r]^l[t*o+r];iT(h,0,u,e,i),f()})}return iB(t,a,c,l,h)}let iF=!1,iD=!1,iL=async function(t,e,r,n,i,s,a){return await iU(t,e,{N:r,r:n,p:i,dkLen:s,onProgress:a})},iM=function(t,e,r,n,i,s){return function(t,e,r){let{N:n,r:i,p:s,dkLen:a,blockSize32:o,V:l,B32:u,B:c,tmp:h,blockMixCb:f}=iS(t,e,r);for(let t=0;t<s;t++){let e=o*t;for(let t=0;t<o;t++)l[t]=u[e+t];for(let t=0,e=0;t<n-1;t++)iT(l,e,l,e+=o,i),f();iT(l,(n-1)*o,u,e,i),f();for(let t=0;t<n;t++){let t=u[e+o-16]%n;for(let r=0;r<o;r++)h[r]=u[e+r]^l[t*o+r];iT(h,0,u,e,i),f()}}return iB(t,a,c,l,h)}(t,e,{N:r,r:n,p:i,dkLen:s})},iG=iL,iH=iM;async function iV(t,e,r,n,i,s,a){let o=z(t,"passwd"),l=z(e,"salt");return J(await iG(o,l,r,n,i,s,a))}function iz(t,e,r,n,i,s){let a=z(t,"passwd"),o=z(e,"salt");return J(iH(a,o,r,n,i,s))}iV._=iL,iV.lock=function(){iD=!0},iV.register=function(t){if(iD)throw Error("scrypt is locked");iG=t},Object.freeze(iV),iz._=iM,iz.lock=function(){iF=!0},iz.register=function(t){if(iF)throw Error("scryptSync is locked");iH=t},Object.freeze(iz);let ij=function(t){return n5("sha256").update(t).digest()},iQ=function(t){return n5("sha512").update(t).digest()},i_=ij,iK=iQ,iJ=!1,iq=!1;function iW(t){let e=z(t,"data");return J(i_(e))}function iZ(t){let e=z(t,"data");return J(iK(e))}function iY(){n9.lock(),eg.lock(),iP.lock(),ix.lock(),iA.lock(),iV.lock(),iz.lock(),iW.lock(),iZ.lock(),ix.lock()}iW._=ij,iW.lock=function(){iJ=!0},iW.register=function(t){if(iJ)throw Error("sha256 is locked");i_=t},Object.freeze(iW),iZ._=iQ,iZ.lock=function(){iq=!0},iZ.register=function(t){if(iq)throw Error("sha512 is locked");iK=t},Object.freeze(iW);let iX=BigInt(0),i$=BigInt(1),i0=BigInt(2),i1=BigInt(27),i2=BigInt(28),i3=BigInt(35),i4=BigInt("0xfffffffffffffffffffffffffffffffebaaedce6af48a03bbfd25e8cd0364141"),i5=i4/i0,i8=Symbol.for("nodejs.util.inspect.custom"),i6={};function i7(t){return $(tE(t),32)}class i9{#I;#x;#O;#C;get r(){return this.#I}set r(t){D(32===W(t),"invalid r","value",t),this.#I=J(t)}get s(){return D(8>
1parseInt(this.#x.substring(0,3)),"non-canonical s; use ._s","s",this.#x),this.#x}set s(t){D(32===W(t),"invalid s","value",t),this.#x=J(t)}get _s(){return this.#x}isValid(){return BigInt(this.#x)<=i5}get v(){return this.#O}set v(t){let e=tb(t,"value");D(27===e||28===e,"invalid v","v",t),this.#O=e}get networkV(){return this.#C}get legacyChainId(){let t=this.networkV;return null==t?null:i9.getChainId(t)}get yParity(){return 27===this.v?0:1}get yParityAndS(){let t=z(this.s);return this.yParity&&(t[0]|=128),J(t)}get compactSerialized(){return q([this.r,this.yParityAndS])}get serialized(){return q([this.r,this.s,this.yParity?"0x1c":"0x1b"])}constructor(t,e,r,n){H(t,i6,"Signature"),this.#I=e,this.#x=r,this.#O=n,this.#C=null}getCanonical(){if(this.isValid())return this;let t=i4-BigInt(this._s),e=55-this.v,r=new i9(i6,this.r,i7(t),e);return this.networkV&&(r.#C=this.networkV),r}clone(){let t=new i9(i6,this.r,this._s,this.v);return this.networkV&&(t.#C=this.networkV),t}toJSON(){let t=this.networkV;return{_type:"signature",networkV:null!=t?t.toString():null,r:this.r,s:this._s,v:this.v}}[i8](){return this.toString()}toString(){return this.isValid()?`Signature { r: ${this.r}, s: ${this._s}, v: ${this.v} }`:`Signature { r: ${this.r}, s: ${this._s}, v: ${this.v}, valid: false }`}static getChainId(t){let e=tp(t,"v");return e==i1||e==i2?iX:(D(e>=i3,"invalid EIP-155 v","v",t),(e-i3)/i0)}static getChainIdV(t,e){return tp(t)*i0+BigInt(35+e-27)}static getNormalizedV(t){let e=tp(t);return e===iX||e===i1?27:e===i$||e===i2?28:(D(e>=i3,"invalid v","v",t),e&i$?27:28)}static from(t){function e(e,r){D(e,r,"signature",t)}if(null==t)return new i9(i6,r2,r2,27);if("string"==typeof t){let r=z(t,"signature");if(64===r.length){let t=J(r.slice(0,32)),e=r.slice(32,64),n=128&e[0]?28:27;return e[0]&=127,new i9(i6,t,J(e),n)}if(65===r.length){let t=J(r.slice(0,32)),e=J(r.slice(32,64)),n=i9.getNormalizedV(r[64]);return new i9(i6,t,e,n)}e(!1,"invalid raw signature length")}if(t instanceof i9)return t.clone();let r=t.r;e(null!=r,"missing r");let n=i7(r),i=function(t,r){if(null!=t)return i7(t);if(null!=r){e(Q(r,32),"invalid yParityAndS");let t=z(r);return t[0]&=127,J(t)}e(!1,"missing s")}(t.s,t.yParityAndS),{networkV:s,v:a}=function(t,r,n){if(null!=t){let e=tp(t);return{networkV:e>=i3?e:void 0,v:i9.getNormalizedV(e)}}if(null!=r)return e(Q(r,32),"invalid yParityAndS"),{v:128&z(r)[0]?28:27};if(null!=n){switch(tb(n,"sig.yParity")){case 0:return{v:27};case 1:return{v:28}}e(!1,"invalid yParity")}e(!1,"missing v")}(t.v,t.yParityAndS,t.yParity),o=new i9(i6,n,i,a);return s&&(o.#C=s),e(null==t.yParity||tb(t.yParity,"sig.yParity")===o.yParity,"yParity mismatch"),e(null==t.yParityAndS||t.yParityAndS===o.yParityAndS,"yParityAndS mismatch"),o}}BigInt(0);let st=BigInt(1),se=BigInt(2),sr=t=>t instanceof Uint8Array,sn=Array.from({length:256},(t,e)=>e.toString(16).padStart(2,"0"));function si(t){if(!sr(t))throw Error("Uint8Array expected");let e="";for(let r=0;r<t.length;r++)e+=sn[t[r]];return e}function ss(t){if("string"!=typeof t)throw Error("hex string expected, got "+typeof t);return BigInt(""===t?"0":`0x${t}`)}function sa(t){if("string"!=typeof t)throw Error("hex string expected, got "+typeof t);let e=t.length;if(e%2)throw Error("padded hex string expected, got unpadded hex of length "+e);let r=new Uint8Array(e/2);for(let e=0;e<r.length;e++){let n=2*e,i=Number.parseInt(t.slice(n,n+2),16);if(Number.isNaN(i)||i<0)throw Error("Invalid byte sequence");r[e]=i}return r}function so(t){return ss(si(t))}function sl(t){if(!sr(t))throw Error("Uint8Array expected");return ss(si(Uint8Array.from(t).reverse()))}function su(t,e){return sa(t.toString(16).padStart(2*e,"0"))}function sc(t,e){return su(t,e).reverse()}function sh(t,e,r){let n;if("string"==typeof e)try{n=sa(e)}catch(r){throw Error(`${t} must be valid hex string, got "${e}". Cause: ${r}`)}else if(sr(e))n=Uint8Array.from(e);else throw Error(`${t} must be hex string or Uint8Array`);let i=n.length;if("number"==typeof r&&i!==r)throw Error(`${t} expected ${r} bytes, got ${i}`);return n}function sf(...t){let e=new Uint8Array(t.reduce((t,e)=>t+e.length,0)),r=0;return t.forEach(t=>{if(!sr(t))throw Error("Uint8Array expected");
1e.set(t,r),r+=t.length}),e}let sd=t=>(se<<BigInt(t-1))-st,sp=t=>new Uint8Array(t),sg=t=>Uint8Array.from(t);function sm(t,e,r){if("number"!=typeof t||t<2)throw Error("hashLen must be a number");if("number"!=typeof e||e<2)throw Error("qByteLen must be a number");if("function"!=typeof r)throw Error("hmacFn must be a function");let n=sp(t),i=sp(t),s=0,a=()=>{n.fill(1),i.fill(0),s=0},o=(...t)=>r(i,n,...t),l=(t=sp())=>{i=o(sg([0]),t),n=o(),0!==t.length&&(i=o(sg([1]),t),n=o())},u=()=>{if(s++>=1e3)throw Error("drbg: tried 1000 values");let t=0,r=[];for(;t<e;){let e=(n=o()).slice();r.push(e),t+=n.length}return sf(...r)};return(t,e)=>{let r;for(a(),l(t);!(r=e(u()));)l();return a(),r}}let sy={bigint:t=>"bigint"==typeof t,function:t=>"function"==typeof t,boolean:t=>"boolean"==typeof t,string:t=>"string"==typeof t,stringOrUint8Array:t=>"string"==typeof t||t instanceof Uint8Array,isSafeInteger:t=>Number.isSafeInteger(t),array:t=>Array.isArray(t),field:(t,e)=>e.Fp.isValid(t),hash:t=>"function"==typeof t&&Number.isSafeInteger(t.outputLen)};function sb(t,e,r={}){let n=(e,r,n)=>{let i=sy[r];if("function"!=typeof i)throw Error(`Invalid validator "${r}", expected function`);let s=t[e];if((!n||void 0!==s)&&!i(s,t))throw Error(`Invalid param ${String(e)}=${s} (${typeof s}), expected ${r}`)};for(let[t,r]of Object.entries(e))n(t,r,!1);for(let[t,e]of Object.entries(r))n(t,e,!0);return t}/*! noble-curves - MIT License (c) 2022 Paul Miller (paulmillr.com) */let sw=BigInt(0),sA=BigInt(1),sE=BigInt(2),sv=BigInt(3),sk=BigInt(4),sP=BigInt(5),sN=BigInt(8);function sR(t,e){let r=t%e;return r>=sw?r:e+r}function sI(t,e,r){let n=t;for(;e-- >sw;)n*=n,n%=r;return n}function sx(t,e){if(t===sw||e<=sw)throw Error(`invert: expected positive integers, got n=${t} mod=${e}`);let r=sR(t,e),n=e,i=sw,s=sA,a=sA,o=sw;for(;r!==sw;){let t=n/r,e=n%r,l=i-a*t,u=s-o*t;n=r,r=e,i=a,s=o,a=l,o=u}if(n!==sA)throw Error("invert: does not exist");return sR(i,e)}BigInt(9),BigInt(16);let sO=["create","isValid","is0","neg","inv","sqrt","sqr","eql","add","sub","mul","pow","div","addN","subN","mulN","sqrN"];function sC(t,e){let r=void 0!==e?e:t.toString(2).length;return{nBitLength:r,nByteLength:Math.ceil(r/8)}}function sT(t){if("bigint"!=typeof t)throw Error("field order must be bigint");return Math.ceil(t.toString(2).length/8)}function sS(t){let e=sT(t);return e+Math.ceil(e/2)}/*! noble-curves - MIT License (c) 2022 Paul Miller (paulmillr.com) */let sB=BigInt(0),sU=BigInt(1);function sF(t){return sb(t.Fp,sO.reduce((t,e)=>(t[e]="function",t),{ORDER:"bigint",MASK:"bigint",BYTES:"isSafeInteger",BITS:"isSafeInteger"})),sb(t,{n:"bigint",h:"bigint",Gx:"field",Gy:"field"},{nBitLength:"isSafeInteger",nByteLength:"isSafeInteger"}),Object.freeze({...sC(t.n,t.nBitLength),...t,p:t.Fp.ORDER})}let{bytesToNumberBE:sD,hexToBytes:sL}=R,sM={Err:class extends Error{constructor(t=""){super(t)}},_parseInt(t){let{Err:e}=sM;if(t.length<2||2!==t[0])throw new e("Invalid signature integer tag");let r=t[1],n=t.subarray(2,r+2);if(!r||n.length!==r)throw new e("Invalid signature integer: wrong length");if(128&n[0])throw new e("Invalid signature integer: negative");if(0===n[0]&&!(128&n[1]))throw new e("Invalid signature integer: unnecessary leading zero");return{d:sD(n),l:t.subarray(r+2)}},toSig(t){let{Err:e}=sM,r="string"==typeof t?sL(t):t;if(!(r instanceof Uint8Array))throw Error("ui8a expected");let n=r.length;if(n<2||48!=r[0])throw new e("Invalid signature tag");if(r[1]!==n-2)throw new e("Invalid signature: incorrect length");let{d:i,l:s}=sM._parseInt(r.subarray(2)),{d:a,l:o}=sM._parseInt(s);if(o.length)throw new e("Invalid signature: left bytes after parsing");return{r:i,s:a}},hexFromSig(t){let e=t=>8&Number.parseInt(t[0],16)?"00"+t:t,r=t=>{let e=t.toString(16);return 1&e.length?`0${e}`:e},n=e(r(t.s)),i=e(r(t.r)),s=n.length/2,a=i.length/2,o=r(s),l=r(a);return`30${r(a+s+4)}02${l}${i}02${o}${n}`}},sG=BigInt(0),sH=BigInt(1),sV=(BigInt(2),BigInt(3));BigInt(4);/*! noble-curves - MIT License (c) 2022 Paul Miller (paulmillr.com) */let sz=BigInt("0xfffffffffffffffffffffffffffffffffffffffffffffffffffffffefffffc2f"),sj=BigInt("0xfffffffffffffffffffffffffffffffebaaedce6af48a03bbfd25e8cd0364141"),sQ=BigInt(1),s_=BigInt(2),sK=(t,e)=>(t+e/s_)/e,sJ=function(t,e,r=!1,n={}){if(t<=sw)throw Error(`Expected Field ORDER > 0, got ${t}`);let{nBitLength:i,nByteLength:s}=sC(t,e);if(s>2048)throw Error("Field lengths over 2048 bytes are not supported");let a=function(t){if(t%sk===sv){let e=(t+sA)/sk;return function(t,r){let n=t.pow(r,e);if(!t.eql(t.sqr(n),r))throw Error("Cannot find square root");return n}}if(t%sN===sP){let e=(t-sP)/sN;return function(t,r){let n=t.mul(r,sE),i=t.pow(n,e),s=t.mul(r,i),a=t.mul(t.mul(s,sE),i),o=t.mul(s,t.sub(a,t.ONE));if(!t.eql(t.sqr(o),r))throw Error("Cannot find square root");return o}}return function(t){let e,r,n;let i=(t-sA)/sE;for(e=t-sA,r=0;e%sE===sw;e/=sE,r++);for(n=sE;n<t&&function(t,e,r){if(r<=sw||e<sw)throw Error("Expected power/modulo > 0");if(r===sA)return sw;let n=sA;for(;e>sw;)e&sA&&(n=n*t%r),t=t*t%r,e>>=sA;return n}(n,i,t)!==t-sA;n++);if(1===r){let e=(t+sA)/sk;return function(t,r){let n=t.pow(r,e);if(!t.eql(t.sqr(n),r))throw Error("Cannot find square root");return n}}let s=(e+sA)/sE;return function(t,a){if(t.pow(a,i)===t.neg(t.ONE))throw Error("Cannot find square root");let o=r,l=t.pow(t.mul(t.ONE,n),e),u=t.pow(a,s),c=t.pow(a,e);for(;!t.eql(c,t.ONE);){if(t.eql(c,t.ZERO))return t.ZERO;let e=1;for(let r=t.sqr(c);e<o&&!t.eql(r,t.ONE);e++)r=t.sqr(r);let r=t.pow(l,sA<<BigInt(o-e-1));l=t.sqr(r),u=t.mul(u,r),c=t.mul(c,l),o=e}return u}}(t)}(t),o=Object.freeze({ORDER:t,BITS:i,BYTES:s,MASK:sd(i),ZERO:sw,ONE:sA,create:e=>sR(e,t),isValid:e=>{if("bigint"!=typeof e)throw Error(`Invalid field element: expected bigint, got ${typeof e}`);return sw<=e&&e<t},is0:t=>t===sw,isOdd:t=>(t&sA)===sA,neg:e=>sR(-e,t),eql:(t,e)=>t===e,sqr:e=>sR(e*e,t),add:(e,r)=>sR(e+r,t),sub:(e,r)=>sR(e-r,t),mul:(e,r)=>sR(e*r,t),pow:(t,e)=>(function(t,e,r){if(r<sw)throw Error("Expected power > 0");if(r===sw)return t.ONE;if(r===sA)return e;let n=t.ONE,i=e;for(;r>sw;)r&sA&&(n=t.mul(n,i)),i=t.sqr(i),r>>=sA;return n})(o,t,e),div:(e,r)=>sR(e*sx(r,t),t),sqrN:t=>t*t,addN:(t,e)=>t+e,subN:(t,e)=>t-e,mulN:(t,e)=>t*e,inv:e=>sx(e,t),sqrt:n.sqrt||(t=>a(o,t)),invertBatch:t=>(function(t,e){let r=Array(e.length),n=e.reduce((e,n,i)=>t.is0(n)?e:(r[i]=e,t.mul(e,n)),t.ONE),i=t.inv(n);return e.reduceRight((e,n,i)=>t.is0(n)?e:(r[i]=t.mul(e,r[i]),t.mul(e,n)),i),r})(o,t),cmov:(t,e,r)=>r?e:t,toBytes:t=>r?sc(t,s):su(t,s),fromBytes:t=>{if(t.length!==s)throw Error(`Fp.fromBytes: expected ${s}, got ${t.length}`);return r?sl(t):so(t)}});return Object.freeze(o)}(sz,void 0,void 0,{sqrt:function(t){let e=BigInt(3),r=BigInt(6),n=BigInt(11),i=BigInt(22),s=BigInt(23),a=BigInt(44),o=BigInt(88),l=t*t*t%sz,u=l*l*t%sz,c=sI(u,e,sz)*u%sz,h=sI(c,e,sz)*u%sz,f=sI(h,s_,sz)*l%sz,d=sI(f,n,sz)*f%sz,p=sI(d,i,sz)*d%sz,g=sI(p,a,sz)*p%sz,m=sI(g,o,sz)*g%sz,y=sI(m,a,sz)*p%sz,b=sI(y,e,sz)*u%sz,w=sI(b,s,sz)*d%sz,A=sI(w,r,sz)*l%sz,E=sI(A,s_,sz);if(!sJ.eql(sJ.sqr(E),t))throw Error("Cannot find square root");return E}}),sq=function(t,e){let r=e=>(function(t){let e=function(t){let e=sF(t);return sb(e,{hash:"hash",hmac:"function",randomBytes:"function"},{bits2int:"function",bits2int_modN:"function",lowS:"boolean"}),Object.freeze({lowS:!0,...e})}(t),{Fp:r,n:n}=e,i=r.BYTES+1,s=2*r.BYTES+1;function a(t){return sR(t,n)}let{ProjectivePoint:o,normPrivateKeyToScalar:l,weierstrassEquation:u,isWithinCurveOrder:c}=function(t){let e=/*! noble-curves - MIT License (c) 2022 Paul Miller (paulmillr.com) */function(t){let e=sF(t);sb(e,{a:"field",b:"field"},{allowedPrivateKeyLengths:"array",wrapPrivateKey:"boolean",isTorsionFree:"function",clearCofactor:"function",allowInfinityPoint:"boolean",fromBytes:"function",toBytes:"function"});let{endo:r,Fp:n,a:i}=e;if(r){if(!n.eql(i,n.ZERO))throw Error("Endomorphism can only be defined for Koblitz curves that have a=0");if("object"!=typeof r||"bigint"!=typeof r.beta||"function"!=typeof r.splitScalar)throw Error("Expected endomorphism with beta: bigint and splitScalar: function")}return Object.freeze({...e})}(t),{Fp:r}=e,n=e.toBytes||((t,e,n)=>{let i=e.toAffine();return sf(Uint8Array.from([4]),r.toBytes(i.x),r.toBytes(i.y))}),i=e.fromBytes||(t=>{let e=t.subarray(1);return{x:r.fromBytes(e.subarray(0,r.BYTES)),y:r.fromBytes(e.subarray(r.BYTES,2*r.BYTES))}});function s(t){let{a:n,b:i}
1=e,s=r.sqr(t),a=r.mul(s,t);return r.add(r.add(a,r.mul(t,n)),i)}if(!r.eql(r.sqr(e.Gy),s(e.Gx)))throw Error("bad generator point: equation left != right");function a(t){return"bigint"==typeof t&&sG<t&&t<e.n}function o(t){if(!a(t))throw Error("Expected valid bigint: 0 < bigint < curve.n")}function l(t){let r;let{allowedPrivateKeyLengths:n,nByteLength:i,wrapPrivateKey:s,n:a}=e;if(n&&"bigint"!=typeof t){if(t instanceof Uint8Array&&(t=si(t)),"string"!=typeof t||!n.includes(t.length))throw Error("Invalid key");t=t.padStart(2*i,"0")}try{r="bigint"==typeof t?t:so(sh("private key",t,i))}catch(e){throw Error(`private key must be ${i} bytes, hex or bigint, not ${typeof t}`)}return s&&(r=sR(r,a)),o(r),r}let u=new Map;function c(t){if(!(t instanceof h))throw Error("ProjectivePoint expected")}class h{constructor(t,e,n){if(this.px=t,this.py=e,this.pz=n,null==t||!r.isValid(t))throw Error("x required");if(null==e||!r.isValid(e))throw Error("y required");if(null==n||!r.isValid(n))throw Error("z required")}static fromAffine(t){let{x:e,y:n}=t||{};if(!t||!r.isValid(e)||!r.isValid(n))throw Error("invalid affine point");if(t instanceof h)throw Error("projective point not allowed");let i=t=>r.eql(t,r.ZERO);return i(e)&&i(n)?h.ZERO:new h(e,n,r.ONE)}get x(){return this.toAffine().x}get y(){return this.toAffine().y}static normalizeZ(t){let e=r.invertBatch(t.map(t=>t.pz));return t.map((t,r)=>t.toAffine(e[r])).map(h.fromAffine)}static fromHex(t){let e=h.fromAffine(i(sh("pointHex",t)));return e.assertValidity(),e}static fromPrivateKey(t){return h.BASE.multiply(l(t))}_setWindowSize(t){this._WINDOW_SIZE=t,u.delete(this)}assertValidity(){if(this.is0()){if(e.allowInfinityPoint&&!r.is0(this.py))return;throw Error("bad point: ZERO")}let{x:t,y:n}=this.toAffine();if(!r.isValid(t)||!r.isValid(n))throw Error("bad point: x or y not FE");let i=r.sqr(n),a=s(t);if(!r.eql(i,a))throw Error("bad point: equation left != right");if(!this.isTorsionFree())throw Error("bad point: not in prime-order subgroup")}hasEvenY(){let{y:t}=this.toAffine();if(r.isOdd)return!r.isOdd(t);throw Error("Field doesn't support isOdd")}equals(t){c(t);let{px:e,py:n,pz:i}=this,{px:s,py:a,pz:o}=t,l=r.eql(r.mul(e,o),r.mul(s,i)),u=r.eql(r.mul(n,o),r.mul(a,i));return l&&u}negate(){return new h(this.px,r.neg(this.py),this.pz)}double(){let{a:t,b:n}=e,i=r.mul(n,sV),{px:s,py:a,pz:o}=this,l=r.ZERO,u=r.ZERO,c=r.ZERO,f=r.mul(s,s),d=r.mul(a,a),p=r.mul(o,o),g=r.mul(s,a);return g=r.add(g,g),c=r.mul(s,o),c=r.add(c,c),l=r.mul(t,c),u=r.mul(i,p),u=r.add(l,u),l=r.sub(d,u),u=r.add(d,u),u=r.mul(l,u),l=r.mul(g,l),c=r.mul(i,c),p=r.mul(t,p),g=r.sub(f,p),g=r.mul(t,g),g=r.add(g,c),c=r.add(f,f),f=r.add(c,f),f=r.add(f,p),f=r.mul(f,g),u=r.add(u,f),p=r.mul(a,o),p=r.add(p,p),f=r.mul(p,g),l=r.sub(l,f),c=r.mul(p,d),c=r.add(c,c),new h(l,u,c=r.add(c,c))}add(t){c(t);let{px:n,py:i,pz:s}=this,{px:a,py:o,pz:l}=t,u=r.ZERO,f=r.ZERO,d=r.ZERO,p=e.a,g=r.mul(e.b,sV),m=r.mul(n,a),y=r.mul(i,o),b=r.mul(s,l),w=r.add(n,i),A=r.add(a,o);w=r.mul(w,A),A=r.add(m,y),w=r.sub(w,A),A=r.add(n,s);let E=r.add(a,l);return A=r.mul(A,E),E=r.add(m,b),A=r.sub(A,E),E=r.add(i,s),u=r.add(o,l),E=r.mul(E,u),u=r.add(y,b),E=r.sub(E,u),d=r.mul(p,A),u=r.mul(g,b),d=r.add(u,d),u=r.sub(y,d),d=r.add(y,d),f=r.mul(u,d),y=r.add(m,m),y=r.add(y,m),b=r.mul(p,b),A=r.mul(g,A),y=r.add(y,b),b=r.sub(m,b),b=r.mul(p,b),A=r.add(A,b),m=r.mul(y,A),f=r.add(f,m),m=r.mul(E,A),u=r.mul(w,u),u=r.sub(u,m),m=r.mul(w,y),d=r.mul(E,d),new h(u,f,d=r.add(d,m))}subtract(t){return this.add(t.negate())}is0(){return this.equals(h.ZERO)}wNAF(t){return d.wNAFCached(this,u,t,t=>{let e=r.invertBatch(t.map(t=>t.pz));return t.map((t,r)=>t.toAffine(e[r])).map(h.fromAffine)})}multiplyUnsafe(t){let n=h.ZERO;if(t===sG)return n;if(o(t),t===sH)return this;let{endo:i}=e;if(!i)return d.unsafeLadder(this,t);let{k1neg:s,k1:a,k2neg:l,k2:u}=i.splitScalar(t),c=n,f=n,p=this;for(;a>sG||u>sG;)a&sH&&(c=c.add(p)),u&sH&&(f=f.add(p)),p=p.double(),a>>=sH,u>>=sH;return s&&(c=c.negate()),l&&(f=f.negate()),f=new h(r.mul(f.px,i.beta),f.py,f.pz),c.add(f)}multiply(t){let n,i;o(t);let{endo:s}=e;if(s){let{k1neg:e,k1:a,k2neg:o,k2:l}=s.splitScalar(t),{p:u,f:c}=this.wNAF(a),{p:f,f:p}=this.wNAF(l);u=d.constTimeNegate(e,u),f=d.constTimeNegate(o,f),f=new h(r.mul(f.px,s.beta),f.py,f.pz),n=u.add(f),i=c.add(p)}else{let{p:e,f:r}=this.wNAF(t);n=e,i=r}return h.normalizeZ([n,i])[0]}multiplyAndAddUnsafe(t,e,r){let n=h.BASE,i=(t,e)=>e!==sG&&e!==sH&&t.equals(n)?t.multiply(e):t.multiplyUnsafe(e),s=i(this,e).add(i(t,r));return s.is0()?void 0:s}toAffine(t){let{px:e,py:n,pz:i}=this,s=this.is0();null==t&&(t=s?r.ONE:r.inv(i));let a=r.mul(e,t),o=r.mul(n,t),l=r.mul(i,t);if(s)return{x:r.ZERO,y:r.ZERO};
1if(!r.eql(l,r.ONE))throw Error("invZ was invalid");return{x:a,y:o}}isTorsionFree(){let{h:t,isTorsionFree:r}=e;if(t===sH)return!0;if(r)return r(h,this);throw Error("isTorsionFree() has not been declared for the elliptic curve")}clearCofactor(){let{h:t,clearCofactor:r}=e;return t===sH?this:r?r(h,this):this.multiplyUnsafe(e.h)}toRawBytes(t=!0){return this.assertValidity(),n(h,this,t)}toHex(t=!0){return si(this.toRawBytes(t))}}h.BASE=new h(e.Gx,e.Gy,r.ONE),h.ZERO=new h(r.ZERO,r.ONE,r.ZERO);let f=e.nBitLength,d=function(t,e){let r=(t,e)=>{let r=e.negate();return t?r:e},n=t=>({windows:Math.ceil(e/t)+1,windowSize:2**(t-1)});return{constTimeNegate:r,unsafeLadder(e,r){let n=t.ZERO,i=e;for(;r>sB;)r&sU&&(n=n.add(i)),i=i.double(),r>>=sU;return n},precomputeWindow(t,e){let{windows:r,windowSize:i}=n(e),s=[],a=t,o=a;for(let t=0;t<r;t++){o=a,s.push(o);for(let t=1;t<i;t++)o=o.add(a),s.push(o);a=o.double()}return s},wNAF(e,i,s){let{windows:a,windowSize:o}=n(e),l=t.ZERO,u=t.BASE,c=BigInt(2**e-1),h=2**e,f=BigInt(e);for(let t=0;t<a;t++){let e=t*o,n=Number(s&c);s>>=f,n>o&&(n-=h,s+=sU);let a=e+Math.abs(n)-1,d=t%2!=0,p=n<0;0===n?u=u.add(r(d,i[e])):l=l.add(r(p,i[a]))}return{p:l,f:u}},wNAFCached(t,e,r,n){let i=t._WINDOW_SIZE||1,s=e.get(t);return s||(s=this.precomputeWindow(t,i),1!==i&&e.set(t,n(s))),this.wNAF(i,s,r)}}}(h,e.endo?Math.ceil(f/2):f);return{CURVE:e,ProjectivePoint:h,normPrivateKeyToScalar:l,weierstrassEquation:s,isWithinCurveOrder:a}}({...e,toBytes(t,e,n){let i=e.toAffine(),s=r.toBytes(i.x),a=sf;return n?a(Uint8Array.from([e.hasEvenY()?2:3]),s):a(Uint8Array.from([4]),s,r.toBytes(i.y))},fromBytes(t){let e=t.length,n=t[0],a=t.subarray(1);if(e===i&&(2===n||3===n)){let t=so(a);if(!(sG<t&&t<r.ORDER))throw Error("Point is not on curve");let e=u(t),i=r.sqrt(e);return(1&n)==1!=((i&sH)===sH)&&(i=r.neg(i)),{x:t,y:i}}if(e===s&&4===n)return{x:r.fromBytes(a.subarray(0,r.BYTES)),y:r.fromBytes(a.subarray(r.BYTES,2*r.BYTES))};throw Error(`Point of length ${e} was invalid. Expected ${i} compressed bytes or ${s} uncompressed bytes`)}}),h=t=>si(su(t,e.nByteLength)),f=(t,e,r)=>so(t.slice(e,r));class d{constructor(t,e,r){this.r=t,this.s=e,this.recovery=r,this.assertValidity()}static fromCompact(t){let r=e.nByteLength;return new d(f(t=sh("compactSignature",t,2*r),0,r),f(t,r,2*r))}static fromDER(t){let{r:e,s:r}=sM.toSig(sh("DER",t));return new d(e,r)}assertValidity(){if(!c(this.r))throw Error("r must be 0 < r < CURVE.n");if(!c(this.s))throw Error("s must be 0 < s < CURVE.n")}addRecoveryBit(t){return new d(this.r,this.s,t)}recoverPublicKey(t){let{r:i,s,recovery:l}=this,u=m(sh("msgHash",t));if(null==l||![0,1,2,3].includes(l))throw Error("recovery id invalid");let c=2===l||3===l?i+e.n:i;if(c>=r.ORDER)throw Error("recovery id 2 or 3 invalid");let f=(1&l)==0?"02":"03",d=o.fromHex(f+h(c)),p=sx(c,n),g=a(-u*p),y=a(s*p),b=o.BASE.multiplyAndAddUnsafe(d,g,y);if(!b)throw Error("point at infinify");return b.assertValidity(),b}hasHighS(){return this.s>n>>sH}normalizeS(){return this.hasHighS()?new d(this.r,a(-this.s),this.recovery):this}toDERRawBytes(){return sa(this.toDERHex())}toDERHex(){return sM.hexFromSig({r:this.r,s:this.s})}toCompactRawBytes(){return sa(this.toCompactHex())}toCompactHex(){return h(this.r)+h(this.s)}}function p(t){let e=t instanceof Uint8Array,r="string"==typeof t,n=(e||r)&&t.length;return e?n===i||n===s:r?n===2*i||n===2*s:t instanceof o}let g=e.bits2int||function(t){let r=so(t),n=8*t.length-e.nBitLength;return n>0?r>>BigInt(n):r},m=e.bits2int_modN||function(t){return a(g(t))},y=sd(e.nBitLength);function b(t){if("bigint"!=typeof t)throw Error("bigint expected");if(!(sG<=t&&t<y))throw Error(`bigint expected < 2^${e.nBitLength}`);return su(t,e.nByteLength)}let w={lowS:e.lowS,prehash:!1},A={lowS:e.lowS,prehash:!1};return o.BASE._setWindowSize(8),{CURVE:e,getPublicKey:function(t,e=!0){return o.fromPrivateKey(t).toRawBytes(e)},getSharedSecret:function(t,e,r=!0){if(p(t))throw Error("first arg must be private key");if(!p(e))throw Error("second arg must be public key");return o.fromHex(e).multiply(l(t)).toRawBytes(r)},sign:function(t,i,s=w){let{seed:u,k2sig:h}=function(t,i,s=w){if(["recovered","canonical"].some(t=>t in s))throw Error("sign() legacy options not supported");let{hash:u,randomBytes:h}=e,{lowS:f,prehash:p,extraEntropy:y}=s;null==f&&(f=!0),t=sh("msgHash",t),p&&(t=sh("prehashed msgHash",u(t)));let A=m(t),E=l(i),v=[b(E),b(A)];if(null!=y){let t=!0===y?h(r.BYTES):y;v.push(sh("extraEntropy",t))}return{seed:sf(...v),k2sig:function(t){let e=g(t);if(!c(e))return;
1let r=sx(e,n),i=o.BASE.multiply(e).toAffine(),s=a(i.x);if(s===sG)return;let l=a(r*a(A+s*E));if(l===sG)return;let u=(i.x===s?0:2)|Number(i.y&sH),h=l;if(f&&l>n>>sH)h=l>n>>sH?a(-l):l,u^=1;return new d(s,h,u)}}}(t,i,s);return sm(e.hash.outputLen,e.nByteLength,e.hmac)(u,h)},verify:function(t,r,i,s=A){let l,u;if(r=sh("msgHash",r),i=sh("publicKey",i),"strict"in s)throw Error("options.strict was renamed to lowS");let{lowS:c,prehash:h}=s;try{if("string"==typeof t||t instanceof Uint8Array)try{u=d.fromDER(t)}catch(e){if(!(e instanceof sM.Err))throw e;u=d.fromCompact(t)}else if("object"==typeof t&&"bigint"==typeof t.r&&"bigint"==typeof t.s){let{r:e,s:r}=t;u=new d(e,r)}else throw Error("PARSE");l=o.fromHex(i)}catch(t){if("PARSE"===t.message)throw Error("signature must be Signature instance, Uint8Array or hex string");return!1}if(c&&u.hasHighS())return!1;h&&(r=e.hash(r));let{r:f,s:p}=u,g=m(r),y=sx(p,n),b=a(g*y),w=a(f*y),E=o.BASE.multiplyAndAddUnsafe(l,b,w)?.toAffine();return!!E&&a(E.x)===f},ProjectivePoint:o,Signature:d,utils:{isValidPrivateKey(t){try{return l(t),!0}catch(t){return!1}},normPrivateKeyToScalar:l,randomPrivateKey:()=>{let t=sS(e.n);return function(t,e,r=!1){let n=t.length,i=sT(e),s=sS(e);if(n<16||n<s||n>1024)throw Error(`expected ${s}-1024 bytes of input, got ${n}`);let a=sR(r?so(t):sl(t),e-sA)+sA;return r?sc(a,i):su(a,i)}(e.randomBytes(t),e.n)},precompute:(t=8,e=o.BASE)=>(e._setWindowSize(t),e.multiply(BigInt(3)),e)}}})({...t,hash:e,hmac:(t,...r)=>nV(e,t,function(...t){let e=new Uint8Array(t.reduce((t,e)=>t+e.length,0)),r=0;return t.forEach(t=>{if(!tW(t))throw Error("Uint8Array expected");e.set(t,r),r+=t.length}),e}(...r)),randomBytes:t8});return Object.freeze({...r(e),create:r})}({a:BigInt(0),b:BigInt(7),Fp:sJ,n:sj,Gx:BigInt("55066263022277343669578718895168534326250603453777594175500187360389116729240"),Gy:BigInt("32670510020758816978083085130507043184471273380659243275938904335757337482424"),h:BigInt(1),lowS:!0,endo:{beta:BigInt("0x7ae96a2b657c07106e64479eac3434e99cf0497512f58995c1396c28719501ee"),splitScalar:t=>{let e=BigInt("0x3086d221a7d46bcde86c90e49284eb15"),r=-sQ*BigInt("0xe4437ed6010e88286f547fa90abfe4c3"),n=BigInt("0x114ca50f7a8e2f3f657c1108d9d44cfd8"),i=BigInt("0x100000000000000000000000000000000"),s=sK(e*t,sj),a=sK(-r*t,sj),o=sR(t-s*e-a*n,sj),l=sR(-s*r-a*e,sj),u=o>i,c=l>i;
1if(u&&(o=sj-o),c&&(l=sj-l),o>i||l>i)throw Error("splitScalar: Endomorphism failed, k="+t);return{k1neg:u,k1:o,k2neg:c,k2:l}}}},nZ);BigInt(0),sq.ProjectivePoint;class sW{#T;constructor(t){D(32===W(t),"invalid private key","privateKey","[REDACTED]"),this.#T=J(t)}get privateKey(){return this.#T}get publicKey(){return sW.computePublicKey(this.#T)}get compressedPublicKey(){return sW.computePublicKey(this.#T,!0)}sign(t){D(32===W(t),"invalid digest length","digest",t);let e=sq.sign(j(t),j(this.#T),{lowS:!0});return i9.from({r:tA(e.r,32),s:tA(e.s,32),v:e.recovery?28:27})}computeSharedSecret(t){let e=sW.computePublicKey(t);return J(sq.getSharedSecret(j(this.#T),z(e),!1))}static computePublicKey(t,e){let r=z(t,"key");if(32===r.length)return J(sq.getPublicKey(r,!!e));if(64===r.length){let t=new Uint8Array(65);t[0]=4,t.set(r,1),r=t}return J(sq.ProjectivePoint.fromHex(r).toRawBytes(e))}static recoverPublicKey(t,e){D(32===W(t),"invalid digest length","digest",t);let r=i9.from(e),n=sq.Signature.fromCompact(j(q([r.r,r.s]))),i=(n=n.addRecoveryBit(r.yParity)).recoverPublicKey(j(t));return D(null!=i,"invalid signature for digest","signature",e),"0x"+i.toHex(!1)}static addPoints(t,e,r){let n=sq.ProjectivePoint.fromHex(sW.computePublicKey(t).substring(2)),i=sq.ProjectivePoint.fromHex(sW.computePublicKey(e).substring(2));return"0x"+n.add(i).toHex(!!r)}}let sZ=new Map([[8217,"apostrophe"],[8260,"fraction slash"],[12539,"middle dot"]]);function sY(t){var e;let r;return e=function(t){let e=0;function r(){return t[e++]<<8|t[e++]}let n=r(),i=1,s=[0,1];for(let t=1;t<n;t++)s.push(i+=r());let a=r(),o=e;e+=a;let l=0,u=0;function c(){return 0==l&&(u=u<<8|t[e++],l=8),u>>--l&1}let h=2147483648-1,f=0;for(let t=0;t<31;t++)f=f<<1|c();let d=[],p=0,g=2147483648;for(;;){let t=Math.floor(((f-p+1)*i-1)/g),e=0,r=n;for(;r-e>1;){let n=e+r>>>1;t<s[n]?r=n:e=n}if(0==e)break;d.push(e);let a=p+Math.floor(g*s[e]/i),o=p+Math.floor(g*s[e+1]/i)-1;for(;((a^o)&1073741824)==0;)f=f<<1&h|c(),a=a<<1&h,o=o<<1&h|1;for(;a&~o&536870912;)f=1073741824&f|f<<1&h>>>1|c(),a=a<<1^1073741824,o=(1073741824^o)<<1|1073741825;p=a,g=1+o-a}let m=n-4;return d.map(e=>{switch(e-m){case 3:return m+65792+(t[o++]<<16|t[o++]<<8|t[o++]);case 2:return m+256+(t[o++]<<8|t[o++]);case 1:return m+t[o++];default:return e-1}})}(function(t){let e=[];[..."ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/"].forEach((t,r)=>e[t.charCodeAt(0)]=r);let r=t.length,n=new Uint8Array(6*r>>
13);for(let i=0,s=0,a=0,o=0;i<r;i++)o=o<<6|e[t.charCodeAt(i)],(a+=6)>=8&&(n[s++]=o>>(a-=8));return n}(t)),r=0,()=>e[r++]}function sX(t,e=0){let r=[];for(;;){let n=t(),i=t();if(!i)break;e+=n;for(let t=0;t<i;t++)r.push(e+t);e+=i+1}return r}function s$(t){return s1(()=>{let e=sX(t);if(e.length)return e})}function s0(t){let e=[];for(;;){let r=t();if(0==r)break;e.push(function(t,e){let r=1+e(),n=e(),i=s1(e);return s2(i.length,1+t,e).flatMap((t,e)=>{let[s,...a]=t;return Array(i[e]).fill().map((t,e)=>{let i=e*n;return[s+e*r,a.map(t=>t+i)]})})}(r,t))}for(;;){let r=t()-1;if(r<0)break;e.push(s2(1+t(),1+r,t).map(t=>[t[0],t.slice(1)]))}return e.flat()}function s1(t){let e=[];for(;;){let r=t(e.length);if(!r)break;e.push(r)}return e}function s2(t,e,r){let n=Array(t).fill().map(()=>[]);for(let i=0;i<e;i++)(function(t,e){let r=Array(t);for(let i=0,s=0;i<t;i++){var n;r[i]=s+=1&(n=e())?~n>>1:n>>1}return r})(t,r).forEach((t,e)=>n[e].push(t));return n}function s3(t){return`{${t.toString(16).toUpperCase().padStart(2,"0")}}`}function s4(t){let e=t.length;if(e<4096)return String.fromCodePoint(...t);let r=[];for(let n=0;n<e;)r.push(String.fromCodePoint(...t.slice(n,n+=4096)));return r.join("")}function s5(t,e){let r=t.length,n=r-e.length;for(let i=0;0==n&&i<r;i++)n=t[i]-e[i];return n}function s8(t){return t>>24&255}function s6(t){return 16777215&t}function s7(t){return t>=44032&&t<55204}function s9(t){n||function(){let t=sY
vendor: 7,457 bytes, line 1
1("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");f
1or(let[e,r]of(n=new Map(s$(t).flatMap((t,e)=>t.map(t=>[t,e+1<<24]))),i=new Set(sX(t)),s=new Map,a=new Map,s0(t))){if(!i.has(e)&&2==r.length){let[t,n]=r,i=a.get(t);i||(i=new Map,a.set(t,i)),i.set(n,e)}s.set(e,r.reverse())}}();let e=[],r=[],o=!1;function l(t){let r=n.get(t);r&&(o=!0,t|=r),e.push(t)}for(let n of t)for(;;){if(n<128)e.push(n);else if(s7(n)){let t=n-44032,e=t/588|0,r=t%588/28|0,i=t%28;l(4352+e),l(4449+r),i>0&&l(4519+i)}else{let t=s.get(n);t?r.push(...t):l(n)}if(!r.length)break;n=r.pop()}if(o&&e.length>1){let t=s8(e[0]);for(let r=1;r<e.length;r++){let n=s8(e[r]);if(0==n||t<=n){t=n;continue}let i=r-1;for(;;){let r=e[i+1];if(e[i+1]=e[i],e[i]=r,!i||(t=s8(e[--i]))<=n)break}t=s8(e[r])}}return e}function at(t){return function(t){let e=[],r=[],n=-1,i=0;for(let s of t){let t=s8(s),o=s6(s);if(-1==n)0==t?n=o:e.push(o);else if(i>0&&i>=t)0==t?(e.push(n,...r),r.length=0,n=o):r.push(o),i=t;else{let s=function(t,e){if(t>=4352&&t<4371&&e>=4449&&e<4470)return 44032+(t-4352)*588+(e-4449)*28;if(s7(t)&&e>4519&&e<4547&&(t-44032)%28==0)return t+(e-4519);{let r=a.get(t);return r&&(r=r.get(e))?r:-1}}(n,o);s>=0?n=s:0==i&&0==t?(e.push(n),n=o):(r.push(o),i=t)}}return n>=0&&e.push(n,...r),e}(s9(t))}let ae=t=>Array.from(t);function ar(t,e){return t.P.has(e)||t.Q.has(e)}class an extends Array{get is_emoji(){return!0}}function ai(){let t,e;if(o)return;let r=sY("AEEUdwmgDS8BxQKKAP4BOgDjATAAngDUAIMAoABoAOAAagCOAEQAhABMAHIAOwA9ACsANgAmAGIAHgAuACgAJwAXAC0AGgAjAB8ALwAUACkAEgAeAAkAGwARABkAFgA5ACgALQArADcAFQApABAAHgAiABAAGgAeABMAGAUhBe8BFxREN8sF2wC5AK5HAW8ArQkDzQCuhzc3NzcBP68NEfMABQdHBuw5BV8FYAA9MzkI9r4ZBg7QyQAWA9CeOwLNCjcCjqkChuA/lm+RAsXTAoP6ASfnEQDytQFJAjWVCkeXAOsA6godAB/cwdAUE0WlBCN/AQUCQRjFD/MRBjHxDQSJbw0jBzUAswBxme+tnIcAYwabAysG8QAjAEMMmxcDqgPKQyDXCMMxA7kUQwD3NXOrAKmFIAAfBC0D3x4BJQDBGdUFAhEgVD8JnwmQJiNWYUzrg0oAGwAUAB0AFnNcACkAFgBP9h3gPfsDOWDKneY2ChglX1UDYD30ABsAFAAdABZzIGRAnwDD8wAjAEEMzRbDqgMB2sAFYwXqAtCnAsS4AwpUJKRtFHsadUz9AMMVbwLpABM1NJEX0ZkCgYMBEyMAxRVvAukAEzUBUFAtmUwSAy4DBTER33EftQHfSwB5MxJ/AjkWKQLzL8E/cwBB6QH9LQDPDtO9ASNriQC5DQANAwCK21EFI91zHwCoL9kBqQcHBwcHKzUDowBvAQohPvU3fAQgHwCyAc8CKQMA5zMSezr7ULgFmDp/LzVQBgEGAi8FYQVgt8AFcTtlQhpCWEmfe5tmZ6IAExsDzQ8t+X8rBKtTAltbAn0jsy8Bl6utPWMDTR8Ei2kRANkDBrNHNysDBzECQWUAcwFpJ3kAiyUhAJ0BUb8AL3EfAbfNAz81KUsFWwF3YQZtAm0A+VEfAzEJDQBRSQCzAQBlAHsAM70GD/v3IZWHBwARKQAxALsjTwHZAeMPEzmXgIHwABIAGQA8AEUAQDt3gdvIEGcQZAkGTRFMdEIVEwK0D64L7REdDNkq09PgADSxB/MDWwfzA1sDWwfzB/MDWwfzA1sDWwNbA1scEvAi28gQZw9QBHUFlgWTBN4IiyZREYkHMAjaVBV0JhxPA00BBCMtSSQ7mzMTJUpMFE0LCAQ2SmyvfUADTzGzVP2QqgPTMlc5dAkGHnkSqAAyD3skNb1OhnpPcagKU0+2tYdJak5vAsY6sEAACikJm2/Dd1YGRRAfJ6kQ+ww3AbkBPw3xS9wE9QY/BM0fgRkdD9GVoAipLeEM8SbnLqWAXiP5KocF8Uv4POELUVFsD10LaQnnOmeBUgMlAREijwrhDT0IcRD3Cs1vDekRSQc9A9lJngCpBwULFR05FbkmFGKwCw05ewb/GvoLkyazEy17AAXXGiUGUQEtGwMA0y7rhbRaNVwgT2MGBwspI8sUrFAkDSlAu3hMGh8HGSWtApVDdEqLUToelyH6PEENai4XUYAH+TwJGVMLhT
1yiRq9FEhHWPpE9TCJNTDAEOYMsMyePCdMPiQy9fHYBXQklCbUMdRM1ERs3yQg9Bx0xlygnGQglRplgngT7owP3E9UDDwVDCUUHFwO5HDETMhUtBRGBKNsC9zbZLrcCk1aEARsFzw8pH+MQVEfkDu0InwJpA4cl7wAxFSUAGyKfCEdnAGOP3FMJLs8Iy2pwI3gDaxTrZRF3B5UOWwerHDcVwxzlcMxeD4YMKKezCV8BeQmdAWME5wgNNV+MpCBFZ1eLXBifIGVBQ14AAjUMaRWjRMGHfAKPD28SHwE5AXcHPQ0FAnsR8RFvEJkI74YINbkz/DopBFMhhyAVCisDU2zSCysm/Qz8bQGnEmYDEDRBd/Jnr2C6KBgBBx0yyUFkIfULlk/RDKAaxRhGVDIZ6AfDA/ca9yfuQVsGAwOnBxc6UTPyBMELbQiPCUMATQ6nGwfbGG4KdYzUATWPAbudA1uVhwJzkwY7Bw8Aaw+LBX3pACECqwinAAkA0wNbAD0CsQehAB0AiUUBQQMrMwEl6QKTA5cINc8BmTMB9y0EH8cMGQD7O25OAsO1AoBuZqYF4VwCkgJNOQFRKQQJUktVA7N15QDfAE8GF+NLARmvTs8e50cB43MvAMsA/wAJOQcJRQHRAfdxALsBYws1Caa3uQFR7S0AhwAZbwHbAo0A4QA5AIP1AVcAUQVd/QXXAlNNARU1HC9bZQG/AyMBNwERAH0Gz5GpzQsjBHEH1wIQHxXlAu8yB7kFAyLjE9FCyQK94lkAMhoKPAqrCqpgX2Q3CjV2PVQAEh+sPss/UgVVO1c7XDtXO1w7VztcO1c7XDtXO1wDm8Pmw+YKcF9JYe8Mqg3YRMw6TRPfYFVgNhPMLbsUxRXSJVoZQRrAJwkl6FUNDwgt12Y0CDA0eRfAAEMpbINFY4oeNApPHOtTlVT8LR8AtUumM7MNsBsZREQFS3XxYi4WEgomAmSFAmJGX1GzAV83JAKh+wJonAJmDQKfiDgfDwJmPwJmKgRyBIMDfxcDfpY5Cjl7GzmGOicnAmwhAjI6OA4CbcsCbbLzjgM3a0kvAWsA4gDlAE4JB5wMkQECD8YAEbkCdzMCdqZDAnlPRwJ4viFg30WyRvcCfEMCeswCfQ0CfPRIBEiBZygALxlJXEpfGRtK0ALRBQLQ0EsrA4hTA4fqRMmRNgLypV0HAwOyS9JMMSkH001QTbMCi0MCitzFHwshR2sJuwKOOwKOYESbhQKO3QKOYHxRuFM5AQ5S2FSJApP/ApMQAO0AIFUiVbNV1AosHymZijLleGpFPz0Cl6MC77ZYJawAXSkClpMCloCgAK1ZsFoNhVEAPwKWuQKWUlxIXNUCmc8CmWhczl0LHQKcnznGOqECnBoCn58CnryOACETNS4TAp31Ap6WALlBYThh8wKe1wKgcgGtAp6jIwKeUqljzGQrKS8CJ7MCJoICoP8CoFDbAqYzAqXSAqgDAIECp/ZogGi1AAdNaiBq1QKs5wKssgKtawKtBgJXIQJV4AKx5dsDH1JsmwKywRECsuwbbORtZ21MYwMl0QK2YD9DbpQDKUkCuGICuUsZArkue3A6cOUCvR0DLbYDMhUCvoxyBgMzdQK+HnMmc1MCw88CwwhzhnRPOUl05AM8qwEDPJ4DPcMCxYACxksCxhSNAshtVQLISALJUwLJMgJkoQLd1nh9ZXiyeSlL1AMYp2cGAmH4GfeVKHsPXpZevxUCz28Cz3AzT1fW9xejAMqxAs93AS3uA04Wfk8JAtwrAtuOAtJTA1JgA1NjAQUDVZCAjUMEzxrxZEl5A4LSg5EC2ssC2eKEFIRNp0ADhqkAMwNkEoZ1Xf0AWQLfaQLevHd7AuIz7RgB8zQrAfSfAfLWiwLr9wLpdH0DAur9AuroAP1LAb0C7o0C66CWrpcHAu5DA4XkmH1w5HGlAvMHAG0DjhqZlwL3FwORcgOSiwL3nAL53QL4apogmq+/O5siA52HAv7+AR8APZ8gAZ+3AwWRA6ZuA6bdANXJAwZuoYyiCQ0DDE0BEwEjB3EGZb1rCQC/BG/DFY8etxEAG3k9ACcDNxJRA42DAWcrJQCM8wAlAOanC6OVCLsGI6fJBgCvBRnDBvElRUYFFoAFcD9GSDNCKUK8X3kZX8QAls0FOgCQVCGbwTsuYDoZutcONxjOGJHJ/gVfBWAFXwVgBWsFYAVfBWAFXwVgBV8FYAVfBWBOHQjfjW8KCgoKbF7xMwTRA7kGN8PDAMMEr8MA70gxFroFTj5xPnhCR0K+X30/X/AAWBkzswCNBsxzzASm70aCRS4rDDMeLz49fnXfcsH5GcoscQFz13Y4HwVnBXLJycnACNdRYwgICAqEXoWTxgA7P4kACxbZBu21Kw0AjMsTAwkVAOVtJUUsJ1JCuULESUArXy9gPi9AKwnJRQYKTD9LPoA+iT54PnkCkULEUUpDX9NWV3JVEjQAc1w3A3IBE3YnX+g7QiMJb6MKaiszRCUuQrNCxDPMCcwEX9EWJzYREBEEBwIHKn6l33JCNVIfybPJtAltydPUCmhBZw/tEKsZAJOVJU1CLRuxbUHOQAo7P0s+eEJHHA8SJVRPdGM0NVrpvBoKhfUlM0JHHGUQUhEWO1xLSj8MO0ucNAqJIzVCRxv9EFsqKyA4OQgNj2nwZgp5ZNFgE2A1K3YHS2AhQQojJmC7DgpzGG1WYFUZCQYHZO9gHWCdYIVgu2BTYJlwFh8GvRbcXbG8YgtDHrMBwzPVyQonHQgkCyYBgQJ0Ajc4nVqIAwGSCsBPIgDsK3SWEtIVBa5N8gGjAo+kVwVIZwD/AEUSCDweX4ITrRQsJ8K3TwBXFDwEAB0TvzVcAtoTS20RIwDgVgZ9BBImYgA5AL4Coi8LFnezOkCnIQFjAY4KBAPh9RcGsgZSBsEAJctdsWIRu2kTkQstRw7DAcMBKgpPBGIGMDAwKCYnKTQaLg4AKRSVAFwCdl+YUZ0JdicFD3lPAdt1F9ZZKCGxuE3yBxkFVGcA/wBFEgiCBwAOLHQSjxOtQDg1z7deFRMAZ8QTAGtKb1ApIiPHADkAvgKiLy1DFtYCmBiDAlDDWNB0eo7fpaMO/aEVRRv0ATEQZBIODyMEAc8JQhCbDRgzFD4TAEMAu9YBCgCsAOkAm5I3ABwAYxvONnR+MhXJAxgKQyxL2+kkJhMbhQKDBMkSsvF0AD9BNQ6uQC7WqSQHwxEAEEIu1hkhAH2z4iQPwyJPHNWpdyYBRSpnJALzoBAEVPPsH20MxA0CCEQKRgAFyAtFAlMNwwjEDUQJRArELtapMg7DDZgJIw+TGukEIwvDFkMAqAtDEMMMBhioe+QAO3MMRAACrgnEBSPY9Q0FDnbSBoMAB8MSYxkSxAEJAPIJAAB8FWMOFtMc/HcXwxhDAC7DAvOowwAewwJdKDKHAAHDAALrFUQVwwAbwyvzpWMWv8wA/ABpAy++bcYDUKPD0KhDCwKmJ1MAAmMA5+UZwxAagwipBRL/eADfw6fDGOMCGsOjk3l6BwOpo4sAEsMOGxMAA5sAbcMOAAvDp0MJGkMDwgipnNIPAwfIqUMGAOGDAAPzABXDAAcDAAnDAGmTABrDAA7DChjDjnEWAwABYwAOcwAuUyYABsMAF8MIKQANUgC6wy4AA8MADqMq8wCyYgAcIwAB8wqpAAXOCx0V4wAHowBCwwEKAGnDAAuDAB3DAAjDCakABdIAbqcZ3QCZCCkABdIAAAFDAAfjAB2jCCkABqIACYMAGzMAbSMA5sOIAAhjAAhDABTDBAkpAAbSAOOTAAlDC6kOzPtnAAdDAG6kQFAATwAKwwwAA0MACbUDPwAHIwAZgwACE6cDAAojAApDAAoDp/MGwwAJIwADEwAQQwgAFEMAEXMAD5MADfMADcMAGRMOFiMAFUMAbqMWuwHDAMIAE0MLAGkzEgDhUwACQwAEWgAXgwUjAAbYABjDBSYBgzBaAEFNALcQBxUMegAwMngBrA0IZgJ0KxQHBREPd1N0ZzKRJwaIHAZqNT4DqQq8BwngAB4DAwt2AX56T1ocKQNXAh1GATQGC3tOxYNagkgAMQA5CQADAQEAWxLjAIOYNAEzAH7tFRk6TglSAF8NAAlYAQ+S1ACAQwQorQBiAN4dAJ1wPyeTANVzuQDX3AIeEMp9ey
1MgXiUAEdkBkJizKltbVVAaRMqRAAEAhyQ/SDEz6BmfVwB6ATEsOClKIRcDOF0E/832AFNt5AByAnkCRxGCOs94NjXdAwINGBonDBwPALW2AwICAgAAAAAAAAYDBQMDARrUAwAtAAAAAgEGBgYGBgYFBQUFBQUEBQYHCAkEBQUFBQQAAAICAAAAIgCNAJAAlT0A6gC7ANwApEQAwgCyAK0AqADuAKYA2gCjAOcBCAEDAMcAgQBiANIA1AEDAN4A8gCQAKkBMQDqAN8A3AsBCQ8yO9ra2tq8xuLT1tRJOB0BUgFcNU0BWgFpAWgBWwFMUUlLbhMBUxsNEAs6PhMOACcUKy0vMj5AQENDQ0RFFEYGJFdXV1dZWVhZL1pbXVxcI2NnZ2ZoZypsbnZ1eHh4eHh4enp6enp6enp6enp8fH18e2IARPIASQCaAHgAMgBm+ACOAFcAVwA3AnbvAIsABfj4AGQAk/IAnwBPAGIAZP//sACFAIUAaQBWALEAJAC2AIMCQAJDAPwA5wD+AP4A6AD/AOkA6QDoAOYALwJ7AVEBQAE+AVQBPgE+AT4BOQE4ATgBOAEcAVgXADEQCAEAUx8SHgsdHhYAjgCWAKYAUQBqIAIxAHYAbwCXAxUDJzIDIUlGTzEAkQJPAMcCVwKkAMAClgKWApYClgKWApYCiwKWApYClgKWApYClgKVApUCmAKgApcClgKWApQClAKUApQCkgKVAnUB1AKXAp8ClgKWApUeAIETBQD+DQOfAmECOh8BVBg9AuIZEjMbAU4/G1WZAXusRAFpYQEFA0FPAQYAmTEeIJdyADFoAHEANgCRA5zMk/C2jGINwjMWygIZCaXdfDILBCs5dAE7YnQBugDlhoiHhoiGiYqKhouOjIaNkI6Ij4qQipGGkoaThpSSlYaWhpeKmIaZhpqGm4aci52QnoqfhuIC4XTpAt90AIp0LHSoAIsAdHQEQwRABEIERQRDBEkERgRBBEcESQRIBEQERgRJAJ5udACrA490ALxuAQ10ANFZdHQA13QCFHQA/mJ0AP4BIQD+APwA/AD9APwDhGZ03ASMK23HAP4A/AD8AP0A/CR0dACRYnQA/gCRASEA/gCRAvQA/gCRA4RmdNwEjCttxyR0AP9idAEhAP4A/gD8APwA/QD8AP8A/AD8AP0A/AOEZnTcBIwrbcckdHQAkWJ0ASEA/gCRAP4AkQL0AP4AkQOEZnTcBIwrbcckdAJLAT50AlIBQXQCU8l0dAJfdHQDpgL0A6YDpgOnA6cDpwOnA4RmdNwEjCttxyR0dACRYnQBIQOmAJEDpgCRAvQDpgCRA4RmdNwEjCttxyR0BDh0AJEEOQCRDpU5dSgCADR03gV2CwArdAEFAM5iCnR0AF1iAAYcOgp0dACRCnQAXAEIwWZ0CnRmdHQAkWZ0CnRmdEXgAFF03gp0dEY0tlT2u3SOAQTwscwhjZZKrhYcBSfFp9XNbKiVDOD2b+cpe4/Z17mQnbtzzhaeQtE2GGj0IDNTjRUSyTxxw/RPHW/+vS7d1NfRt9z9QPZg4X7QFfhCnkvgNPIItOsC2eV6hPannZNHlZ9xrwZXIMOlu3jSoQSq78WEjwLjw1ELSlF1aBvfzwk5ZX7AUvQzjPQKbDuQ+sm4wNOp4A6AdVuRS0t1y/DZpg4R6m7FNjM9HgvW7Bi88zaMjOo6lM8wtBBdj8LP4ylv3zCXPhebMKJc066o9sF71oFW/8JXu86HJbwDID5lzw5GWLR/LhT0Qqnp2JQxNZNfcbLIzPy+YypqRm/lBmGmex+82+PisxUumSeJkALIT6rJezxMH+CTJmQtt5uwTVbL3ptmjDUQzlSIvWi8Tl7ng1NpuRn1Ng4n14Qc+3Iil7OwkvNWogLSPkn3pihIFytyIGmMhOe3n1tWsuMy9BdKyqF4Z3v2SgggTL9KVvMXPnCbRe+oOuFFP3HejBG/w9gvmfNYvg6JuWia2lcSSN1uIjBktzoIazOHPJZ7kKHPz8mRWVdW3lA8WGF9dQF6Bm673boov3BUWDU2JNcahR23GtfHKLOz/viZ+rYnZFaIznXO67CYEJ1fXuTRpZhYZkKe54xeoagkNGLs+NTZHE0rX45/XvQ2RGADX6vcAvdxIUBV27wxGm2zjZo4X3ILgAlrOFheuZ6wtsvaIj4yLY7qqawlliaIcrz2G+c3vscAnCkCuMzMmZvMfu9lLwTvfX+3cVSyPdN9ZwgDZhfjRgNJcLiJ67b9xx8JHswprbiE3v9UphotAPIgnXVIN5KmMc0piXhc6cChPnN+MRhG9adtdttQTTwSIpl8I4/j//d3sz1326qTBTpPRM/Hgh3kzqEXs8ZAk4ErQhNO8hzrQ0DLkWMA/N+91tn2MdOJnWC2FCZehkQrwzwbKOjhvZsbM95QoeL9skYyMf4srVPVJSgg7pOLUtr/n9eT99oe9nLtFRpjA9okV2Kj8h9k5HaC0oivRD8VyXkJ81tcd4fHNXPCfloIQasxsuO18/46dR2jgul/UIet2G0kRvnyONMKhHs6J26FEoqSqd+rfYjeEGwHWVDpX1fh1jBBcKGMqRepju9Y00mDVHC+Xdij/j44rKfvfjGinNs1jO/0F3jB83XCDINN/HB84axlP+3E/klktRo+vl3U/aiyMJbIodE1XSsDn6UAzIoMtUObY2+k/4gY/l+AkZJ5Sj2vQrkyLm3FoxjhDX+31UXBFf9XrAH31fFqoBmDEZvhvvpnZ87N+oZEu7U9O/nnk+QWj3x8uyoRbEnf+O5UMr9i0nHP38IF5AvzrBW8YWBUR0mIAzIvndQq9N3v/Jto3aPjPXUPl8ASdPPyAp7jENf8bk7VMM9ol9XGmlBmeDMuGqt+WzuL6CXAxXjIhCPM5vACchgMJ/8XBGLO/D1isVvGhwwHHr1DLaI5mn2Jr/b1pUD90uciDaS8cXNDzCWvNmT/PhQe5e8nTnnnkt8Ds/SIjibcum/fqDhKopxAY8AkSrPn+IGDEKOO+U3XOP6djFs2H5N9+orhOahiQk5KnEUWa+CzkVzhp8bMHRbg81qhjjXuIKbHjSLSIBKWqockGtKinY+z4/RdBUF6pcc3JmnlxVcNgrI4SEzKUZSwcD2QCyxzKve+gAmg6ZuSRkpPFa6mfThu7LJNu3H5K42uCpNvPAsoedolKV/LHe/eJ+BbaG5MG0NaSGVPRUmNFMFFSSpXEcXwbVh7UETOZZtoVNRGOIbbkig3McEtR68cG0RZAoJevWYo7Dg/lZ1CQzblWeUvVHmr8fY4Nqd9JJiH/zEX24mJviH60fAyFr0A3c4bC1j3yZU60VgJxXn8JgJXLUIsiBnmKmMYz+7yBQFBvqb2eYnuW59joZBf56/wXvWIR4R8wTmV80i1mZy+S4+BUES+hzjk0uXpC///z/IlqHZ1monzlXp8aCfhGKMti73FI1KbL1q6IKO4fuBuZ59gagjn5xU79muMpHXg6S+e+gDM/U9BKLHbl9l6o8czQKl4RUkJJiqftQG2i3BMg/TQlUYFkJDYBOOvAugYuzYSDnZbDDd/aSd9x0Oe6F+bJcHfl9+gp6L5/TgA+BdFFovbfCrQ40s5vMPw8866pNX8zyFGeFWdxIpPVp9Rg1UPOVFbFZrvaFq/YAzHQgqMWpahMYfqHpmwXfHL1/kpYmGuHFwT55mQu0dylfNuq2Oq0hTMCPwqfxnuBIPLXfci4Y1ANy+1CUipQxld/izVh16WyG2Q0CQQ9NqtAnx1HCHwDj7sYxOSB0wopZSnOzxQOcExmxrVTF2BkOthVpGfuhaGECfCJpJKpjnihY+xOT2QJxN61+9K6QSqtv2Shr82I3jgJrqBg0wELFZPjvHpvzTtaJnLK6Vb97Yn933koO/saN7fsjwNKzp4l2lJVx2orjCGzC/4ZL4zCver6aQYtC5sdoychuFE6ufOiog+VWi5UDkbmvmtah/3aArEBIi39s5ILUnlFLgilcGuz9CQshEY7fw2ouoILAYPVT/gyAIq3TFAIwVsl+ktkRz/qGfnCDGrm5gsl/l9QdvCWGsjPz3dU7XuqKfdUrr/6XIgjp4rey6AJBmCmUJMjITHVdFb5m1p+dLMCL8t55zD42cmftmLEJC0Da04YiRCVUBLLa8D071/N5UBNBXDh0LFsmhV/5B5ExOB4j3WVG/S3lfK5o+V6ELHvy6RR9n4ac+VsK4VE4yphPvV+kG9FegTBH4ZRXL2HytUHCduJazB/KykjfetYxOXTLws267aGOd+I+JhKP//+VnXmS90OD/jvLcVu0asyqcuYN1mSb6XTlCkqv1vigZPIYwNF/zpWcT1GR/6aEIRjkh0yhg4LXJfaGobYJTY4JI58KiAKgmmgAKWdl5nYCeLqavRJGQNuYuZtZFGx+IkI4w4NS2xwbetNMunOjBu/hmKCI/w7tfiiyUd//4rbTeWt4izBY8YvGIN6vyKYmP/8X8wHKCeN+WRcKM70+tXKNGyevU9H2Dg5BsljnTf8YbsJ1TmMs74Ce2XlHisleguhyeg44rQOHZuw/6HTkhnnurK2d62q6yS7210SsAIaR+jXMQA+svkrLpsUY+F30Uw89uOdGAR6vo4FIME0EfVVeHTu6eKicfhSqOeXJhbftcd08sWEnNUL1C9fnprTgd83IMut8onVUF0hvqzZfHduP
1jbjwEXIcoYmy+P6tcJZHmeOv6VrvEdkHDJecjHuHeWANe79VG662qTjA/HCvumVv3qL+LrOcpqGps2ZGwQdFJ7PU4iuyRlBrwfO+xnPyr47s2cXVbWzAyznDiBGjCM3ksxjjqM62GE9C8f5U38kB3VjtabKp/nRdvMESPGDG90bWRLAt1Qk5DyLuazRR1YzdC1c+hZXvAWV8xA72S4A8B67vjVhbba3MMop293FeEXpe7zItMWrJG/LOH9ByOXmYnNJfjmfuX9KbrpgLOba4nZ+fl8Gbdv/ihv+6wFGKHCYrVwmhFC0J3V2bn2tIB1wCc1CST3d3X2OyxhguXcs4sm679UngzofuSeBewMFJboIQHbUh/m2JhW2hG9DIvG2t7yZIzKBTz9wBtnNC+2pCRYhSIuQ1j8xsz5VvqnyUIthvuoyyu7fNIrg/KQUVmGQaqkqZk/Vx5b33/gsEs8yX7SC1J+NV4icz6bvIE7C5G6McBaI8rVg56q5QBJWxn/87Q1sPK4+sQa8fLU5gXo4paaq4cOcQ4wR0VBHPGjKh+UlPCbA1nLXyEUX45qZ8J7/Ln4FPJE2TdzD0Z8MLSNQiykMMmSyOCiFfy84Rq60emYB2vD09KjYwsoIpeDcBDTElBbXxND72yhd9pC/1CMid/5HUMvAL27OtcIJDzNKpRPNqPOpyt2aPGz9QWIs9hQ9LiX5s8m9hjTUu/f7MyIatjjd+tSfQ3ufZxPpmJhTaBtZtKLUcfOCUqADuO+QoH8B9v6U+P0HV1GLQmtoNFTb3s74ivZgjES0qfK+8RdGgBbcCMSy8eBvh98+et1KIFqSe1KQPyXULBMTsIYnysIwiZBJYdI20vseV+wuJkcqGemehKjaAb9L57xZm3g2zX0bZ2xk/fU+bCo7TlnbW7JuF1YdURo/2Gw7VclDG1W7LOtas2LX4upifZ/23rzpsnY/ALfRgrcWP5hYmV9VxVOQA1fZvp9F2UNU+7d7xRyVm5wiLp3/0dlV7vdw1PMiZrbDAYzIVqEjRY2YU03sJhPnlwIPcZUG5ltL6S8XCxU1eYS5cjr34veBmXAvy7yN4ZjArIG0dfD/5UpBNlX1ZPoxJOwyqRi3wQWtOzd4oNKh0LkoTm8cwqgIfKhqqGOhwo71I+zXnMemTv2B2AUzABWyFztGgGULjDDzWYwJUVBTjKCn5K2QGMK1CQT7SzziOjo+BhAmqBjzuc3xYym2eedGeOIRJVyTwDw37iCMe4g5Vbnsb5ZBdxOAnMT7HU4DHpxWGuQ7GeiY30Cpbvzss55+5Km1YsbD5ea3NI9QNYIXol5apgSu9dZ8f8xS5dtHpido5BclDuLWY4lhik0tbJa07yJhH0BOyEut/GRbYTS6RfiTYWGMCkNpfSHi7HvdiTglEVHKZXaVhezH4kkXiIvKopYAlPusftpE4a5IZwvw1x/eLvoDIh/zpo9FiQInsTb2SAkKHV42XYBjpJDg4374XiVb3ws4qM0s9eSQ5HzsMU4OZJKuopFjBM+dAZEl8RUMx5uU2N486Kr141tVsGQfGjORYMCJAMsxELeNT4RmWjRcpdTGBwcx6XN9drWqPmJzcrGrH4+DRc7+n1w3kPZwu0BkNr6hQrqgo7JTB9A5kdJ/H7P4cWBMwsmuixAzJB3yrQpnGIq90lxAXLzDCdn1LPibsRt7rHNjgQBklRgPZ8vTbjXdgXrTWQsK5MdrXXQVPp0Rinq3frzZKJ0qD6Qhc40VzAraUXlob1gvkhK3vpmHgI6FRlQZNx6eRqkp0zy4AQlX813fAPtL3jMRaitGFFjo0zmErloC+h+YYdVQ6k4F/epxAoF0BmqEoKNTt6j4vQZNQ2BoqF9Vj53TOIoNmDiu9Xp15RkIgQIGcoLpfoIbenzpGUAtqFJp5W+LLnx38jHeECTJ/navKY1NWfN0sY1T8/pB8kIH3DU3DX+u6W3YwpypBMYOhbSxGjq84RZ84fWJow8pyHqn4S/9J15EcCMsXqrfwyd9mhiu3+rEo9pPpoJkdZqHjra4NvzFwuThNKy6hao/SlLw3ZADUcUp3w3SRVfW2rhl80zOgTYnKE0Hs2qp1J6H3xqPqIkvUDRMFDYyRbsFI3M9MEyovPk8rlw7/0a81cDVLmBsR2ze2pBuKb23fbeZC0uXoIvDppfTwIDxk1Oq2dGesGc+oJXWJLGkOha3CX+DUnzgAp9HGH9RsPZN63Hn4RMA5eSVhPHO+9RcRb/IOgtW31V1Q5IPGtoxPjC+MEJbVlIMYADd9aHYWUIQKopuPOHmoqSkubnAKnzgKHqgIOfW5RdAgotN6BN+O2ZYHkuemLnvQ8U9THVrS1RtLmKbcC7PeeDsYznvqzeg6VCNwmr0Yyx1wnLjyT84BZz3EJyCptD3yeueAyDWIs0L2qs/VQ3HUyqfrja0V1LdDzqAikeWuV4sc7RLIB69jEIBjCkyZedoUHqCrOvShVzyd73OdrJW0hPOuQv2qOoHDc9xVb6Yu6uq3Xqp2ZaH46A7lzevbxQEmfrzvAYSJuZ4WDk1Hz3QX1LVdiUK0EvlAGAYlG3Md30r7dcPN63yqBCIj25prpvZP0nI4+EgWoFG95V596CurXpKRBGRjQlHCvy5Ib/iW8nZJWwrET3mgd6mEhfP4KCuaLjopWs7h+MdXFdIv8dHQJgg1xi1eYqB0uDYjxwVmri0Sv5XKut/onqapC+FQiC2C1lvYJ9MVco6yDYsS3AANUfMtvtbYI2hfwZatiSsnoUeMZd34GVjkMMKA+XnjJpXgRW2SHTZplVowPmJsvXy6w3cfO1AK2dvtZEKTkC/TY9LFiKHCG0DnrMQdGm2lzlBHM9iEYynH2UcVMhUEjsc0oDBTgo2ZSQ1gzkAHeWeBXYFjYLuuf8yzTCy7/RFR81WDjXMbq2BOH5dURnxo6oivmxL3cKzKInlZkD31nvpHB9Kk7GfcfE1t+1V64b9LtgeJGlpRFxQCAqWJ5DoY77ski8gsOEOr2uywZaoO/NGa0X0y1pNQHBi3b2SUGNpcZxDT7rLbBf1FSnQ8guxGW3W+36BW0gBje4DOz6Ba6SVk0xiKgt+q2JOFyr4SYfnu+Ic1QZYIuwHBrgzr6UvOcSCzPTOo7D6IC4ISeS7zkl4h+2VoeHpnG/uWR3+ysNgPcOIXQbv0n4mr3BwQcdKJxgPSeyuP/z1Jjg4e9nUvoXegqQVIE30EHx5GHv+FAVUNTowYDJgyFhf5IvlYmEqRif6+WN1MkEJmDcQITx9FX23a4mxy1AQRsOHO/+eImX9l8EMJI3oPWzVXxSOeHU1dUWYr2uAA7AMb+vAEZSbU3qob9ibCyXeypEMpZ6863o6QPqlqGHZkuWABSTVNd4cOh9hv3qEpSx2Zy/DJMP6cItEmiBJ5PFqQnDEIt3NrA3COlOSgz43D7gpNFNJ5MBh4oFzhDPiglC2ypsNU4ISywY2erkyb1NC3Qh/IfWj0eDgZI4/ln8WPfBsT3meTjq1Uqt1E7Zl/qftqkx6aM9KueMCekSnMrcHj1CqTWWzEzPsZGcDe3Ue4Ws+XFYVxNbOFF8ezkvQGR6ZOtOLU2lQEnMBStx47vE6Pb7AYMBRj2OOfZXfisjJnpTfSNjo6sZ6qSvNxZNmDeS7Gk3yYyCk1HtKN2UnhMIjOXUzAqDv90lx9O/q/AT1ZMnit5XQe9wmQxnE/WSH0CqZ9/2Hy+Sfmpeg8RwsHI5Z8kC8H293m/LHVVM/BA7HaTJYg5Enk7M/xWpq0192ACfBai2LA/qrCjCr6Dh1BIMzMXINBmX96MJ5Hn2nxln/RXPFhwHxUmSV0EV2V0jm86/dxxuYSU1W7sVkEbN9EzkG0QFwPhyHKyb3t+Fj5WoUUTErcazE/N6EW6Lvp0d//SDPj7EV9UdJN+Amnf3Wwk3A0SlJ9Z00yvXZ7n3z70G47Hfsow8Wq1JXcfwnA+Yxa5mFsgV464KKP4T31wqIgzFPd3eCe3j5ory5fBF2hgCFyVFrLzI9eetNXvM7oQqyFgDo4CTp/hDV9NMX9JDHQ/nyHTLvZLNLF6ftn2OxjGm8+PqOwhxnPHWipkE/8wbtyri80Sr7pMNkQGMfo4ZYK9OcCC4ESV
1FFbLMIvlxSoRqWie0wxqnLfcLSXMSpMMQEJYDVObYsXIQNv4TGNwjq1kvT1UOkicTrG3IaBZ3XdScS3u8sgeZPVpOLkbiF940FjbCeNRINNvDbd01EPBrTCPpm12m43ze1bBB59Ia6Ovhnur/Nvx3IxwSWol+3H2qfCJR8df6aQf4v6WiONxkK+IqT4pKQrZK/LplgDI/PJZbOep8dtbV7oCr6CgfpWa8NczOkPx81iSHbsNhVSJBOtrLIMrL31LK9TqHqAbAHe0RLmmV806kRLDLNEhUEJfm9u0sxpkL93Zgd6rw+tqBfTMi59xqXHLXSHwSbSBl0EK0+loECOPtrl+/nsaFe197di4yUgoe4jKoAJDXc6DGDjrQOoFDWZJ9HXwt8xDrQP+7aRwWKWI1GF8s8O4KzxWBBcwnl3vnl1Oez3oh6Ea1vjR7/z7DDTrFtqU2W/KAEzAuXDNZ7MY73MF216dzdSbWmUp4lcm7keJfWaMHgut9x5C9mj66Z0lJ+yhsjVvyiWrfk1lzPOTdhG15Y7gQlXtacvI7qv/XNSscDwqkgwHT/gUsD5yB7LdRRvJxQGYINn9hTpodKFVSTPrtGvyQw+HlRFXIkodErAGu9Iy1YpfSPc3jkFh5CX3lPxv7aqjE/JAfTIpEjGb/H7MO0e2vsViSW1qa/Lmi4/n4DEI3g7lYrcanspDfEpKkdV1OjSLOy0BCUqVoECaB55vs06rXl4jqmLsPsFM/7vYJ0vrBhDCm/00A/H81l1uekJ/6Lml3Hb9+NKiLqATJmDpyzfYZFHumEjC662L0Bwkxi7E9U4cQA0XMVDuMYAIeLMPgQaMVOd8fmt5SflFIfuBoszeAw7ow5gXPE2Y/yBc/7jExARUf/BxIHQBF5Sn3i61w4z5xJdCyO1F1X3+3ax+JSvMeZ7S6QSKp1Fp/sjYz6Z+VgCZzibGeEoujryfMulH7Rai5kAft9ebcW50DyJr2uo2z97mTWIu45YsSnNSMrrNUuG1XsYBtD9TDYzQffKB87vWbkM4EbPAFgoBV4GQS+vtFDUqOFAoi1nTtmIOvg38N4hT2Sn8r8clmBCXspBlMBYTnrqFJGBT3wZOzAyJDre9dHH7+x7qaaKDOB4UQALD5ecS0DE4obubQEiuJZ0EpBVpLuYcce8Aa4PYd/V4DLDAJBYKQPCWTcrEaZ5HYbJi11Gd6hjGom1ii18VHYnG28NKpkz2UKVPxlhYSp8uZr367iOmoy7zsxehW9wzcy2zG0a80PBMCRQMb32hnaHeOR8fnNDzZhaNYhkOdDsBUZ3loDMa1YP0uS0cjUP3b/6DBlqmZOeNABDsLl5BI5QJups8uxAuWJdkUB/pO6Zax6tsg7fN5mjjDgMGngO+DPcKqiHIDbFIGudxtPTIyDi9SFMKBDcfdGQRv41q1AqmxgkVfJMnP8w/Bc7N9/TR6C7mGObFqFkIEom8sKi2xYqJLTCHK7cxzaZvqODo22c3wisBCP4HeAgcRbNPAsBkNRhSmD48dHupdBRw4mIvtS5oeF6zeT1KMCyhMnmhpkFAGWnGscoNkwvQ8ZM5lE/vgTHFYL99OuNxdFBxTEDd5v2qLR8y9WkXsWgG6kZNndFG+pO/UAkOCipqIhL3hq7cRSdrCq7YhUsTocEcnaFa6nVkhnSeRYUA1YO0z5itF9Sly3VlxYDw239TJJH6f3EUfYO5lb7bcFcz8Bp7Oo8QmnsUHOz/fagVUBtKEw1iT88j+aKkv8cscKNkMxjYr8344D1kFoZ7/td1W6LCNYN594301tUGRmFjAzeRg5vyoM1F6+bJZ/Q54jN/k8SFd3DxPTYaAUsivsBfgTn7Mx8H2SpPt4GOdYRnEJOH6jHM2p6SgB0gzIRq6fHxGMmSmqaPCmlfwxiuloaVIitLGN8wie2CDWhkzLoCJcODh7KIOAqbHEvXdUxaS4TTTs07Clzj/6GmVs9kiZDerMxEnhUB6QQPlcfqkG9882RqHoLiHGBoHfQuXIsAG8GTAtao2KVwRnvvam8jo1e312GQAKWEa4sUVEAMG4G6ckcONDwRcg1e2D3+ohXgY4UAWF8wHKQMrSnzCgfFpsxh+aHXMGtPQroQasRY4U6UdG0rz1Vjbka0MekOGRZQEvqQFlxseFor8zWFgHek3v29+WqN6gaK5gZOTOMZzpQIC1201LkMCXild3vWXSc5UX9xcFYfbRPzGFa1FDcPfPB/jUEq/FeGt419CI3YmBlVoHsa4KdcwQP5ZSwHHhFJ7/Ph/Rap/4vmG91eDwPP0lDfCDRCLszTqfzM71xpmiKi2HwS4WlqvGNwtvwF5Dqpn6KTq8ax00UMPkxDcZrEEEsIvHiUXXEphdb4GB4FymlPwBz4Gperqq5pW7TQ6/yNRhW8VT5NhuP0udlxo4gILq5ZxAZk8ZGh3g4CqxJlPKY7AQxupfUcVpWT5VItp1+30UqoyP4wWsRo3olRRgkWZZ2ZN6VC3OZFeXB8NbnUrSdikNptD1QiGuKkr8EmSR/AK9Rw+FF3s5uwuPbvHGiPeFOViltMK7AUaOsq9+x9cndk3iJEE5LKZRlWJbKOZweROzmPNVPkjE3K/TyA57Rs68TkZ3MR8akKpm7cFjnjPd/DdkWjgYoKHSr5Wu5ssoBYU4acRs5g2DHxUmdq8VXOXRbunD8QN0LhgkssgahcdoYsNvuXGUK/KXD/7oFb+VGdhqIn02veuM5bLudJOc2Ky0GMaG4W/xWBxIJcL7yliJOXOpx0AkBqUgzlDczmLT4iILXDxxtRR1oZa2JWFgiAb43obrJnG/TZC2KSK2wqOzRZTXavZZFMb1f3bXvVaNaK828w9TO610gk8JNf3gMfETzXXsbcvRGCG9JWQZ6+cDPqc4466Yo2RcKH+PILeKOqtnlbInR3MmBeGG3FH10yzkybuqEC2HSQwpA0An7d9+73BkDUTm30bZmoP/RGbgFN+GrCOfADgqr0WbI1a1okpFms8iHYw9hm0zUvlEMivBRxModrbJJ+9/p3jUdQQ9BCtQdxnOGrT5dzRUmw0593/mbRSdBg0nRvRZM5/E16m7ZHmDEtWhwvfdZCZ8J8M12W0yRMszXamWfQTwIZ4ayYktrnscQuWr8idp3PjT2eF/jmtdhIfcpMnb+IfZY2FebW6UY/AK3jP4u3Tu4zE4qlnQgLFbM19EBIsNf7KhjdbqQ/D6yiDb+NlEi2SKD+ivXVUK8ib0oBo366gXkR8ZxGjpJIDcEgZPa9TcYe0TIbiPl/rPUQDu3XBJ9X/GNq3FAUsKsll57DzaGMrjcT+gctp+9MLYXCq+sqP81eVQ0r9lt+gcQfZbACRbEjvlMskztZG8gbC8Qn9tt26Q7y7nDrbZq/LEz7kR6Jc6pg3N9rVX8Y5MJrGlML9p9lU4jbTkKqCveeZUJjHB03m2KRKR2TytoFkTXOLg7keU1s1lrPMQJpoOKLuAAC+y1HlJucU6ysB5hsXhvSPPLq5J7JtnqHKZ4vYjC4Vy8153QY+6780xDuGARsGbOs1WqzH0QS765rnSKEbbKlkO8oI/VDwUd0is13tKpqILu1mDJFNy/iJAWcvDgjxvusIT+PGz3ST/J9r9Mtfd0jpaGeiLYIqXc7DiHSS8TcjFVksi66PEkxW1z6ujbLLUGNNYnzOWpH8BZGK4bCK7iR+MbIv8ncDAz1u4StN3vTTzewr9IQjk9wxFxn+6N1ddKs0vffJiS08N3a4G1SVrlZ97Q/M+8G9fe5AP6d9/Qq4WRnORVhofPIKEdCr3llspUfE0oKIIYoByBRPh+bX1HLS3JWGJRhIvE1aW4NTd8ePi4Z+kXb+Z8snYfSNcqijhAgVsx4RCM54cXUiYkjeBmmC4ajOHrChoELscJJC7+9jjMjw5BagZKlgRMiSNYz7h7vvZIoQqbtQmspc0cUk1G/73iXtSpROl5wtLgQi0mW2Ex8i3WULhcggx6E1LMVHUsdc9GHI1PH3U2Ko0PyGdn9KdVOLm7FPBui0i9a0HpA60MsewVE4z8CAt5d401Gv6zXlIT5Ybit1VIA0FCs7wtvYreru1fUyW3oLAZ/+aTnZrOcYRNVA8spoRtlRoWflsRClFcgzkqiHOrf0/SVw+EpVaFlJ0g4Kxq1MMOmiQdpMNpte8lMMQqm6cIFXlnGbfJllysKDi+0JJMotkqgIxOSQgU9dn/lWkeVf8nUm3iwX2Nl3WDw9i6AUK3vBAbZZrcJpDQ/N64AVwjT07Jef30GSSmtNu2WlW7YoyW2FlWfZFQUwk867EdLYKk9VG6JgEnBiBxkY7LMo4YLQJJlAo9l/oTvJkSARDF/XtyAzM8O2t3eT/iXa6wDN3WewNmQHdPfsxChU/KtLG2Mn8i4ZqKdSlIaBZadxJmRzVS/o4yA65RTSViq60oa395Lqw0pzY4SipwE0SXXsKV+GZraGSkr/RW08wPRvqvSUkYBMA9lPx4m24az+IHmCbXA+0faxTRE9wuGeO06DIXa6QlKJ3puIyiuAVfPr736vzo2pBirS+Vxel3TMm3JKhz9o2ZoRvaFVpIkykb0Hcm4oHFBMcNSNj7/4GJt43ogonY2Vg4nsDQIWxAcorpXACzgBqQPjYsE/VUpXpwNManEru4NwMCFPkXvMoqvoeLN3qyu/N1eWEHttMD65v19l/0kH2mR35iv/FI+yjoHJ9gPMz67af3Mq/BoWXqu3rphiWMXVkmnPSEkpGpUI2h1MThideGFEOK6YZHPwYzMBvpNC7+ZHxPb7epfefGyIB4JzO9DTNEYnDLVVHdQyvOEVefrk6Uv5kTQYVYWWdqrdcIl7yljwwIWdfQ/y+2QB3eR/qxYObuYyB4gTbo2in4PzarU1sO9nETkmj9/AoxDA+JM3GMqQtJR4jtduHtnoCLxd1gQUscHRB/MoRYIEsP2pDZ9KvHgtlk1iTbWWbHhohwFEYX7y51fUV2nuUmnoUcqnWIQAAgl9LTVX+Bc0QGNEhChxHR4YjfE51PUdGfsSFE6ck7BL3/hTf9jLq4G1IafINxOLKeAtO7quulYvH5YOBc+zX7CrMgWnW47/jfRsWnJjYYoE7xMfWV2HN2iyIqLI"),n=()=>sX(r),i=()=>new Set(n()),s=(t,e)=>
1e.forEach(e=>t.add(e));o=new Map(s0(r)),l=i(),u=n(),c=new Set(n().map(t=>u[t])),u=new Set(u),h=i(),i();let a=s$(r),b=r(),w=()=>{let t=new Set;return n().forEach(e=>s(t,a[e])),s(t,n()),t};f=s1(t=>{let e=s1(r).map(t=>t+96);if(e.length){let n=t>=b;return e[0]-=32,e=s4(e),n&&(e=`Restricted[${e}]`),{N:e,P:w(),Q:w(),M:!r(),R:n}}}),d=i(),p=new Map;let A=n().concat(ae(d)).sort((t,e)=>t-e);for(let{V:t,M:e}of(A.forEach((t,e)=>{let n=r(),i=A[e]=n?A[e-n]:{V:[],M:new Map};i.V.push(t),d.has(t)||p.set(t,i)}),new Set(p.values()))){let r=[];for(let e of t){let t=f.filter(t=>ar(t,e)),n=r.find(({G:e})=>t.some(t=>e.has(t)));n||(n={G:new Set,V:[]},r.push(n)),n.V.push(e),s(n.G,t)}let n=r.flatMap(t=>ae(t.G));for(let{G:t,V:i}of r){let r=new Set(n.filter(e=>!t.has(e)));for(let t of i)e.set(t,r)}}g=new Set;let E=new Set,v=t=>g.has(t)?E.add(t):g.add(t);for(let t of f){for(let e of t.P)v(e);for(let e of t.Q)v(e)}for(let t of g)p.has(t)||E.has(t)||p.set(t,1);for(let n of(s(g,s9(g).map(s6)),m=(t=[],e=sX(r),function e({S:r,B:n},i,s){if(!(4&r)||s!==i[i.length-1])for(let a of(2&r&&(s=i[i.length-1]),1&r&&t.push(i),n)
1)for(let t of a.Q)e(a,[...i,t],s)}(function t(n){return{S:r(),B:s1(()=>{let n=sX(r).map(t=>e[t]);if(n.length)return t(n)}),Q:n}}([]),[]),t).map(t=>an.from(t)).sort(s5),y=new Map,m)){let t=[y];for(let e of n){let r=t.map(t=>{let r=t.get(e);return r||(r=new Map,t.set(e,r)),r});65039===e?t.push(...r):t=r}for(let e of t)e.V=n}}function as(t){return(al(t)?"":`${aa(ao([t]))} `)+s3(t)}function aa(t){return`"${t}"\u200E`}function ao(t,e=1/0,r=s3){var n;let i=[];n=t[0],ai(),u.has(n)&&i.push("◌"),t.length>e&&(e>>=1,t=[...t.slice(0,e),8230,...t.slice(-e)]);let s=0,a=t.length;for(let e=0;e<a;e++){let n=t[e];al(n)&&(i.push(s4(t.slice(s,e))),i.push(r(n)),s=e+1)}return i.push(s4(t.slice(s,a))),i.join("")}function al(t){return ai(),h.has(t)}function au(t){return Error(`disallowed character: ${as(t)}`)}function ac(t,e){let r=as(e),n=f.find(t=>t.P.has(e));return n&&(r=`${n.N} ${r}`),Error(`illegal mixture: ${t.N} + ${r}`)}function ah(t){return Error(`illegal placement: ${t}`)}function af(t){return t.filter(t=>65039!=t)}let ad=new Uint8Array(32);function ap(t){return D(0!==t.length,"invalid ENS name; empty component","comp",t),t}function ag(t){let e=ti(am(t)),r=[];if(0===t.length)return r;let n=0;for(let t=0;t<e.length;t++)46===e[t]&&(r.push(ap(e.slice(n,t))),n=t+1);return D(n<e.length,"invalid ENS name; empty component","name",t),r.push(ap(e.slice(n))),r}function am(t){try{var e;if(0===t.length)throw Error("empty label");return(e=function(t,e,r){if(!t)return[];ai();let n=0;return t.split(".").map(t=>{let i=function(t){let e=[];for(let r=0,n=t.length;r<n;){let n=t.codePointAt(r);r+=n<65536?1:2,e.push(n)}return e}(t),s={input:i,offset:n};n+=i.length+1;try{let t,n=s.tokens=function(t,e,r){let n=[],i=[];for(t=t.slice().reverse();t.length;){let s=function(t,e){let r,n=y,i=t.length;for(;i&&(n=n.get(t[--i]));){let{V:e}=n;e&&(r=e,t.length=i)}return r}(t);
1if(s)i.length&&(n.push(e(i)),i=[]),n.push(r(s));else{let e=t.pop();if(g.has(e))i.push(e);else{let t=o.get(e);if(t)i.push(...t);else if(!l.has(e))throw au(e)}}}return i.length&&n.push(e(i)),n}(i,e,r),a=n.length;if(!a)throw Error("empty label");let h=s.output=n.flat();if(function(t){for(let e=t.lastIndexOf(95);e>0;)if(95!==t[--e])throw Error("underscore allowed only at start")}(h),!(s.emoji=a>1||n[0].is_emoji)&&h.every(t=>t<128))(function(t){if(t.length>=4&&45==t[2]&&45==t[3])throw Error(`invalid label extension: "${s4(t.slice(0,4))}"`)})(h),t="ASCII";else{let e=n.flatMap(t=>t.is_emoji?[]:t);if(e.length){if(u.has(h[0]))throw ah("leading combining mark");for(let t=1;t<a;t++){let e=n[t];if(!e.is_emoji&&u.has(e[0]))throw ah(`emoji + combining mark: "${s4(n[t-1])} + ${ao([e[0]])}"`)}!function(t){let e=t[0],r=sZ.get(e);if(r)throw ah(`leading ${r}`);let n=t.length,i=-1;for(let s=1;s<n;s++){e=t[s];let n=sZ.get(e);if(n){if(i==s)throw ah(`${r} + ${n}`);i=s+1,r=n}}if(i==n)throw ah(`trailing ${r}`)}(h);let r=ae(new Set(e)),[i]=function(t){let e=f;for(let r of t){let t=e.filter(t=>ar(t,r));if(!t.length){if(f.some(t=>ar(t,r)))throw ac(e[0],r);throw au(r)}if(e=t,1==t.length)break}return e}(r);(function(t,e){for(let r of e)if(!ar(t,r))throw ac(t,r);if(t.M){let t=s9(e).map(s6);for(let e=1,r=t.length;e<r;e++)if(c.has(t[e])){let n=e+1;for(let i;n<r&&c.has(i=t[n]);n++)for(let r=e;r<n;r++)if(t[r]==i)throw Error(`duplicate non-spacing marks: ${as(i)}`);if(n-e>4)throw Error(`excessive non-spacing marks: ${aa(ao(t.slice(e-1,n)))} (${n-e}/4)`);e=n}}})(i,e),function(t,e){let r;let n=[];for(let t of e){let e=p.get(t);if(1===e)return;if(e){let n=e.M.get(t);if(!(r=r?r.filter(t=>n.has(t)):ae(n)).length)return}else n.push(t)}if(r){for(let e of r)if(n.every(t=>ar(e,t)))throw Error(`whole-script confusable: ${t.N}/${e.N}`)}}(i,r),t=i.N}else t="Emoji"}s.type=t}catch(t){s.error=t}return s})}(t,at,af)).map(({input:t,error:r,output:n})=>{if(r){let n=r.message;throw Error(1==e.length?n:`Invalid label ${aa(ao(t,63))}: ${n}`)}return s4(n)}).join(".")}catch(e){D(!1,`invalid ENS name (${e.message})`,"name",t)}}function ay(t){try{return 0!==ag(t).length}catch(t){}return!1}function ab(t){D("string"==typeof t,"invalid ENS name; not a string","name",t),D(t.length,"invalid ENS name (empty label)","name",t);let e=ad,r=ag(t);for(;r.length;)e=eg(q([e,eg(r.pop())]));return J(e)}function aw(t,e){let r=null!=e?e:63;return D(r<=255,"DNS encoded label cannot exceed 255","length",r),J(q(ag(t).map(e=>{D(e.length<=r,`label ${JSON.stringify(t)} exceeds ${r} bytes`,"name",t);let n=new Uint8Array(e.length+1);return n.set(e,1),n[0]=n.length-1,n})))+"00"}function aA(t){return ev(eg("0x"+("string"==typeof t?sW.computePublicKey(t,!1):t.publicKey).substring(4)).substring(26))}function aE(t,e){return aA(sW.recoverPublicKey(t,e))}function av(t){return D("string"==typeof t.address,"invalid address for hashAuthorization","auth.address",t),eg(q(["0x05",rj([null!=t.chainId?tE(t.chainId):"0x",ev(t.address),null!=t.nonce?tE(t.nonce):"0x"])]))}function ak(t,e){return aE(av(t),e)}function aP(t){return"string"==typeof t&&(t=ti(t)),eg(q([ti(r4),ti(String(t.length)),t]))}function aN(t,e){return aE(aP(t),e)}ad.fill(0);let aR=RegExp("^bytes([0-9]+)$"),aI=RegExp("^(u?int)([0-9]*)$"),ax=RegExp("^(.*)\\[([0-9]*)\\]$");function aO(t,e){D(t.length===e.length,"wrong number of values; expected ${ types.length }","values",e);let r=[];return t.forEach(function(t,n){r.push(function t(e,r,n){switch(e){case"address":if(n)return z($(r,32));return z(ev(r));case"string":return ti(r);case"bytes":return z(r);case"bool":if(r=r?"0x01":"0x00",n)return z($(r,32));return z(r)}let i=e.match(aI);if(i){let t="int"===i[1],s=parseInt(i[2]||"256");return D((!i[2]||i[2]===String(s))&&s%8==0&&0!==s&&s<=256,"invalid number type","type",e),n&&(s=256),t&&(r=tf(r,s)),z($(tE(r),s/8))}if(i=e.match(aR)){let t=parseInt(i[1]);return(D(String(t)===i[1]&&0!==t&&t<=32,"invalid bytes type","type",e),D(W(r)===t,`invalid value for ${e}`,"value",r),n)?z(tt(r,32)):r}if((i=e.match(ax))&&Array.isArray(r)){let n=i[1];D(parseInt(i[2]||String(r.length))===r.length,`invalid array length for ${e}`,"value",r);let s=[];return r.forEach(function(e){s.push(t(n,e,!0))}),z(q(s))}D(!1,"invalid type","type",e)}(t,e[n]))}),J(q(r))}function aC(t,e){return eg(aO(t,e))}function aT(t,e){return iW(aO(t,e))}let aS=new Uint8Array(32);aS.fill(0);let aB=BigInt(-1),aU=BigInt(0),aF=BigInt(1),aD=BigInt("0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff"),aL=tA(aF,32),aM=tA(aU,32),aG={name:"string",version:"string",chainId:"uint256",verifyingContract:"address",salt:"bytes32"},aH=["name","version","chainId","verifyingContract","salt"];function aV(t){return function(e){return D("string"==typeof e,`invalid domain value for ${JSON.stringify(t)}`,`domain.${t}`,e),e}}let az={name:aV("name"),version:aV("version"),chainId:function(t){let e=tp(t,"domain.chainId");return(D(e>=0,"invalid chain ID","domain.chainId",t),Number.isSafeInteger(e))?Number(e):tv(e)},verifyingContract:function(t){try{return ev(t).toLowerCase()}catch(t){}D(!1,'invalid domain value "verifyingContract"',"domain.verifyingContract",t)},salt:function(t){let e=z(t,"domain.salt");return D(32===e.length,'invalid domain value "salt"',"domain.salt",t),J(e)}};function aj(t){{let e=t.match(/^(u?)int(\d+)$/);if(e){let r=""===e[1],n=parseInt(e[2]);D(n%8==0&&0!==n&&n<=256&&e[2]===String(n),"invalid numeric width","type",t);let i=td(aD,r?n-1:n),s=r?(i+aF)*aB:aU;return function(e){let n=tp(e,"value");return D(n>=s&&n<=i,`value out-of-bounds for ${t}`,"value",n),tA(r?tf(n,256):n,32)}}}{let e=t.match(/^bytes(\d+)$/);if(e){let r=parseInt(e[1]);return D(0!==r&&r<=32&&e[1]===String(r),"invalid bytes width","type",t),function(e){return D(z(e).length===r,`invalid length for ${t}`,"value",e),function(t){let e=z(t),r=e.length%32;return r?q([e,aS.slice(r)]):J(e)}(e)}}}switch(t){case"address":return function(t){return $(ev(t),32)};case"bool":return function(t){return t?aL:aM};case"bytes":return function(t){return eg(t)};case"string":return function(t){return eK(t)}}return null}function aQ(t,e){return`${t}(${e.map(({name:t,type:e})=>e+" "+t).join(",")})`}function a_(t){let e=t.match(/^([^\x5b]*)((\x5b\d*\x5d)*)(\x5b(\d*)\x5d)$/);return e?{base:e[1],index:e[2]+e[4],array:{base:e[1],prefix:e[1]+e[2],count:e[5]?parseInt(e[5]):-1}}:{base:t}}class aK{primaryType;#S;get types(){return JSON.parse(this.#S)}#B;
1#U;constructor(t){this.#B=new Map,this.#U=new Map;let e=new Map,r=new Map,n=new Map,i={};for(let s in Object.keys(t).forEach(s=>{i[s]=t[s].map(({name:e,type:r})=>{let{base:n,index:i}=a_(r);return"int"!==n||t.int||(n="int256"),"uint"!==n||t.uint||(n="uint256"),{name:e,type:n+(i||"")}}),e.set(s,new Set),r.set(s,[]),n.set(s,new Set)}),this.#S=JSON.stringify(i),i){let n=new Set;for(let a of i[s]){D(!n.has(a.name),`duplicate variable name ${JSON.stringify(a.name)} in ${JSON.stringify(s)}`,"types",t),n.add(a.name);let i=a_(a.type).base;D(i!==s,`circular type reference to ${JSON.stringify(i)}`,"types",t),aj(i)||(D(r.has(i),`unknown type ${JSON.stringify(i)}`,"types",t),r.get(i).push(s),e.get(s).add(i))}}let s=Array.from(r.keys()).filter(t=>0===r.get(t).length);for(let[a,o]of(D(0!==s.length,"missing primary type","types",t),D(1===s.length,`ambiguous primary types or unused types: ${s.map(t=>JSON.stringify(t)).join(", ")}`,"types",t),C(this,{primaryType:s[0]}),!function i(s,a){for(let o of(D(!a.has(s),`circular type reference to ${JSON.stringify(s)}`,"types",t),a.add(s),e.get(s)))if(r.has(o))for(let t of(i(o,a),a))n.get(t).add(o);a.delete(s)}(this.primaryType,new Set),n)){let t=Array.from(o);t.sort(),this.#B.set(a,aQ(a,i[a])+t.map(t=>aQ(t,i[t])).join(""))}}getEncoder(t){let e=this.#U.get(t);return e||(e=this.#F(t),this.#U.set(t,e)),e}#F(t){{let e=aj(t);if(e)return e}let e=a_(t).array;if(e){let t=e.prefix,r=this.getEncoder(t);return n=>{D(-1===e.count||e.count===n.length,`array length mismatch; expected length ${e.count}`,"value",n);let i=n.map(r);return this.#B.has(t)&&(i=i.map(eg)),eg(q(i))}}let r=this.types[t];if(r){let e=eK(this.#B.get(t));return t=>{let n=r.map(({name:e,type:r})=>{let n=this.getEncoder(r)(t[e]);return this.#B.has(r)?eg(n):n});return n.unshift(e),q(n)}}D(!1,`unknown type: ${t}`,"type",t)}encodeType(t){let e=this.#B.get(t);return D(e,`unknown type: ${JSON.stringify(t)}`,"name",t),e}encodeData(t,e){return this.getEncoder(t)(e)}hashStruct(t,e){return eg(this.encodeData(t,e))}encode(t){return this.encodeData(this.primaryType,t)}hash(t){return this.hashStruct(this.primaryType,t)}_visit(t,e,r){if(aj(t))return r(t,e);let n=a_(t).array;if(n)return D(-1===n.count||n.count===e.length,`array length mismatch; expected length ${n.count}`,"value",e),e.map(t=>this._visit(n.prefix,t,r));let i=this.types[t];if(i)return i.reduce((t,{name:n,type:i})=>(t[n]=this._visit(i,e[n],r),t),{});D(!1,`unknown type: ${t}`,"type",t)}visit(t,e){return this._visit(this.primaryType,t,e)}static from(t){return new aK(t)}static getPrimaryType(t){return aK.from(t).primaryType}static hashStruct(t,e,r){return aK.from(e).hashStruct(t,r)}static hashDomain(t){let e=[];for(let r in t){if(null==t[r])continue;let n=aG[r];D(n,`invalid typed-data domain key: ${JSON.stringify(r)}`,"domain",t),e.push({name:r,type:n})}return e.sort((t,e)=>aH.indexOf(t.name)-aH.indexOf(e.name)),aK.hashStruct("EIP712Domain",{EIP712Domain:e},t)}static encode(t,e,r){return q(["0x1901",aK.hashDomain(t),aK.from(e).hash(r)])}static hash(t,e,r){return eg(aK.encode(t,e,r))}static async resolveNames(t,e,r,n){for(let e in t=Object.assign({},t))null==t[e]&&delete t[e];let i={};t.verifyingContract&&!Q(t.verifyingContract,20)&&(i[t.verifyingContract]="0x");let s=aK.from(e);for(let t in s.visit(r,(t,e)=>("address"!==t||Q(e,20)||(i[e]="0x"),e)),i)i[t]=await n(t);return t.verifyingContract&&i[t.verifyingContract]&&(t.verifyingContract=i[t.verifyingContract]),r=s.visit(r,(t,e)=>"address"===t&&i[e]?i[e]:e),{domain:t,value:r}}static getPayload(t,e,r){aK.hashDomain(t);let n={},i=[];aH.forEach(e=>{let r=t[e];null!=r&&(n[e]=az[e](r),i.push({name:e,type:aG[e]}))});let s=aK.from(e),a=Object.assign({},e=s.types);return D(null==a.EIP712Domain,"types must not contain EIP712Domain type","types.EIP712Domain",e),a.EIP712Domain=i,s.encode(r),{types:a,domain:n,primaryType:s.primaryType,message:s.visit(r,(t,e)=>{if(t.match(/^bytes(\d*)/))return J(z(e));if(t.match(/^u?int/))return tp(e).toString();switch(t){case"address":return e.toLowerCase();case"bool":return!!e;
1case"string":return D("string"==typeof e,"invalid string","value",e),e}D(!1,"unsupported type","type",t)})}}}function aJ(t,e,r,n){return aE(aK.hash(t,e,r),n)}function aq(t){let e=new Uint8Array((t=atob(t)).length);for(let r=0;r<t.length;r++)e[r]=t.charCodeAt(r);return z(e)}function aW(t){let e=z(t),r="";for(let t=0;t<e.length;t++)r+=String.fromCharCode(e[t]);return btoa(r)}function aZ(t){return async function(e,r){let n;F(null==r||!r.cancelled,"request cancelled before sending","CANCELLED");let i=e.url.split(":")[0].toLowerCase();F("http"===i||"https"===i,`unsupported protocol ${i}`,"UNSUPPORTED_OPERATION",{info:{protocol:i},operation:"request"}),F("https"===i||!e.credentials||e.allowInsecureAuthentication,"insecure authorized connections unsupported","UNSUPPORTED_OPERATION",{operation:"request"});let s=null,a=new AbortController,o=setTimeout(()=>{s=U("request timeout","TIMEOUT"),a.abort()},e.timeout);r&&r.addListener(()=>{s=U("request cancelled","CANCELLED"),a.abort()});let l=Object.assign({},t,{method:e.method,headers:new Headers(Array.from(e)),body:e.body||void 0,signal:a.signal});try{n=await fetch(e.url,l)}catch(t){if(clearTimeout(o),s)throw s;throw t}clearTimeout(o);let u={};n.headers.forEach((t,e)=>{u[e.toLowerCase()]=t});let c=await n.arrayBuffer(),h=null==c?null:new Uint8Array(c);return{statusCode:n.status,statusMessage:n.statusText,headers:u,body:h}}}aZ({});let aY=aZ(),aX=RegExp("^data:([^;:]*)?(;base64)?,(.*)$","i"),a$=RegExp("^ipfs://(ipfs/)?(.*)$","i"),a0=!1;async function a1(t,e){try{var r;let e=t.match(aX);if(!e)throw Error("invalid data");return new a7(200,"OK",{"content-type":e[1]||"text/plain"},e[2]?aq(e[3]):(r=e[3],ti(r.replace(/%([0-9a-f][0-9a-f])/gi,(t,e)=>String.fromCharCode(parseInt(e,16))))))}catch(e){return new a7(599,"BAD REQUEST (invalid data: URI)",{},null,new a6(t))}}function a2(t){return async function(e,r){try{let r=e.match(a$);if(!r)throw Error("invalid link");return new a6(`${t}${r[2]}`)}catch(t){return new a7(599,"BAD REQUEST (invalid IPFS URI)",{},null,new a6(e))}}}let a3={data:a1,ipfs:a2("https://gateway.ipfs.io/ipfs/")},a4=new WeakMap;class a5{#D;#L;constructor(t){this.#D=[],this.#L=!1,a4.set(t,()=>{if(!this.#L){for(let t of(this.#L=!0,this.#D))setTimeout(()=>{t()},0);this.#D=[]}})}addListener(t){F(!this.#L,"singal already cancelled","UNSUPPORTED_OPERATION",{operation:"fetchCancelSignal.addCancelListener"}),this.#D.push(t)}get cancelled(){return this.#L}checkSignal(){F(!this.cancelled,"cancelled","CANCELLED",{})}}function a8(t){if(null==t)throw Error("missing signal; should not happen");return t.checkSignal(),t}class a6{#M;#G;#H;#V;#z;#j;#Q;#_;#K;#J;#q;#W;#Z;#Y;#X;get url(){return this.#j}set url(t){this.#j=String(t)}get body(){return null==this.#Q?null:new Uint8Array(this.#Q)}set body(t){if(null==t)this.#Q=void 0,this.#_=void 0;else if("string"==typeof t)this.#Q=ti(t),this.#_="text/plain";else if(t instanceof Uint8Array)this.#Q=t,this.#_="application/octet-stream";else if("object"==typeof t)this.#Q=ti(JSON.stringify(t)),this.#_="application/json";else throw Error("invalid body")}hasBody(){return null!=this.#Q}get method(){return this.#V?this.#V:this.hasBody()?"POST":"GET"}set method(t){null==t&&(t=""),this.#V=String(t).toUpperCase()}get headers(){let t=Object.assign({},this.#H);return this.#K&&(t.authorization=`Basic ${aW(ti(this.#K))}`),this.allowGzip&&(t["accept-encoding"]="gzip"),null==t["content-type"]&&this.#_&&(t["content-type"]=this.#_),this.body&&(t["content-length"]=String(this.body.length)),t}getHeader(t){return this.headers[t.toLowerCase()]}setHeader(t,e){this.#H[String(t).toLowerCase()]=String(e)}clearHeaders(){this.#H={}}[Symbol.iterator](){let t=this.headers,e=Object.keys(t),r=0;return{next:()=>{if(r<e.length){let n=e[r++];return{value:[n,t[n]],done:!1}}return{value:void 0,done:!0}}}}get credentials(){return this.#K||null}setCredentials(t,e){D(!t.match(/:/),"invalid basic authentication username","username","[REDACTED]"),this.#K=`${t}:${e}`}get allowGzip(){return this.#G}set allowGzip(t){this.#G=!!t}get allowInsecureAuthentication(){return!!this.#M}set allowInsecureAuthentication(t){this.#M=!!t}get timeout(){return this.#z}set timeout(t){D(t>=0,"timeout must be non-zero","timeout",t),this.#z=t}get preflightFunc(){return this.#J||null}set preflightFunc(t){this.#J=t}get processFunc(){return this.#q||null}set processFunc(t){this.#q=t}get retryFunc(){return this.#W||null}set retryFunc(t){this.#W=t}get getUrlFunc(){return this.#X||aY}set getUrlFunc(t){this.#X=t}constructor(t){this.#j=String(t),this.#M=!1,this.#G=!0,this.#H={},this.#V="",this.#z=3e5,this.#Y={slotInterval:250,maxAttempts:12},this.#X=null}toString(){return`<FetchRequest method=${JSON.stringify(this.method)} url=${JSON.stringify(this.url)} headers=${JSON.stringify(this.headers)} body=${this.#Q?J(this.#Q):"null"}>`}setThrottleParams(t){null!=t.slotInterval&&(this.#Y.slotInterval=t.slotInterval),null!=t.maxAttempts&&(this.#Y.maxAttempts=t.maxAttempts)}async #$(t,e,r,n,i){if(t>=this.#Y.maxAttempts)return i.makeServerError("exceeded maximum retry limit");F(a9()<=e,"timeout","TIMEOUT",{operation:"request.send",reason:"timeout",request:n}),r>0&&await new Promise(t=>setTimeout(t,r));let s=this.clone(),a=(s.url.split(":")[0]||"").toLowerCase();if(a in a3){let t=await a3[a](s.url,a8(n.#Z));if(t instanceof a7){let e=t;if(this.processFunc){a8(n.#Z);try{e=await this.processFunc(s,e)}catch(t){(null==t.throttle||"number"!=typeof t.stall)&&e.makeServerError("error in post-processing function",t).assertOk()}}return e}s=t}this.preflightFunc&&(s=await this.preflightFunc(s));let o=await this.getUrlFunc(s,a8(n.#Z)),l=new a7(o.statusCode,o.statusMessage,o.headers,o.body,n);if(301===l.statusCode||302===l.statusCode){try{let r=l.headers.location||"";return s.redirect(r).#$(t+1,e,0,n,l)}catch(t){}return l}if(429===l.statusCode&&(null==this.retryFunc||await this.retryFunc(s,l,t))){let r=l.headers["retry-after"],i=this.#Y.slotInterval*Math.trunc(Math.random()*Math.pow(2,t));return"string"==typeof r&&r.match(/^[1-9][0-9]*$/)&&(i=parseInt(r)),s.clone().#$(t+1,e,i,n,l)}if(this.processFunc){a8(n.#Z);try{l=await this.processFunc(s,l)}catch(i){(null==i.throttle||"number"!=typeof i.stall)&&l.makeServerError("error in post-processing function",i).assertOk();let r=this.#Y.slotInterval*Math.trunc(Math.random()*Math.pow(2,t));return i.stall>=0&&(r=i.stall),s.clone().#$(t+1,e,r,n,l)}}return l}send(){return F(null==this.#Z,"request already sent","UNSUPPORTED_OPERATION",{operation:"fetchRequest.send"}),this.#Z=new a5(this),this.#$(0,a9()+this.timeout,0,this,new a7(0,"",{},null,this))}cancel(){F(null!=this.#Z,"request has not been sent","UNSUPPORTED_OPERATION",{operation:"fetchRequest.cancel"});let t=a4.get(this);if(!t)throw Error("missing signal; should not happen");t()}redirect(t){let e=this.url.split(":")[0].toLowerCase(),r=t.split(":")[0].toLowerCase();F("GET"===this.method&&("https"!==e||"http"!==r)&&t.match(/^https?:/),"unsupported redirect","UNSUPPORTED_OPERATION",{operation:`redirect(${this.method} ${JSON.stringify(this.url)} => ${JSON.stringify(t)})`});let n=new a6(t);return n.method="GET",n.allowGzip=this.allowGzip,n.timeout=this.timeout,n.#H=Object.assign({},this.#H),this.#Q&&(n.#Q=new Uint8Array(this.#Q)),n.#_=this.#_,n}clone(){let t=new a6(this.url);return t.#V=this.#V,this.#Q&&(t.#Q=this.#Q),t.#_=this.#_,t.#H=Object.assign({},this.#H),t.#K=this.#K,this.allowGzip&&(t.allowGzip=!0),t.timeout=this.timeout,this.allowInsecureAuthentication&&(t.allowInsecureAuthentication=!0),t.#J=this.#J,t.#q=this.#q,t.#W=this.#W,t.#Y=Object.assign({},this.#Y),t.#X=this.#X,t}static lockConfig(){a0=!0}static getGateway(t){return a3[t.toLowerCase()]||null}static registerGateway(t,e){if("http"===(t=t.toLowerCase())||"https"===t)throw Error(`cannot intercept ${t}; use registerGetUrl`);if(a0)throw Error("gateways locked");a3[t]=e}static registerGetUrl(t){if(a0)throw Error("gateways locked");aY=t}static createGetUrlFunc(t){return aZ(t)}static createDataGateway(){return a1}static createIpfsGatewayFunc(t){return a2(t)}}class a7{#tt;#te;#H;#Q;#tr;#tn;toString(){return`<FetchResponse status=${this.statusCode} body=${this.#Q?J(this.#Q):"null"}>`}get statusCode(){return this.#tt}get statusMessage(){return this.#te}get headers(){return Object.assign({},this.#H)}get body(){return null==this.#Q?null:new Uint8Array(this.#Q)}get bodyText(){try{return null==this.#Q?"":ts(this.#Q)}
1catch(t){F(!1,"response body is not valid UTF-8 data","UNSUPPORTED_OPERATION",{operation:"bodyText",info:{response:this}})}}get bodyJson(){try{return JSON.parse(this.bodyText)}catch(t){F(!1,"response body is not valid JSON","UNSUPPORTED_OPERATION",{operation:"bodyJson",info:{response:this}})}}[Symbol.iterator](){let t=this.headers,e=Object.keys(t),r=0;return{next:()=>{if(r<e.length){let n=e[r++];return{value:[n,t[n]],done:!1}}return{value:void 0,done:!0}}}}constructor(t,e,r,n,i){this.#tt=t,this.#te=e,this.#H=Object.keys(r).reduce((t,e)=>(t[e.toLowerCase()]=String(r[e]),t),{}),this.#Q=null==n?null:new Uint8Array(n),this.#tr=i||null,this.#tn={message:""}}makeServerError(t,e){let r;t?r=`CLIENT ESCALATED SERVER ERROR (${this.statusCode} ${this.statusMessage}; ${t})`:(t=`${this.statusCode} ${this.statusMessage}`,r=`CLIENT ESCALATED SERVER ERROR (${t})`);let n=new a7(599,r,this.headers,this.body,this.#tr||void 0);return n.#tn={message:t,error:e},n}throwThrottleError(t,e){null==e?e=-1:D(Number.isInteger(e)&&e>=0,"invalid stall timeout","stall",e);let r=Error(t||"throttling requests");throw C(r,{stall:e,throttle:!0}),r}getHeader(t){return this.headers[t.toLowerCase()]}hasBody(){return null!=this.#Q}get request(){return this.#tr}ok(){return""===this.#tn.message&&this.statusCode>=200&&this.statusCode<300}assertOk(){if(this.ok())return;let{message:t,error:e}=this.#tn;""===t&&(t=`server response ${this.statusCode} ${this.statusMessage}`);let r=null;this.request&&(r=this.request.url);let n=null;try{this.#Q&&(n=ts(this.#Q))}catch(t){}F(!1,t,"SERVER_ERROR",{request:this.request||"unknown request",response:this,error:e,info:{requestUrl:r,responseBody:n,responseStatus:`${this.statusCode} ${this.statusMessage}`}})}}function a9(){return new Date().getTime()}let ot=new Set;function oe(t){ot.has(t)||(ot.add(t),console.log("========= NOTICE ========="),console.log(`Request-Rate Exceeded for ${t} (this message will not be repeated)`),console.log(""),console.log("The default API keys for each service are provided as a highly-throttled,"),console.log("community resource for low-traffic projects and early prototyping."),console.log(""),console.log("While your application will continue to function, we highly recommended"),console.log("signing up for your own API keys to improve performance, increase your"),console.log("request rate/limit and enable other perks, such as metrics and advanced APIs."),console.log(""),console.log("For more details: https://docs.ethers.org/api-keys/"),console.log("=========================="))}class or{name;constructor(t){C(this,{name:t})}clone(){return new or(this.name)}}class on extends or{effectiveBlock;txBase;txCreate;txDataZero;txDataNonzero;txAccessListStorageKey;txAccessListAddress;constructor(t,e){null==t&&(t=0),super(`org.ethers.network.plugins.GasCost#${t||0}`);let r={effectiveBlock:t};function n(t,n){let i=(e||{})[t];null==i&&(i=n),D("number"==typeof i,`invalud value for ${t}`,"costs",e),r[t]=i}n("txBase",21e3),n("txCreate",32e3),n("txDataZero",4),n("txDataNonzero",16),n("txAccessListStorageKey",1900),n("txAccessListAddress",2400),C(this,r)}clone(){return new on(this.effectiveBlock,this)}}class oi extends or{address;targetNetwork;constructor(t,e){super("org.ethers.plugins.network.Ens"),C(this,{address:t||"0x00000000000C2E074eC69A0dFb2997BA6C7d2e1e",targetNetwork:null==e?1:e})}clone(){return new oi(this.address,this.targetNetwork)}}class os extends or{#ti;get feeDataFunc(){return this.#ti}constructor(t){super("org.ethers.plugins.network.FeeData"),this.#ti=t}async getFeeData(t){return await this.#ti(t)}clone(){return new os(this.#ti)}}class oa extends or{#j;#ts;get url(){return this.#j}get processFunc(){return this.#ts}constructor(t,e){super("org.ethers.plugins.network.FetchUrlFeeDataPlugin"),this.#j=t,this.#ts=e}clone(){return this}}let oo=new Map;class ol{#ta;#to;#tl;constructor(t,e){this.#ta=t,this.#to=tp(e),this.#tl=new Map}toJSON(){return{name:this.name,chainId:String(this.chainId)}}get name(){return this.#ta}set name(t){this.#ta=t}get chainId(){return this.#to}set chainId(t){this.#to=tp(t,"chainId")}matches(t){if(null==t)return!1;if("string"==typeof t){try{return this.chainId===tp(t)}catch(t){}return this.name===t}if("number"==typeof t||"bigint"==typeof t){try{return this.chainId===tp(t)}catch(t){}return!1}if("object"==typeof t){if(null!=t.chainId){try{return this.chainId===tp(t.chainId)}catch(t){}return!1}if(null!=t.name)return this.name===t.name}return!1}get plugins(){return Array.from(this.#tl.values())}attachPlugin(t){if(this.#tl.get(t.name))throw Error(`cannot replace existing plugin: ${t.name} `);return this.#tl.set(t.name,t.clone()),this}getPlugin(t){return this.#tl.get(t)||null}getPlugins(t){return this.plugins.filter(e=>e.name.split("#")[0]===t)}clone(){let t=new ol(this.name,this.chainId);
1return this.plugins.forEach(e=>{t.attachPlugin(e.clone())}),t}computeIntrinsicGas(t){let e=this.getPlugin("org.ethers.plugins.network.GasCost")||new on,r=e.txBase;if(null==t.to&&(r+=e.txCreate),t.data)for(let n=2;n<t.data.length;n+=2)"00"===t.data.substring(n,n+2)?r+=e.txDataZero:r+=e.txDataNonzero;if(t.accessList){let n=r8(t.accessList);for(let t in n)r+=e.txAccessListAddress+e.txAccessListStorageKey*n[t].storageKeys.length}return r}static from(t){if(function(){oh||(oh=!0,t("mainnet",1,{ensNetwork:1,altNames:["homestead"]}),t("ropsten",3,{ensNetwork:3}),t("rinkeby",4,{ensNetwork:4}),t("goerli",5,{ensNetwork:5}),t("kovan",42,{ensNetwork:42}),t("sepolia",11155111,{ensNetwork:11155111}),t("holesky",17e3,{ensNetwork:17e3}),t("classic",61,{}),t("classicKotti",6,{}),t("arbitrum",42161,{ensNetwork:1}),t("arbitrum-goerli",421613,{}),t("arbitrum-sepolia",421614,{}),t("base",8453,{ensNetwork:1}),t("base-goerli",84531,{}),t("base-sepolia",84532,{}),t("bnb",56,{ensNetwork:1}),t("bnbt",97,{}),t("filecoin",314,{}),t("filecoin-calibration",314159,{}),t("linea",59144,{ensNetwork:1}),t("linea-goerli",59140,{}),t("linea-sepolia",59141,{}),t("matic",137,{ensNetwork:1,plugins:[oc("https://gasstation.polygon.technology/v2")]}),t("matic-amoy",80002,{}),t("matic-mumbai",80001,{altNames:["maticMumbai","maticmum"],plugins:[oc("https://gasstation-testnet.polygon.technology/v2")]}),t("optimism",10,{ensNetwork:1,plugins:[]}),t("optimism-goerli",420,{}),t("optimism-sepolia",11155420,{}),t("xdai",100,{ensNetwork:1}));function t(t,e,r){let n=function(){let n=new ol(t,e);return null!=r.ensNetwork&&n.attachPlugin(new oi(null,r.ensNetwork)),n.attachPlugin(new on),(r.plugins||[]).forEach(t=>{n.attachPlugin(t)}),n};ol.register(t,n),ol.register(e,n),r.altNames&&r.altNames.forEach(t=>{ol.register(t,n)})}}(),null==t)return ol.from("mainnet");if("number"==typeof t&&(t=BigInt(t)),"string"==typeof t||"bigint"==typeof t){let e=oo.get(t);if(e)return e();if("bigint"==typeof t)return new ol("unknown",t);D(!1,"unknown network","network",t)}if("function"==typeof t.clone)return t.clone();if("object"==typeof t){D("string"==typeof t.name&&"number"==typeof t.chainId,"invalid network object name or chainId","network",t);let e=new ol(t.name,t.chainId);return(t.ensAddress||null!=t.ensNetwork)&&e.attachPlugin(new oi(t.ensAddress,t.ensNetwork)),e}D(!1,"invalid network","network",t)}static register(t,e){"number"==typeof t&&(t=BigInt(t));let r=oo.get(t);r&&D(!1,`conflicting network for ${JSON.stringify(r.name)}`,"nameOrChainId",t),oo.set(t,e)}}function ou(t,e){let r=String(t);if(!r.match(/^[0-9.]+$/))throw Error(`invalid gwei value: ${t}`);let n=r.split(".");if(1===n.length&&n.push(""),2!==n.length)throw Error(`invalid gwei value: ${t}`);for(;n[1].length<e;)n[1]+="0";if(n[1].length>9){let t=BigInt(n[1].substring(0,9));!n[1].substring(9).match(/^0+$/)&&t++,n[1]=t.toString()}return BigInt(n[0]+n[1])}function oc(t){return new oa(t,async(t,e,r)=>{let n;r.setHeader("User-Agent","ethers");try{let[e,i]=await Promise.all([r.send(),t()]),s=(n=e).bodyJson.standard;return{gasPrice:i.gasPrice,maxFeePerGas:ou(s.maxFee,9),maxPriorityFeePerGas:ou(s.maxPriorityFee,9)}}catch(t){F(!1,`error encountered with polygon gas station (${JSON.stringify(r.url)})`,"SERVER_ERROR",{request:r,response:n,error:t})}})}let oh=!1;function of(t){return{address:ev(t.address),nonce:tp(null!=t.nonce?t.nonce:0),chainId:tp(null!=t.chainId?t.chainId:0),signature:i9.from(t.signature)}}function od(t,e,r){let n=0;for(let i=0;i<r;i++)n=256*n+t[e+i];return n}function op(t,e,r,n){let i=[];for(;r<e+1+n;){let s=og(t,r);i.push(s.result),F((r+=s.consumed)<=e+1+n,"child data too short","BUFFER_OVERRUN",{buffer:t,length:n,offset:e})}return{consumed:1+n,result:i}}function og(t,e){F(0!==t.length,"data too short","BUFFER_OVERRUN",{buffer:t,length:0,offset:1});let r=e=>{F(e<=t.length,"data short segment too short","BUFFER_OVERRUN",{buffer:t,length:t.length,offset:e})};if(t[e]>=248){let n=t[e]-247;r(e+1+n);let i=od(t,e+1,n);return r(e+1+n+i),op(t,e,e+1+n,n+i)}if(t[e]>=192){let n=t[e]-192;return r(e+1+n),op(t,e,e+1,n)}if(t[e]>=184){let n=t[e]-183;r(e+1+n);let i=od(t,e+1,n);r(e+1+n+i);let s=J(t.slice(e+1+n,e+1+n+i));return{consumed:1+n+i,result:s}}if(t[e]>=128){let n=t[e]-128;r(e+1+n);let i=J(t.slice(e+1,e+1+n));return{consumed:1+n,result:i}}return{consumed:1,result:function(t){let e=t.toString(16);for(;e.length<2;)e="0"+e;return"0x"+e}(t[e])}}function om(t){let e=z(t,"data"),r=og(e,0);return D(r.consumed===e.length,"unexpected junk after rlp payload","data",t),r.result}let oy=BigInt(0),ob=BigInt(2),ow=BigInt(27),oA=BigInt(28),oE=BigInt(35),ov=BigInt("0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff"),ok=Symbol.for("nodejs.util.inspect.custom");function oP(t,e){let r=t.toString(16);for(;r.length<2;)r="0"+r;return"0x"+(r+=iW(e).substring(4))}function oN(t){return"0x"===t?null:ev(t)}function oR(t,e){try{return r8(t)}catch(r){D(!1,r.message,e,t)}}function oI(t,e){return"0x"===t?0:tb(t,e)}function ox(t,e){if("0x"===t)return oy;let r=tp(t,e);return D(r<=ov,"value exceeds uint size",e,r),r}function oO(t,e){let r=tp(t,"value"),n=tE(r);return D(n.length<=32,"value too large",`tx.${e}`,r),n}function oC(t){return r8(t).map(t=>[t.address,t.storageKeys])}function oT(t,e){let r;
1try{if(r=oI(e[0],"yParity"),0!==r&&1!==r)throw Error("bad yParity")}catch(t){D(!1,"invalid yParity","yParity",e[0])}let n=$(e[1],32),i=$(e[2],32),s=i9.from({r:n,s:i,yParity:r});t.signature=s}class oS{#tu;#tc;#e;#th;#tf;#td;#tp;#tg;#tm;#to;#ty;#tb;#tw;#tA;#tE;#tv;#tk;#tP;get type(){return this.#tu}set type(t){switch(t){case null:this.#tu=null;break;case 0:case"legacy":this.#tu=0;break;case 1:case"berlin":case"eip-2930":this.#tu=1;break;case 2:case"london":case"eip-1559":this.#tu=2;break;case 3:case"cancun":case"eip-4844":this.#tu=3;break;case 4:case"pectra":case"eip-7702":this.#tu=4;break;default:D(!1,"unsupported transaction type","type",t)}}get typeName(){switch(this.type){case 0:return"legacy";case 1:return"eip-2930";case 2:return"eip-1559";case 3:return"eip-4844";case 4:return"eip-7702"}return null}get to(){let t=this.#tc;return null==t&&3===this.type?rZ:t}set to(t){this.#tc=null==t?null:ev(t)}get nonce(){return this.#th}set nonce(t){this.#th=tb(t,"value")}get gasLimit(){return this.#tf}set gasLimit(t){this.#tf=tp(t)}get gasPrice(){let t=this.#td;return null==t&&(0===this.type||1===this.type)?oy:t}set gasPrice(t){this.#td=null==t?null:tp(t,"gasPrice")}get maxPriorityFeePerGas(){let t=this.#tp;return null==t?2===this.type||3===this.type?oy:null:t}set maxPriorityFeePerGas(t){this.#tp=null==t?null:tp(t,"maxPriorityFeePerGas")}get maxFeePerGas(){let t=this.#tg;return null==t?2===this.type||3===this.type?oy:null:t}set maxFeePerGas(t){this.#tg=null==t?null:tp(t,"maxFeePerGas")}get data(){return this.#e}set data(t){this.#e=J(t)}get value(){return this.#tm}set value(t){this.#tm=tp(t,"value")}get chainId(){return this.#to}set chainId(t){this.#to=tp(t)}get signature(){return this.#ty||null}set signature(t){this.#ty=null==t?null:i9.from(t)}isValid(){let t=this.signature;if(t&&!t.isValid())return!1;let e=this.authorizationList;if(e){for(let t of e)if(!t.signature.isValid())return!1}return!0}get accessList(){let t=this.#tb||null;return null==t?1===this.type||2===this.type||3===this.type?[]:null:t}set accessList(t){this.#tb=null==t?null:r8(t)}get authorizationList(){let t=this.#tk||null;return null==t&&4===this.type?[]:t}set authorizationList(t){this.#tk=null==t?null:t.map(t=>of(t))}get maxFeePerBlobGas(){let t=this.#tw;return null==t&&3===this.type?oy:t}set maxFeePerBlobGas(t){this.#tw=null==t?null:tp(t,"maxFeePerBlobGas")}get blobVersionedHashes(){let t=this.#tA;return null==t&&3===this.type?[]:t}set blobVersionedHashes(t){if(null!=t){D(Array.isArray(t),"blobVersionedHashes must be an Array","value",t),t=t.slice();for(let e=0;e<t.length;e++)D(Q(t[e],32),"invalid blobVersionedHash",`value[${e}]`,t[e])}this.#tA=t}get blobs(){return null==this.#tv?null:this.#tv.map(t=>Object.assign({},t))}set blobs(t){if(null==t){this.#tv=null;return}let e=[],r=[];for(let n=0;n<t.length;n++){let i=t[n];if(_(i)){F(this.#tE,"adding a raw blob requires a KZG library","UNSUPPORTED_OPERATION",{operation:"set blobs()"});let t=z(i);if(D(t.length<=131072,"blob is too large",`blobs[${n}]`,i),131072!==t.length){let e=new Uint8Array(131072);e.set(t),t=e}let s=this.#tE.blobToKzgCommitment(t),a=J(this.#tE.computeBlobKzgProof(t,s));e.push({data:J(t),commitment:J(s),proof:a}),r.push(oP(1,s))}else{let t=J(i.data),n=J(i.commitment),s=J(i.proof);e.push({data:t,commitment:n,proof:s}),r.push(oP(1,n))}}this.#tv=e,this.#tA=r}get kzg(){return this.#tE}set kzg(t){null==t?this.#tE=null:this.#tE={blobToKzgCommitment:e=>{if("computeBlobProof"in t){if("blobToKzgCommitment"in t&&"function"==typeof t.blobToKzgCommitment)return z(t.blobToKzgCommitment(J(e)))}else if("blobToKzgCommitment"in t&&"function"==typeof t.blobToKzgCommitment)return z(t.blobToKzgCommitment(e));if("blobToKZGCommitment"in t&&"function"==typeof t.blobToKZGCommitment)return z(t.blobToKZGCommitment(J(e)));D(!1,"unsupported KZG library","kzg",t)},computeBlobKzgProof:(e,r)=>"computeBlobProof"in t&&"function"==typeof t.computeBlobProof?z(t.computeBlobProof(J(e),J(r))):"computeBlobKzgProof"in t&&"function"==typeof t.computeBlobKzgProof?t.computeBlobKzgProof(e,r):"computeBlobKZGProof"in t&&"function"==typeof t.computeBlobKZGProof?z(t.computeBlobKZGProof(J(e),J(r))):void D(!1,"unsupported KZG library","kzg",t)}}get blobWrapperVersion(){return this.#tP}set blobWrapperVersion(t){this.#tP=t}constructor(){this.#tu=null,this.#tc=null,this.#th=0,this.#tf=oy,this.#td=null,this.#tp=null,this.#tg=null,this.#e="0x",this.#tm=oy,this.#to=oy,this.#ty=null,this.#tb=null,this.#t
1w=null,this.#tA=null,this.#tE=null,this.#tv=null,this.#tk=null,this.#tP=null}get hash(){return null==this.signature?null:eg(this.#tN(!0,!1))}get unsignedHash(){return eg(this.unsignedSerialized)}get from(){return null==this.signature?null:aE(this.unsignedHash,this.signature.getCanonical())}get fromPublicKey(){return null==this.signature?null:sW.recoverPublicKey(this.unsignedHash,this.signature.getCanonical())}isSigned(){return null!=this.signature}#tN(t,e){F(!t||null!=this.signature,"cannot serialize unsigned transaction; maybe you meant .unsignedSerialized","UNSUPPORTED_OPERATION",{operation:".serialized"});let r=t?this.signature:null;switch(this.inferType()){case 0:return function(t,e){let r=[oO(t.nonce,"nonce"),oO(t.gasPrice||0,"gasPrice"),oO(t.gasLimit,"gasLimit"),t.to||"0x",oO(t.value,"value"),t.data],n=oy;if(t.chainId!=oy)n=tp(t.chainId,"tx.chainId"),D(!e||null==e.networkV||e.legacyChainId===n,"tx.chainId/sig.v mismatch","sig",e);else if(t.signature){let e=t.signature.legacyChainId;null!=e&&(n=e)}if(!e)return n!==oy&&(r.push(tE(n)),r.push("0x"),r.push("0x")),rj(r);let i=BigInt(27+e.yParity);return n!==oy?i=i9.getChainIdV(n,e.v):BigInt(e.v)!==i&&D(!1,"tx.chainId/sig.v mismatch","sig",e),r.push(tE(i)),r.push(tE(e.r)),r.push(tE(e._s)),rj(r)}(this,r);case 1:return function(t,e){let r=[oO(t.chainId,"chainId"),oO(t.nonce,"nonce"),oO(t.gasPrice||0,"gasPrice"),oO(t.gasLimit,"gasLimit"),t.to||"0x",oO(t.value,"value"),t.data,oC(t.accessList||[])];return e&&(r.push(oO(e.yParity,"recoveryParam")),r.push(tE(e.r)),r.push(tE(e.s))),q(["0x01",rj(r)])}(this,r);case 2:return function(t,e){let r=[oO(t.chainId,"chainId"),oO(t.nonce,"nonce"),oO(t.maxPriorityFeePerGas||0,"maxPriorityFeePerGas"),oO(t.maxFeePerGas||0,"maxFeePerGas"),oO(t.gasLimit,"gasLimit"),t.to||"0x",oO(t.value,"value"),t.data,oC(t.accessList||[])];return e&&(r.push(oO(e.yParity,"yParity")),r.push(tE(e.r)),r.push(tE(e.s))),q(["0x02",rj(r)])}(this,r);case 3:return function(t,e,r){let n=[oO(t.chainId,"chainId"),oO(t.nonce,"nonce"),oO(t.maxPriorityFeePerGas||0,"maxPriorityFeePerGas"),oO(t.maxFeePerGas||0,"maxFeePerGas"),oO(t.gasLimit,"gasLimit"),t.to||rZ,oO(t.value,"value"),t.data,oC(t.accessList||[]),oO(t.maxFeePerBlobGas||0,"maxFeePerBlobGas"),function(t,e){D(Array.isArray(t),`invalid ${e}`,"value",t);for(let e=0;e<t.length;e++)D(Q(t[e],32),"invalid ${ param } hash",`value[${e}]`,t[e]);return t}(t.blobVersionedHashes||[],"blobVersionedHashes")];if(e&&(n.push(oO(e.yParity,"yParity")),n.push(tE(e.r)),n.push(tE(e.s)),r)){if(null!=t.blobWrapperVersion){let e=tE(t.blobWrapperVersion),i=[];for(let{proof:t}of r){let e=z(t),r=e.length/128;for(let t=0;t<e.length;t+=r)i.push(e.subarray(t,t+r))}return q(["0x03",rj([n,e,r.map(t=>t.data),r.map(t=>t.commitment),i])])}return q(["0x03",rj([n,r.map(t=>t.data),r.map(t=>t.commitment),r.map(t=>t.proof)])])}return q(["0x03",rj(n)])}(this,r,e?this.blobs:null);case 4:return function(t,e){let r=[oO(t.chainId,"chainId"),oO(t.nonce,"nonce"),oO(t.maxPriorityFeePerGas||0,"maxPriorityFeePerGas"),oO(t.maxFeePerGas||0,"maxFeePerGas"),oO(t.gasLimit,"gasLimit"),t.to||"0x",oO(t.value,"value"),t.data,oC(t.accessList||[]),(t.authorizationList||[]).map(t=>[oO(t.chainId,"chainId"),t.address,oO(t.nonce,"nonce"),oO(t.signature.yParity,"yParity"),tE(t.signature.r),tE(t.signature._s)])];return e&&(r.push(oO(e.yParity,"yParity")),r.push(tE(e.r)),r.push(tE(e.s))),q(["0x04",rj(r)])}(this,r)}F(!1,"unsupported transaction type","UNSUPPORTED_OPERATION",{operation:".serialized"})}get serialized(){return this.#tN(!0,!0)}get unsignedSerialized(){return this.#tN(!1,!1)}inferType(){let t=this.inferTypes();return t.indexOf(2)>=0?2:t.pop()}inferTypes(){let t=null!=this.gasPrice,e=null!=this.maxFeePerGas||null!=this.maxPriorityFeePerGas,r=null!=this.accessList,n=null!=this.#tw||this.#tA;null!=this.maxFeePerGas&&null!=this.maxPriorityFeePerGas&&F(this.maxFeePerGas>=this.maxPriorityFeePerGas,"priorityFee cannot be more than maxFee","BAD_DATA",{value:this}),F(!e||0!==this.type&&1!==this.type,"transaction type cannot have maxFeePerGas or maxPriorityFeePerGas","BAD_DATA",{value:this}),F(0!==this.type||!r,"legacy transaction cannot have accessList","BAD_DATA",{value:this});let i=[];return null!=this.type?i.push(this.type):this.authorizationList&&this.authorizationList.length?
1i.push(4):e?i.push(2):t?(i.push(1),r||i.push(0)):r?(i.push(1),i.push(2)):(n&&this.to||(i.push(0),i.push(1),i.push(2)),i.push(3)),i.sort(),i}isLegacy(){return 0===this.type}isBerlin(){return 1===this.type}isLondon(){return 2===this.type}isCancun(){return 3===this.type}clone(){return oS.from(this)}toJSON(){let t=t=>null==t?null:t.toString();return{type:this.type,to:this.to,data:this.data,nonce:this.nonce,gasLimit:t(this.gasLimit),gasPrice:t(this.gasPrice),maxPriorityFeePerGas:t(this.maxPriorityFeePerGas),maxFeePerGas:t(this.maxFeePerGas),value:t(this.value),chainId:t(this.chainId),sig:this.signature?this.signature.toJSON():null,accessList:this.accessList}}[ok](){return this.toString()}toString(){let t=[],e=e=>{let r=this[e];"string"==typeof r&&(r=JSON.stringify(r)),t.push(`${e}: ${r}`)};this.type&&e("type"),e("to"),e("data"),e("nonce"),e("gasLimit"),e("value"),null!=this.chainId&&e("chainId"),this.signature&&(e("from"),t.push(`signature: ${this.signature.toString()}`));let r=this.authorizationList;if(r){let e=[];for(let t of r){let r=[];r.push(`address: ${JSON.stringify(t.address)}`),null!=t.nonce&&r.push(`nonce: ${t.nonce}`),null!=t.chainId&&r.push(`chainId: ${t.chainId}`),t.signature&&r.push(`signature: ${t.signature.toString()}`),e.push(`Authorization { ${r.join(", ")} }`)}t.push(`authorizations: [ ${e.join(", ")} ]`)}return`Transaction { ${t.join(", ")} }`}static from(t){if(null==t)return new oS;if("string"==typeof t){let e=z(t);if(e[0]>=127)return oS.from(function(t){let e=om(t);D(Array.isArray(e)&&(9===e.length||6===e.length),"invalid field count for legacy transaction","data",t);let r={type:0,nonce:oI(e[0],"nonce"),gasPrice:ox(e[1],"gasPrice"),gasLimit:ox(e[2],"gasLimit"),to:oN(e[3]),value:ox(e[4],"value"),data:J(e[5]),chainId:oy};if(6===e.length)return r;let n=ox(e[6],"v"),i=ox(e[7],"r"),s=ox(e[8],"s");if(i===oy&&s===oy)r.chainId=n;else{let t=(n-oE)/ob;t<oy&&(t=oy),r.chainId=t,D(t!==oy||n===ow||n===oA,"non-canonical legacy v","v",e[6]),r.signature=i9.from({r:$(e[7],32),s:$(e[8],32),v:n})}return r}(e));switch(e[0]){case 1:return oS.from(function(t){let e=om(z(t).slice(1));D(Array.isArray(e)&&(8===e.length||11===e.length),"invalid field count for transaction type: 1","data",J(t));let r={type:1,chainId:ox(e[0],"chainId"),nonce:oI(e[1],"nonce"),gasPrice:ox(e[2],"gasPrice"),gasLimit:ox(e[3],"gasLimit"),to:oN(e[4]),value:ox(e[5],"value"),data:J(e[6]),accessList:oR(e[7],"accessList")};return 8===e.length||oT(r,e.slice(8)),r}(e));case 2:return oS.from(function(t){let e=om(z(t).slice(1));D(Array.isArray(e)&&(9===e.length||12===e.length),"invalid field count for transaction type: 2","data",J(t));let r={type:2,chainId:ox(e[0],"chainId"),nonce:oI(e[1],"nonce"),maxPriorityFeePerGas:ox(e[2],"maxPriorityFeePerGas"),maxFeePerGas:ox(e[3],"maxFeePerGas"),gasPrice:null,gasLimit:ox(e[4],"gasLimit"),to:oN(e[5]),value:ox(e[6],"value"),data:J(e[7]),accessList:oR(e[8],"accessList")};return 9===e.length||oT(r,e.slice(9)),r}(e));case 3:return oS.from(function(t){let e=om(z(t).slice(1)),r="3",n=null,i=null;if(4===e.length&&Array.isArray(e[0])){r="3 (network format)";let t=e[1],n=e[2],s=e[3];D(Array.isArray(t),"invalid network format: blobs not an array","fields[1]",t),D(Array.isArray(n),"invalid network format: commitments not an array","fields[2]",n),D(Array.isArray(s),"invalid network format: proofs not an array","fields[3]",s),D(t.length===n.length,"invalid network format: blobs/commitments length mismatch","fields",e),D(t.length===s.length,"invalid network format: blobs/proofs length mismatch","fields",e),i=[];for(let r=0;r<e[1].length;r++)i.push({data:t[r],commitment:n[r],proof:s[r]});e=e[0]}else if(5===e.length&&Array.isArray(e[0])){r="3 (EIP-7594 network format)",n=tb(e[1]);let t=e[2],s=e[3],a=e[4];D(1===n,`unsupported EIP-7594 network format version: ${n}`,"fields[1]",n),D(Array.isArray(t),"invalid EIP-7594 network format: blobs not an array","fields[2]",t),D(Array.isArray(s),"invalid EIP-7594 network format: commitments not an array","fields[3]",s),D(Array.isArray(a),"invalid EIP-7594 network format: proofs not an array","fields[4]",a),D(t.length===s.length,"invalid network format: blobs/commitments length mismatch","fields",e),D(128*t.length===a.length,"invalid network format: blobs/proofs length mismatch","fields",e),i=[];for(let e=0;e<t.length;e++){let r=[];for(let t=0;t<128;t++)r.push(a[128*e+t]);i.push({data:t[e],commitment:s[e],proof:q(r)})}e=e[0]}D(Array.isArray(e)&&(11===e.length||14===e.length),`invalid field count for transaction type: ${r}`,"data",J(t));let s={type:3,chainId:ox(e[0],"chainId"),nonce:oI(e[1],"nonce"),maxPriorityFeePerGas:ox(e[2],"maxPriorityFeePerGas"),maxFeePerGas:ox(e[3],"maxFeePerGas"),gasPrice:null,gasLimit:ox(e[4],"gasLim
1it"),to:oN(e[5]),value:ox(e[6],"value"),data:J(e[7]),accessList:oR(e[8],"accessList"),maxFeePerBlobGas:ox(e[9],"maxFeePerBlobGas"),blobVersionedHashes:e[10],blobWrapperVersion:n};i&&(s.blobs=i),D(null!=s.to,`invalid address for transaction type: ${r}`,"data",t),D(Array.isArray(s.blobVersionedHashes),"invalid blobVersionedHashes: must be an array","data",t);for(let e=0;e<s.blobVersionedHashes.length;e++)D(Q(s.blobVersionedHashes[e],32),`invalid blobVersionedHash at index ${e}: must be length 32`,"data",t);return 11===e.length||oT(s,e.slice(11)),s}(e));case 4:return oS.from(function(t){let e=om(z(t).slice(1));D(Array.isArray(e)&&(10===e.length||13===e.length),"invalid field count for transaction type: 4","data",J(t));let r={type:4,chainId:ox(e[0],"chainId"),nonce:oI(e[1],"nonce"),maxPriorityFeePerGas:ox(e[2],"maxPriorityFeePerGas"),maxFeePerGas:ox(e[3],"maxFeePerGas"),gasPrice:null,gasLimit:ox(e[4],"gasLimit"),to:oN(e[5]),value:ox(e[6],"value"),data:J(e[7]),accessList:oR(e[8],"accessList"),authorizationList:function(t,e){try{if(!Array.isArray(t))throw Error("authorizationList: invalid array");let e=[];for(let r=0;r<t.length;r++){let n=t[r];if(!Array.isArray(n))throw Error(`authorization[${r}
1]: invalid array`);if(6!==n.length)throw Error(`authorization[${r}]: wrong length`);if(!n[1])throw Error(`authorization[${r}]: null address`);e.push({address:oN(n[1]),nonce:ox(n[2],"nonce"),chainId:ox(n[0],"chainId"),signature:i9.from({yParity:oI(n[3],"yParity"),r:$(n[4],32),s:$(n[5],32)})})}return e}catch(r){D(!1,r.message,e,t)}}(e[9],"authorizationList")};return 10===e.length||oT(r,e.slice(10)),r}(e))}F(!1,"unsupported transaction type","UNSUPPORTED_OPERATION",{operation:"from"})}let e=new oS;return null!=t.type&&(e.type=t.type),null!=t.to&&(e.to=t.to),null!=t.nonce&&(e.nonce=t.nonce),null!=t.gasLimit&&(e.gasLimit=t.gasLimit),null!=t.gasPrice&&(e.gasPrice=t.gasPrice),null!=t.maxPriorityFeePerGas&&(e.maxPriorityFeePerGas=t.maxPriorityFeePerGas),null!=t.maxFeePerGas&&(e.maxFeePerGas=t.maxFeePerGas),null!=t.maxFeePerBlobGas&&(e.maxFeePerBlobGas=t.maxFeePerBlobGas),null!=t.data&&(e.data=t.data),null!=t.value&&(e.value=t.value),null!=t.chainId&&(e.chainId=t.chainId),null!=t.signature&&(e.signature=i9.from(t.signature)),null!=t.accessList&&(e.accessList=t.accessList),null!=t.authorizationList&&(e.authorizationList=t.authorizationList),null!=t.blobVersionedHashes&&(e.blobVersionedHashes=t.blobVersionedHashes),null!=t.kzg&&(e.kzg=t.kzg),null!=t.blobWrapperVersion&&(e.blobWrapperVersion=t.blobWrapperVersion),null!=t.blobs&&(e.blobs=t.blobs),null!=t.hash&&(D(e.isSigned(),"unsigned transaction cannot define '.hash'","tx",t),D(e.hash===t.hash,"hash mismatch","tx",t)),null!=t.from&&(D(e.isSigned(),"unsigned transaction cannot define '.from'","tx",t),D(e.from.toLowerCase()===(t.from||"").toLowerCase(),"from mismatch","tx",t)),e}}let oB="123456789ABCDEFGHJKLMNPQRSTUVWXYZabcdefghijkmnopqrstuvwxyz",oU=null,oF=BigInt(0),oD=BigInt(58);function oL(t){let e=z(t),r=ty(e),n="";for(;r;)n=oB[Number(r%oD)]+n,r/=oD;for(let t=0;t<e.length&&!e[t];t++)n=oB[0]+n;return n}function oM(t){let e=oF;for(let r=0;r<t.length;r++)e*=oD,e+=function(t){if(null==oU){oU={};for(let t=0;t<oB.length;t++)oU[oB[t]]=BigInt(t)}let e=oU[t];return D(null!=e,"invalid base58 value","letter",t),e}(t[r]);return e}function oG(t){return t.match(/^ipfs:\/\/ipfs\//i)?t=t.substring(12):t.match(/^ipfs:\/\//i)?t=t.substring(7):D(!1,"unsupported IPFS format","link",t),`https://gateway.ipfs.io/ipfs/${t}`}class oH{name;constructor(t){C(this,{name:t})}connect(t){return this}supportsCoinType(t){return!1}async encodeAddress(t,e){throw Error("unsupported coin")}async decodeAddress(t,e){throw Error("unsupported coin")}}let oV=RegExp("^(ipfs)://(.*)$","i"),oz=[RegExp("^(https)://(.*)$","i"),RegExp("^(data):(.*)$","i"),oV,RegExp("^eip155:[0-9]+/(erc[0-9]+):(.*)$","i")];class oj{provider;address;name;#tR;#tI;constructor(t,e,r){C(this,{provider:t,address:e,name:r}),this.#tR=null,this.#tI=new nM(e,["function supportsInterface(bytes4) view returns (bool)","function resolve(bytes, bytes) view returns (bytes)","function addr(bytes32) view returns (address)","function addr(bytes32, uint) view returns (bytes)","function text(bytes32, string) view returns (string)","function contenthash(bytes32) view returns (bytes)"],t)}async supportsWildcard(){return null==this.#tR&&(this.#tR=(async()=>{try{return await this.#tI.supportsInterface("0x9061b923")}catch(t){if(S(t,"CALL_EXCEPTION"))return!1;throw this.#tR=null,t}})()),await this.#tR}async #tx(t,e){e=(e||[]).slice();let r=this.#tI.interface;e.unshift(ab(this.name));let n=null;await this.supportsWildcard()&&(F(n=r.getFunction(t),"missing fragment","UNKNOWN_ERROR",{info:{funcName:t}}),e=[aw(this.name,255),r.encodeFunctionData(n,e)],t="resolve(bytes,bytes)"),e.push({enableCcipRead:!0});try{let i=await this.#tI[t](...e);if(n)return r.decodeFunctionResult(n,i)[0];return i}catch(t){if(!S(t,"CALL_EXCEPTION"))throw t}return null}async getAddress(t){if(null==t&&(t=60),60===t)try{let t=await this.#tx("addr(bytes32)");if(null==t||t===rZ)return null;return t}catch(t){if(S(t,"CALL_EXCEPTION"))return null;throw t}if(t>=0&&t<2147483648){let e=t+2147483648,r=await this.#tx("addr(bytes32,uint)",[e]);if(Q(r,20))return ev(r)}let e=null;for(let r of this.provider.plugins)if(r instanceof oH&&r.supportsCoinType(t)){e=r;break}if(null==e)return null;let r=await this.#tx("addr(bytes32,uint)",[t]);if(null==r||"0x"===r)return null;let n=await e.decodeAddress(t,r);if(null!=n)return n;F(!1,"invalid coin data","UNSUPPORTED_OPERATION",{operation:`getAddress(${t})`,info:{coinType:t,data:r}})}async getText(t){let e=await this.#tx("text(bytes32,string)",[t]);return null==e||"0x"===e?null:e}async getContentHash(){let t=await this.#tx("contenthash(bytes32)");if(null==t||"0x"===t)return null;let e=t.match(/^0x(e3010170|e5010172)(([0-9a-f][0-9a-f])([0-9a-f][0-9a-f])([0-9a-f]*))$/);
1if(e){let t="e3010170"===e[1]?"ipfs":"ipns",r=parseInt(e[4],16);if(e[5].length===2*r)return`${t}://${oL("0x"+e[2])}`}let r=t.match(/^0xe40101fa011b20([0-9a-f]*)$/);if(r&&64===r[1].length)return`bzz://${r[1]}`;F(!1,"invalid or unsupported content hash data","UNSUPPORTED_OPERATION",{operation:"getContentHash()",info:{data:t}})}async getAvatar(){return(await this._getAvatar()).url}async _getAvatar(){let t=[{type:"name",value:this.name}];try{let e=await this.getText("avatar");if(null==e)return t.push({type:"!avatar",value:""}),{url:null,linkage:t};t.push({type:"avatar",value:e});for(let r=0;r<oz.length;r++){let n=e.match(oz[r]);if(null==n)continue;let i=n[1].toLowerCase();switch(i){case"https":case"data":return t.push({type:"url",value:e}),{linkage:t,url:e};case"ipfs":{let r=oG(e);return t.push({type:"ipfs",value:e}),t.push({type:"url",value:r}),{linkage:t,url:r}}case"erc721":case"erc1155":{let r="erc721"===i?"tokenURI(uint256)":"uri(uint256)";t.push({type:i,value:e});let s=await this.getAddress();if(null==s)return t.push({type:"!owner",value:""}),{url:null,linkage:t};let a=(n[2]||"").split("/");if(2!==a.length)return t.push({type:`!${i}caip`,value:n[2]||""}),{url:null,linkage:t};let o=a[1],l=new nM(a[0],["function tokenURI(uint) view returns (string)","function ownerOf(uint) view returns (address)","function uri(uint) view returns (string)","function balanceOf(address, uint256) view returns (uint)"],this.provider);if("erc721"===i){let e=await l.ownerOf(o);if(s!==e)return t.push({type:"!owner",value:e}),{url:null,linkage:t};t.push({type:"owner",value:e})}else if("erc1155"===i){let e=await l.balanceOf(s,o);
1if(!e)return t.push({type:"!balance",value:"0"}),{url:null,linkage:t};t.push({type:"balance",value:e.toString()})}let u=await l[r](o);if(null==u||"0x"===u)return t.push({type:"!metadata-url",value:""}),{url:null,linkage:t};t.push({type:"metadata-url-base",value:u}),"erc1155"===i&&(u=u.replace("{id}",tA(o,32).substring(2)),t.push({type:"metadata-url-expanded",value:u})),u.match(/^ipfs:/i)&&(u=oG(u)),t.push({type:"metadata-url",value:u});let c={},h=await new a6(u).send();h.assertOk();try{c=h.bodyJson}catch(e){try{t.push({type:"!metadata",value:h.bodyText})}catch(r){let e=h.body;e&&t.push({type:"!metadata",value:J(e)})}return{url:null,linkage:t}}if(!c)return t.push({type:"!metadata",value:""}),{url:null,linkage:t};t.push({type:"metadata",value:JSON.stringify(c)});let f=c.image;if("string"!=typeof f)return t.push({type:"!imageUrl",value:""}),{url:null,linkage:t};if(f.match(/^(https:\/\/|data:)/i));else{let e=f.match(oV);if(null==e)return t.push({type:"!imageUrl-ipfs",value:f}),{url:null,linkage:t};t.push({type:"imageUrl-ipfs",value:f}),f=oG(f)}return t.push({type:"url",value:f}),{linkage:t,url:f}}}}}catch(t){}return{linkage:t,url:null}}static async getEnsAddress(t){let e=await t.getNetwork(),r=e.getPlugin("org.ethers.plugins.network.Ens");return F(r,"network does not support ENS","UNSUPPORTED_OPERATION",{operation:"getEnsAddress",info:{network:e}}),r.address}static async #tO(t,e){let r=await oj.getEnsAddress(t);try{let n=new nM(r,["function resolver(bytes32) view returns (address)"],t),i=await n.resolver(ab(e),{enableCcipRead:!0});if(i===rZ)return null;return i}catch(t){throw t}return null}static async fromName(t,e){let r=e;for(;;){if(""===r||"."===r||"eth"!==e&&"eth"===r)return null;let n=await oj.#tO(t,r);if(null!=n){let i=new oj(t,n,e);if(r!==e&&!await i.supportsWildcard())return null;return i}r=r.split(".").slice(1).join(".")}}}let oQ=BigInt(0);function o_(t,e){return function(r){return null==r?e:t(r)}}function oK(t,e){return r=>{if(e&&null==r)return null;if(!Array.isArray(r))throw Error("not an array");return r.map(e=>t(e))}}function oJ(t,e){return r=>{let n={};for(let i in t){let s=i;if(e&&i in e&&!(s in r)){for(let t of e[i])if(t in r){s=t;break}}try{let e=t[i](r[s]);void 0!==e&&(n[i]=e)}catch(e){let t=e instanceof Error?e.message:"not-an-error";F(!1,`invalid value for value.${i} (${t})`,"BAD_DATA",{value:r})}}return n}}function oq(t){return D(Q(t,!0),"invalid data","value",t),t}function oW(t){return D(Q(t,32),"invalid hash","value",t),t}let oZ=oJ({address:ev,blockHash:oW,blockNumber:tb,data:oq,index:tb,removed:o_(function(t){switch(t){case!0:case"true":return!0;case!1:case"false":return!1}D(!1,`invalid boolean; ${JSON.stringify(t)}`,"value",t)},!1),topics:oK(oW),transactionHash:oW,transactionIndex:tb},{index:["logIndex"]}),oY=oJ({hash:o_(oW),parentHash:oW,parentBeaconBlockRoot:o_(oW,null),number:tb,timestamp:tb,nonce:o_(oq),difficulty:tp,gasLimit:tp,gasUsed:tp,stateRoot:o_(oW,null),receiptsRoot:o_(oW,null),blobGasUsed:o_(tp,null),excessBlobGas:o_(tp,null),miner:o_(ev),prevRandao:o_(oW,null),extraData:oq,baseFeePerGas:o_(tp)},{prevRandao:["mixHash"]}),oX=oJ({transactionIndex:tb,blockNumber:tb,transactionHash:oW,address:ev,topics:oK(oW),data:oq,index:tb,blockHash:oW},{index:["logIndex"]}),o$=oJ({to:o_(ev,null),from:o_(ev,null),contractAddress:o_(ev,null),index:tb,root:o_(J),gasUsed:tp,blobGasUsed:o_(tp,null),logsBloom:o_(oq),blockHash:oW,hash:oW,logs:oK(function(t){return oX(t)}),blockNumber:tb,cumulativeGasUsed:tp,effectiveGasPrice:o_(tp),blobGasPrice:o_(tp,null),status:o_(tb),type:o_(tb,0)},{effectiveGasPrice:["gasPrice"],hash:["transactionHash"],index:["transactionIndex"]});function o0(t){t.to&&tp(t.to)===oQ&&(t.to="0x0000000000000000000000000000000000000000");let e=oJ({hash:oW,index:o_(tb,void 0),type:t=>"0x"===t||null==t?0:tb(t),accessList:o_(r8,null),blobVersionedHashes:o_(oK(oW,!0),null),authorizationList:o_(oK(t=>{let e;if(t.signature)e=t.signature;else{let r=t.yParity;"0x1b"===r?r=0:"0x1c"===r&&(r=1),e=Object.assign({},t,{yParity:r})}return{address:ev(t.address),chainId:tp(t.chainId),nonce:tp(t.nonce),signature:i9.from(e)}},!1),null),blockHash:o_(oW,null),blockNumber:o_(tb,null),transactionIndex:o_(tb,null),from:ev,gasPrice:o_(tp),maxPriorityFeePerGas:o_(tp),maxFeePerGas:o_(tp),maxFeePerBlobGas:o_(tp,null),gasLimit:tp,to:o_(ev,null),value:tp,nonce:tb,data:oq,creates:o_(ev,null),chainId:o_(tp,null)},{data:["input"],gasLimit:["gas"],index:["transactionIndex"]})(t);if(null==e.to&&null==e.creates&&(e.creates=rQ(e)),(1===t.type||2===t.type)&&null==t.accessList&&(e.accessList=[]),t.signature?e.signature=i9.from(t.signature):e.signature=i9.from(t),null==e.chainId){let t=e.signature.legacyChainId;null!=t&&(e.chainId=t)}return e.blockHash&&tp(e.blockHash)===oQ&&(e.blockHash=null),e}function o1(t){return JSON.parse(JSON.stringify(t))}class o2{#tC;#tT;#tS;#tB;constructor(t){this.#tC=t,this.#tT=null,this.#tS=4e3,this.#tB=-2}get pollingInterval(){return this.#tS}set pollingInterval(t){this.#tS=t}async #tU(){try{let t=await this.#tC.getBlockNumber();if(-2===this.#tB){this.#tB=t;return}if(t!==this.#tB){for(let e=this.#tB+1;e<=t;e++){if(null==this.#tT)return;await this.#tC.emit("block",e)}this.#tB=t}}catch(t){}null!=this.#tT&&(this.#tT=this.#tC._setTimeout(this.#tU.bind(this),this.#tS))}start(){this.#tT||(this.#tT=this.#tC._setTimeout(this.#tU.bind(this),this.#tS),this.#tU())}stop(){this.#tT&&(this.#tC._clearTimeout(this.#tT),this.#tT=null)}pause(t){this.stop(),t&&(this.#tB=-2)}resume(){this.start()}}class o3{#tC;#tU;#tF;constructor(t){this.#tC=t,this.#tF=!1,this.#tU=t=>{this._poll(t,this.#tC)}}async _poll(t,e){throw Error("sub-classes must override this")}start(){this.#tF||(this.#tF=!0,this.#tU(-2),this.#tC.on("block",this.#tU))}stop(){this.#tF&&(this.#tF=!1,this.#tC.off("block",this.#tU))}pause(t){this.stop()}resume(){this.start()}}class o4 extends o3{#tD;#tL;constructor(t,e){super(t),this.#tD=e,this.#tL=-2}pause(t){t&&(this.#tL=-2),super.pause(t)}async _poll(t,e){let r=await e.getBlock(this.#tD);null!=r&&(-2===this.#tL?this.#tL=r.number:r.number>
1this.#tL&&(e.emit(this.#tD,r.number),this.#tL=r.number))}}class o5 extends o3{#R;constructor(t,e){super(t),this.#R=o1(e)}async _poll(t,e){throw Error("@TODO")}}class o8 extends o3{#tM;constructor(t,e){super(t),this.#tM=e}async _poll(t,e){let r=await e.getTransactionReceipt(this.#tM);r&&e.emit(this.#tM,r)}}class o6{#tC;#R;#tT;#tF;#tB;constructor(t,e){this.#tC=t,this.#R=o1(e),this.#tT=this.#tU.bind(this),this.#tF=!1,this.#tB=-2}async #tU(t){if(-2===this.#tB)return;let e=o1(this.#R);e.fromBlock=this.#tB+1,e.toBlock=t;let r=await this.#tC.getLogs(e);if(0===r.length){this.#tB<t-60&&(this.#tB=t-60);return}for(let t of r)this.#tC.emit(this.#R,t),this.#tB=t.blockNumber}start(){this.#tF||(this.#tF=!0,-2===this.#tB&&this.#tC.getBlockNumber().then(t=>{this.#tB=t}),this.#tC.on("block",this.#tT))}stop(){this.#tF&&(this.#tF=!1,this.#tC.off("block",this.#tT))}pause(t){this.stop(),t&&(this.#tB=-2)}resume(){this.start()}}let o7=BigInt(2);function o9(t){return t&&"function"==typeof t.then}function lt(t,e){return t+":"+JSON.stringify(e,(t,e)=>{if(null==e)return"null";if("bigint"==typeof e)return`bigint:${e.toString()}`;if("string"==typeof e)return e.toLowerCase();if("object"==typeof e&&!Array.isArray(e)){let t=Object.keys(e);return t.sort(),t.reduce((t,r)=>(t[r]=e[r],t),{})}return e})}class le{name;constructor(t){C(this,{name:t})}start(){}stop(){}pause(t){}resume(){}}function lr(t){return(t=Array.from(new Set(t).values())).sort(),t}async function ln(t,e){if(null==t)throw Error("invalid event");if(Array.isArray(t)&&(t={topics:t}),"string"==typeof t)switch(t){case"block":case"debug":case"error":case"finalized":case"network":case"pending":case"safe":return{type:t,tag:t}}if(Q(t,32)){let e=t.toLowerCase();return{type:"transaction",tag:lt("tx",{hash:e}),hash:e}}if(t.orphan){let e=t;return{type:"orphan",tag:lt("orphan",e),filter:JSON.parse(JSON.stringify(e))}}if(t.address||t.topics){let r=t,n={topics:(r.topics||[]).map(t=>null==t?null:Array.isArray(t)?lr(t.map(t=>t.toLowerCase())):t.toLowerCase())};if(r.address){let t=[],i=[],s=r=>{Q(r)?t.push(r):i.push((async()=>{t.push(await rW(r,e))})())};Array.isArray(r.address)?r.address.forEach(s):s(r.address),i.length&&await Promise.all(i),n.address=lr(t.map(t=>t.toLowerCase()))}return{filter:n,tag:lt("event",n),type:"event"}}D(!1,"unknown ProviderEvent","event",t)}function li(){return new Date().getTime()}let ls={cacheTimeout:250,pollingInterval:4e3};class la{#tG;#tl;#tH;#tV;#tz;#tj;#tQ;#t_;#tK;#tJ;#tq;#c;constructor(t,e){if(this.#c=Object.assign({},ls,e||{}),"any"===t)this.#tj=!0,this.#tz=null;else if(t){let e=ol.from(t);this.#tj=!1,this.#tz=Promise.resolve(e),setTimeout(()=>{this.emit("network",e,null)},0)}else this.#tj=!1,this.#tz=null;this.#t_=-1,this.#tQ=new Map,this.#tG=new Map,this.#tl=new Map,this.#tH=null,this.#tV=!1,this.#tK=1,this.#tJ=new Map,this.#tq=!1}get pollingInterval(){return this.#c.pollingInterval}get provider(){return this}get plugins(){return Array.from(this.#tl.values())}attachPlugin(t){if(this.#tl.get(t.name))throw Error(`cannot replace existing plugin: ${t.name} `);return this.#tl.set(t.name,t.connect(this)),this}getPlugin(t){return this.#tl.get(t)||null}get disableCcipRead(){return this.#tq}set disableCcipRead(t){this.#tq=!!t}async #tW(t){let e=this.#c.cacheTimeout;if(e<0)return await this._perform(t);let r=lt(t.method,t),n=this.#tQ.get(r);return n||(n=this._perform(t),this.#tQ.set(r,n),setTimeout(()=>{this.#tQ.get(r)===n&&this.#tQ.delete(r)},e)),await n}async ccipReadFetch(t,e,r){if(this.disableCcipRead||0===r.length||null==t.to)return null;let n=t.to.toLowerCase(),i=e.toLowerCase(),s=[];for(let e=0;e<r.length;e++){let a;let o=r[e],l=new a6(o.replace("{sender}",n).replace("{data}",i));-1===o.indexOf("{data}")&&(l.body={data:i,sender:n}),this.emit("debug",{action:"sendCcipReadFetchRequest",request:l,index:e,urls:r});let u="unknown error";try{a=await l.send()}catch(t){s.push(t.message),this.emit("debug",{action:"receiveCcipReadFetchError",request:l,result:{error:t}});continue}try{let t=a.bodyJson;if(t.data)return this.emit("debug",{action:"receiveCcipReadFetchResult",request:l,result:t}),t.data;
1t.message&&(u=t.message),this.emit("debug",{action:"receiveCcipReadFetchError",request:l,result:t})}catch(t){}F(a.statusCode<400||a.statusCode>=500,`response not found during CCIP fetch: ${u}`,"OFFCHAIN_FAULT",{reason:"404_MISSING_RESOURCE",transaction:t,info:{url:o,errorMessage:u}}),s.push(u)}F(!1,`error encountered during CCIP fetch: ${s.map(t=>JSON.stringify(t)).join(", ")}`,"OFFCHAIN_FAULT",{reason:"500_SERVER_ERROR",transaction:t,info:{urls:r,errorMessages:s}})}_wrapBlock(t,e){return new nr(function(t){let e=oY(t);return e.transactions=t.transactions.map(t=>"string"==typeof t?t:o0(t)),e}(t),this)}_wrapLog(t,e){return new nn(oZ(t),this)}_wrapTransactionReceipt(t,e){return new ni(o$(t),this)}_wrapTransactionResponse(t,e){return new ns(o0(t),this)}_detectNetwork(){F(!1,"sub-classes must implement this","UNSUPPORTED_OPERATION",{operation:"_detectNetwork"})}async _perform(t){F(!1,`unsupported method: ${t.method}`,"UNSUPPORTED_OPERATION",{operation:t.method,info:t})}async getBlockNumber(){let t=tb(await this.#tW({method:"getBlockNumber"}),"%response");return this.#t_>=0&&(this.#t_=t),t}_getAddress(t){return rW(t,this)}_getBlockTag(t){if(null==t)return"latest";switch(t){case"earliest":return"0x0";case"finalized":case"latest":case"pending":case"safe":return t}return Q(t)?Q(t,32)?t:tv(t):("bigint"==typeof t&&(t=tb(t,"blockTag")),"number"==typeof t)?t>=0?tv(t):this.#t_>=0?tv(this.#t_+t):this.getBlockNumber().then(e=>tv(e+t)):void D(!1,"invalid blockTag","blockTag",t)}_getFilter(t){let e,r;let n=(t.topics||[]).map(t=>null==t?null:Array.isArray(t)?lr(t.map(t=>t.toLowerCase())):t.toLowerCase()),i="blockHash"in t?t.blockHash:void 0,s=(t,e,r)=>{let s;switch(t.length){case 0:break;case 1:s=t[0];break;default:t.sort(),s=t}if(i&&(null!=e||null!=r))throw Error("invalid filter");let a={};return s&&(a.address=s),n.length&&(a.topics=n),e&&(a.fromBlock=e),r&&(a.toBlock=r),i&&(a.blockHash=i),a},a=[];if(t.address){if(Array.isArray(t.address))for(let e of t.address)a.push(this._getAddress(e));else a.push(this._getAddress(t.address))}return"fromBlock"in t&&(e=this._getBlockTag(t.fromBlock)),("toBlock"in t&&(r=this._getBlockTag(t.toBlock)),a.filter(t=>"string"!=typeof t).length||null!=e&&"string"!=typeof e||null!=r&&"string"!=typeof r)?Promise.all([Promise.all(a),e,r]).then(t=>s(t[0],t[1],t[2])):s(a,e,r)}_getTransactionRequest(t){let e=ne(t),r=[];if(["to","from"].forEach(t=>{if(null==e[t])return;let n=rW(e[t],this);o9(n)?r.push(async function(){e[t]=await n}()):e[t]=n}),null!=e.blockTag){let t=this._getBlockTag(e.blockTag);o9(t)?r.push(async function(){e.blockTag=await t}()):e.blockTag=t}return r.length?async function(){return await Promise.all(r),e}():e}async getNetwork(){if(null==this.#tz){let t=(async()=>{try{let t=await this._detectNetwork();return this.emit("network",t,null),t}catch(e){throw this.#tz===t&&(this.#tz=null),e}})();return this.#tz=t,(await t).clone()}let t=this.#tz,[e,r]=await Promise.all([t,this._detectNetwork()]);return e.chainId!==r.chainId&&(this.#tj?(this.emit("network",r,e),this.#tz===t&&(this.#tz=Promise.resolve(r))):F(!1,`network changed: ${e.chainId} => ${r.chainId} `,"NETWORK_ERROR",{event:"changed"})),e.clone()}async getFeeData(){let t=await this.getNetwork(),e=async()=>{let{_block:e,gasPrice:r,priorityFee:n}=await O({_block:this.#tZ("latest",!1),gasPrice:(async()=>{try{let t=await this.#tW({method:"getGasPrice"});return tp(t,"%response")}catch(t){}return null})(),priorityFee:(async()=>{try{let t=await this.#tW({method:"getPriorityFee"});return tp(t,"%response")}catch(t){}return null})()}),i=null,s=null,a=this._wrapBlock(e,t);return a&&a.baseFeePerGas&&(s=null!=n?n:BigInt("1000000000"),i=a.baseFeePerGas*o7+s),new nt(r,i,s)},r=t.getPlugin("org.ethers.plugins.network.FetchUrlFeeDataPlugin");if(r){let t=new a6(r.url),n=await r.processFunc(e,this,t);return new nt(n.gasPrice,n.maxFeePerGas,n.maxPriorityFeePerGas)}return await e()}async estimateGas(t){let e=this._getTransactionRequest(t);return o9(e)&&(e=await e),tp(await this.#tW({method:"estimateGas",transaction:e}),"%response")}async #tY(t,e,r){F(r<10,"CCIP read exceeded maximum redirections","OFFCHAIN_FAULT",{reason:"TOO_MANY_REDIRECTS",transaction:Object.assign({},t,{blockTag:e,enableCcipRead:!0})});let n=ne(t);try{return J(await this._perform({method:"call",transaction:n,blockTag:e}))}catch(t){if(!this.disableCcipRead&&B(t)&&t.data&&r>=0&&"latest"===e&&null!=n.to&&"0x556f1830"===Z(t.data,0,4)){let i;let s=t.data,a=await rW(n.to,this);try{i=function(t){let e={sender:"",urls:[],calldata:"",selector:"",extraData:"",errorArgs:[]};F(W(t)>=160,"insufficient OffchainLookup data","OFFCHAIN_FAULT",{reason:"insufficient OffchainLookup data"});let r=Z(t,0,32);F(Z(r,0,12)===Z(lc,0,12),"corrupt OffchainLookup sender","OFFCHAIN_FAULT",{reason:"corrupt OffchainLookup sender"}),e.sender=Z(r,12);
1try{let r=[],n=tb(Z(t,32,64)),i=tb(Z(t,n,n+32)),s=Z(t,n+32);for(let t=0;t<i;t++){let e=function(t,e){try{let r=lo(t,e);if(r)return ts(r)}catch(t){}return null}(s,32*t);if(null==e)throw Error("abort");r.push(e)}e.urls=r}catch(t){F(!1,"corrupt OffchainLookup urls","OFFCHAIN_FAULT",{reason:"corrupt OffchainLookup urls"})}try{let r=lo(t,64);if(null==r)throw Error("abort");e.calldata=r}catch(t){F(!1,"corrupt OffchainLookup calldata","OFFCHAIN_FAULT",{reason:"corrupt OffchainLookup calldata"})}F(Z(t,100,128)===Z(lc,0,28),"corrupt OffchainLookup callbaackSelector","OFFCHAIN_FAULT",{reason:"corrupt OffchainLookup callbaackSelector"}),e.selector=Z(t,96,100);try{let r=lo(t,128);if(null==r)throw Error("abort");e.extraData=r}catch(t){F(!1,"corrupt OffchainLookup extraData","OFFCHAIN_FAULT",{reason:"corrupt OffchainLookup extraData"})}return e.errorArgs="sender,urls,calldata,selector,extraData".split(/,/).map(t=>e[t]),e}(Z(t.data,4))}catch(t){F(!1,t.message,"OFFCHAIN_FAULT",{reason:"BAD_DATA",transaction:n,info:{data:s}})}F(i.sender.toLowerCase()===a.toLowerCase(),"CCIP Read sender mismatch","CALL_EXCEPTION",{action:"call",data:s,reason:"OffchainLookup",transaction:n,invocation:null,revert:{signature:"OffchainLookup(address,string[],bytes,bytes4,bytes)",name:"OffchainLookup",args:i.errorArgs}});let o=await this.ccipReadFetch(n,i.calldata,i.urls);F(null!=o,"CCIP Read failed to fetch data","OFFCHAIN_FAULT",{reason:"FETCH_FAILED",transaction:n,info:{data:t.data,errorArgs:i.errorArgs}});let l={to:a,data:q([i.selector,function(t){let e=[],r=0;for(let n=0;n<t.length;n++)e.push(lu),r+=32;for(let n=0;n<t.length;n++){let i=z(t[n]);e[n]=ll(r),e.push(ll(i.length)),e.push(function(t){if(t.length%32==0)return t;let e=new Uint8Array(32*Math.ceil(t.length/32));return e.set(t),e}(i)),r+=32+32*Math.ceil(i.length/32)}return q(e)}([o,i.extraData])])};this.emit("debug",{action:"sendCcipReadCall",transaction:l});try{let t=await this.#tY(l,e,r+1);return this.emit("debug",{action:"receiveCcipReadCallResult",transaction:Object.assign({},l),result:t}),t}catch(t){throw this.emit("debug",{action:"receiveCcipReadCallError",transaction:Object.assign({},l),error:t}),t}}throw t}}async #tX(t){let{value:e}=await O({network:this.getNetwork(),value:t});return e}async call(t){let{tx:e,blockTag:r}=await O({tx:this._getTransactionRequest(t),blockTag:this._getBlockTag(t.blockTag)});return await this.#tX(this.#tY(e,r,t.enableCcipRead?0:-1))}async #t$(t,e,r){let n=this._getAddress(e),i=this._getBlockTag(r);return("string"!=typeof n||"string"!=typeof i)&&([n,i]=await Promise.all([n,i])),await this.#tX(this.#tW(Object.assign(t,{address:n,blockTag:i})))}async getBalance(t,e){return tp(await this.#t$({method:"getBalance"},t,e),"%response")}async getTransactionCount(t,e){return tb(await this.#t$({method:"getTransactionCount"},t,e),"%response")}async getCode(t,e){return J(await this.#t$({method:"getCode"},t,e))}async getStorage(t,e,r){let n=tp(e,"position");return J(await this.#t$({method:"getStorage",position:n},t,r))}async broadcastTransaction(t){let{blockNumber:e,hash:r,network:n}=await O({blockNumber:this.getBlockNumber(),hash:this._perform({method:"broadcastTransaction",signedTransaction:t}),network:this.getNetwork()}),i=oS.from(t);if(i.hash!==r)throw Error("@TODO: the returned hash did not match");return this._wrapTransactionResponse(i,n).replaceableTransaction(e)}async #tZ(t,e){if(Q(t,32))return await this.#tW({method:"getBlock",blockHash:t,includeTransactions:e});let r=this._getBlockTag(t);return"string"!=typeof r&&(r=await r),await this.#tW({method:"getBlock",blockTag:r,includeTransactions:e})}async getBlock(t,e){let{network:r,params:n}=await O({network:this.getNetwork(),params:this.#tZ(t,!!e)});return null==n?null:this._wrapBlock(n,r)}async getTransaction(t){let{network:e,params:r}=await O({network:this.getNetwork(),params:this.#tW({method:"getTransaction",hash:t})});return null==r?null:this._wrapTransactionResponse(r,e)}async getTransactionReceipt(t){let{network:e,params:r}=await O({network:this.getNetwork(),params:this.#tW({method:"getTransactionReceipt",hash:t})});if(null==r)return null;if(null==r.gasPrice&&null==r.effectiveGasPrice){let e=await this.#tW({method:"getTransaction",hash:t});if(null==e)throw Error("report this; could not find tx or effectiveGasPrice");r.effectiveGasPrice=e.gasPrice}return this._wrapTransactionReceipt(r,e)}async getTransactionResult(t){let{result:e}=await O({network:this.getNetwork(),result:this.#tW({method:"getTransactionResult",hash:t})});return null==e?null:J(e)}async getLogs(t){let e=this._getFilter(t);o9(e)&&(e=await e);let{network:r,params:n}=await O({network:this.getNetwork(),params:this.#tW({method:"getLogs",filter:e})});return n.map(t=>this._wrapLog(t,r))}_getProvider(t){F(!1,"provider cannot connect to target network","UNSUPPORTED_OPERATION",{operation:"_getProvider()"})}
1async getResolver(t){return await oj.fromName(this,t)}async getAvatar(t){let e=await this.getResolver(t);return e?await e.getAvatar():null}async resolveName(t){let e=await this.getResolver(t);return e?await e.getAddress():null}async lookupAddress(t){let e=ab((t=ev(t)).substring(2).toLowerCase()+".addr.reverse");try{let r=await oj.getEnsAddress(this),n=new nM(r,["function resolver(bytes32) view returns (address)"],this),i=await n.resolver(e);if(null==i||i===rZ)return null;let s=new nM(i,["function name(bytes32) view returns (string)"],this),a=await s.name(e);if(await this.resolveName(a)!==t)return null;return a}catch(t){if(S(t,"BAD_DATA")&&"0x"===t.value||S(t,"CALL_EXCEPTION"))return null;throw t}return null}async waitForTransaction(t,e,r){let n=null!=e?e:1;return 0===n?this.getTransactionReceipt(t):new Promise(async(e,i)=>{let s=null,a=async r=>{try{let i=await this.getTransactionReceipt(t);if(null!=i&&r-i.blockNumber+1>=n){e(i),s&&(clearTimeout(s),s=null);return}}catch(t){console.log("EEE",t)}this.once("block",a)};null!=r&&(s=setTimeout(()=>{null!=s&&(s=null,this.off("block",a),i(U("timeout","TIMEOUT",{reason:"timeout"})))},r)),a(await this.getBlockNumber())})}async waitForBlock(t){F(!1,"not implemented yet","NOT_IMPLEMENTED",{operation:"waitForBlock"})}_clearTimeout(t){let e=this.#tJ.get(t);e&&(e.timer&&clearTimeout(e.timer),this.#tJ.delete(t))}_setTimeout(t,e){null==e&&(e=0);let r=this.#tK++,n=()=>{this.#tJ.delete(r),t()};if(this.paused)this.#tJ.set(r,{timer:null,func:n,time:e});else{let t=setTimeout(n,e);this.#tJ.set(r,{timer:t,func:n,time:li()})}return r}_forEachSubscriber(t){for(let e of this.#tG.values())t(e.subscriber)}_getSubscriber(t){switch(t.type){case"debug":case"error":case"network":return new le(t.type);case"block":{let t=new o2(this);return t.pollingInterval=this.pollingInterval,t}case"safe":case"finalized":return new o4(this,t.type);case"event":return new o6(this,t.filter);case"transaction":return new o8(this,t.hash);case"orphan":return new o5(this,t.filter)}throw Error(`unsupported event: ${t.type}`)}_recoverSubscriber(t,e){for(let r of this.#tG.values())if(r.subscriber===t){r.started&&r.subscriber.stop(),r.subscriber=e,r.started&&e.start(),null!=this.#tH&&e.pause(this.#tH);break}}async #t0(t,e){let r=await ln(t,this);return"event"===r.type&&e&&e.length>0&&!0===e[0].removed&&(r=await ln({orphan:"drop-log",log:e[0]},this)),this.#tG.get(r.tag)||null}async #t1(t){let e=await ln(t,this),r=e.tag,n=this.#tG.get(r);return!n&&(n={subscriber:this._getSubscriber(e),tag:r,addressableMap:new WeakMap,nameMap:new Map,started:!1,listeners:[]},this.#tG.set(r,n)),n}async on(t,e){let r=await this.#t1(t);return r.listeners.push({listener:e,once:!1}),r.started||(r.subscriber.start(),r.started=!0,null!=this.#tH&&r.subscriber.pause(this.#tH)),this}async once(t,e){let r=await this.#t1(t);return r.listeners.push({listener:e,once:!0}),r.started||(r.subscriber.start(),r.started=!0,null!=this.#tH&&r.subscriber.pause(this.#tH)),this}async emit(t,...e){let r=await this.#t0(t,e);if(!r||0===r.listeners.length)return!1;let n=r.listeners.length;return r.listeners=r.listeners.filter(({listener:r,once:n})=>{let i=new nl(this,n?null:r,t);try{r.call(this,...e,i)}catch(t){}return!n}),0===r.listeners.length&&(r.started&&r.subscriber.stop(),this.#tG.delete(r.tag)),n>0}async listenerCount(t){if(t){let e=await this.#t0(t);return e?e.listeners.length:0}let e=0;for(let{listeners:t}of this.#tG.values())e+=t.length;return e}async listeners(t){if(t){let e=await this.#t0(t);return e?e.listeners.map(({listener:t})=>t):[]}let e=[];for(let{listeners:t}of this.#tG.values())e=e.concat(t.map(({listener:t})=>t));return e}async off(t,e){let r=await this.#t0(t);if(!r)return this;if(e){let t=r.listeners.map(({listener:t})=>t).indexOf(e);t>=0&&r.listeners.splice(t,1)}return e&&0!==r.listeners.length||(r.started&&r.subscriber.stop(),this.#tG.delete(r.tag)),this}async removeAllListeners(t){if(t){let{tag:e,started:r,subscriber:n}=await this.#t1(t);r&&n.stop(),this.#tG.delete(e)}else for(let[t,{started:e,subscriber:r}]of this.#tG)e&&r.stop(),this.#tG.delete(t);return this}async addListener(t,e){return await this.on(t,e)}async removeListener(t,e){return this.off(t,e)}get destroyed(){return this.#tV}destroy(){for(let t of(this.removeAllListeners(),this.#tJ.keys()))this._clearTimeout(t);this.#tV=!0}get paused(){return null!=this.#tH}set paused(t){!!t!==this.paused&&(this.paused?this.resume():this.pause(!1))}pause(t){if(this.#t_=-1,null!=this.#tH){if(!!t==this.#tH)return;F(!1,"cannot change pause type; resume first","UNSUPPORTED_OPERATION",{operation:"pause"})}
1for(let e of(this._forEachSubscriber(e=>e.pause(t)),this.#tH=!!t,this.#tJ.values()))e.timer&&clearTimeout(e.timer),e.time=li()-e.time}resume(){if(null!=this.#tH)for(let t of(this._forEachSubscriber(t=>t.resume()),this.#tH=null,this.#tJ.values())){let e=t.time;e<0&&(e=0),t.time=li(),setTimeout(t.func,e)}}}function lo(t,e){if("0x"===t)return null;try{let r=tb(Z(t,e,e+32)),n=tb(Z(t,r,r+32));return Z(t,r+32,r+32+n)}catch(t){}return null}function ll(t){let e=tE(t);if(e.length>32)throw Error("internal; should not happen");let r=new Uint8Array(32);return r.set(e,32-e.length),r}let lu=new Uint8Array([]),lc="0x0000000000000000000000000000000000000000000000000000000000000000";function lh(t,e){if(t.provider)return t.provider;F(!1,"missing provider","UNSUPPORTED_OPERATION",{operation:e})}async function lf(t,e){let r=ne(e);if(null!=r.to&&(r.to=rW(r.to,t)),null!=r.from){let e=r.from;r.from=Promise.all([t.getAddress(),rW(e,t)]).then(([t,e])=>(D(t.toLowerCase()===e.toLowerCase(),"transaction from mismatch","tx.from",e),t))}else r.from=t.getAddress();return await O(r)}class ld{provider;constructor(t){C(this,{provider:t||null})}async getNonce(t){return lh(this,"getTransactionCount").getTransactionCount(await this.getAddress(),t)}
1async populateCall(t){return await lf(this,t)}async populateTransaction(t){let e=lh(this,"populateTransaction"),r=await lf(this,t);null==r.nonce&&(r.nonce=await this.getNonce("pending")),null==r.gasLimit&&(r.gasLimit=await this.estimateGas(r));let n=await this.provider.getNetwork();null!=r.chainId?D(tp(r.chainId)===n.chainId,"transaction chainId mismatch","tx.chainId",t.chainId):r.chainId=n.chainId;let i=null!=r.maxFeePerGas||null!=r.maxPriorityFeePerGas;if(null!=r.gasPrice&&(2===r.type||i)?D(!1,"eip-1559 transaction do not support gasPrice","tx",t):(0===r.type||1===r.type)&&i&&D(!1,"pre-eip-1559 transaction do not support maxFeePerGas/maxPriorityFeePerGas","tx",t),(2===r.type||null==r.type)&&null!=r.maxFeePerGas&&null!=r.maxPriorityFeePerGas)r.type=2;else if(0===r.type||1===r.type){let t=await e.getFeeData();F(null!=t.gasPrice,"network does not support gasPrice","UNSUPPORTED_OPERATION",{operation:"getGasPrice"}),null==r.gasPrice&&(r.gasPrice=t.gasPrice)}else{let t=await e.getFeeData();if(null==r.type){if(null!=t.maxFeePerGas&&null!=t.maxPriorityFeePerGas){if(r.authorizationList&&r.authorizationList.length?r.type=4:r.type=2,null!=r.gasPrice){let t=r.gasPrice;delete r.gasPrice,r.maxFeePerGas=t,r.maxPriorityFeePerGas=t}else null==r.maxFeePerGas&&(r.maxFeePerGas=t.maxFeePerGas),null==r.maxPriorityFeePerGas&&(r.maxPriorityFeePerGas=t.maxPriorityFeePerGas)}else null!=t.gasPrice?(F(!i,"network does not support EIP-1559","UNSUPPORTED_OPERATION",{operation:"populateTransaction"}),null==r.gasPrice&&(r.gasPrice=t.gasPrice),r.type=0):F(!1,"failed to get consistent fee data","UNSUPPORTED_OPERATION",{operation:"signer.getFeeData"})}else(2===r.type||3===r.type||4===r.type)&&(null==r.maxFeePerGas&&(r.maxFeePerGas=t.maxFeePerGas),null==r.maxPriorityFeePerGas&&(r.maxPriorityFeePerGas=t.maxPriorityFeePerGas))}return await O(r)}async populateAuthorization(t){let e=Object.assign({},t);return null==e.chainId&&(e.chainId=(await lh(this,"getNetwork").getNetwork()).chainId),null==e.nonce&&(e.nonce=await this.getNonce()),e}async estimateGas(t){return lh(this,"estimateGas").estimateGas(await this.populateCall(t))}async call(t){return lh(this,"call").call(await this.populateCall(t))}async resolveName(t){let e=lh(this,"resolveName");return await e.resolveName(t)}async sendTransaction(t){let e=lh(this,"sendTransaction"),r=await this.populateTransaction(t);delete r.from;let n=oS.from(r);return await e.broadcastTransaction(await this.signTransaction(n))}authorize(t){F(!1,"authorization not implemented for this signer","UNSUPPORTED_OPERATION",{operation:"authorize"})}}class lp extends ld{address;constructor(t,e){super(e),C(this,{address:t})}async getAddress(){return this.address}connect(t){return new lp(this.address,t)}#t2(t,e){F(!1,`VoidSigner cannot sign ${t}`,"UNSUPPORTED_OPERATION",{operation:e})}async signTransaction(t){this.#t2("transactions","signTransaction")}async signMessage(t){this.#t2("messages","signMessage")}async signTypedData(t,e,r){this.#t2("typed-data","signTypedData")}}class lg{#tC;#t3;#tT;#tF;#t4;#t5;constructor(t){this.#tC=t,this.#t3=null,this.#tT=this.#tU.bind(this),this.#tF=!1,this.#t4=null,this.#t5=!1}_subscribe(t){throw Error("subclasses must override this")}_emitResults(t,e){throw Error("subclasses must override this")}_recover(t){throw Error("subclasses must override this")}async #tU(t){try{null==this.#t3&&(this.#t3=this._subscribe(this.#tC));let t=null;try{t=await this.#t3}catch(t){if(!S(t,"UNSUPPORTED_OPERATION")||"eth_newFilter"!==t.operation)throw t}if(null==t){this.#t3=null,this.#tC._recoverSubscriber(this,this._recover(this.#tC));return}let e=await this.#tC.getNetwork();if(this.#t4||(this.#t4=e),this.#t4.chainId!==e.chainId)throw Error("chaid changed");if(this.#t5)return;let r=await this.#tC.send("eth_getFilterChanges",[t]);await this._emitResults(this.#tC,r)}catch(t){console.log("@TODO",t)}this.#tC.once("block",this.#tT)}#t8(){let t=this.#t3;t&&(this.#t3=null,t.then(t=>{this.#tC.destroyed||this.#tC.send("eth_uninstallFilter",[t])}))}start(){this.#tF||(this.#tF=!0,this.#tU(-2))}stop(){this.#tF&&(this.#tF=!1,this.#t5=!0,this.#t8(),this.#tC.off("block",this.#tT))}pause(t){t&&this.#t8(),this.#tC.off("block",this.#tT)}resume(){this.start()}}class lm extends lg{#t6;constructor(t,e){super(t),this.#t6=JSON.parse(JSON.stringify(e))}_recover(t){return new o6(t,this.#t6)}async _subscribe(t){return await t.send("eth_newFilter",[this.#t6])}async _emitResults(t,e){for(let r of e)t.emit(this.#t6,t._wrapLog(r,t._network))}}class ly extends lg{async _subscribe(t){return await t.send("eth_newPendingTransactionFilter",[])}async _emitResults(t,e){for(let r of e)t.emit("pending",r)}}let lb="bigint,boolean,function,number,string,symbol".split(/,/g);function lw(t){if(null==t||lb.indexOf(typeof t)>=0||"function"==typeof t.getAddress)return t;if(Array.isArray(t))return t.map(lw);if("object"==typeof t)return Object.keys(t).reduce((e,r)=>(e[r]=t[r],e),{});throw Error(`should not happen: ${t} (${typeof t})`)}function lA(t){return t?t.toLowerCase():t}function lE(t){return t&&"number"==typeof t.pollingInterval}let lv={polling:!1,staticNetwork:null,batchStallTime:10,batchMaxSize:1048576,batchMaxCount:100,cacheTimeout:250,pollingInterval:4e3};class lk extends ld{address;constructor(t,e){super(t),C(this,{address:e=ev(e)})}connect(t){F(!1,"cannot reconnect JsonRpcSigner","UNSUPPORTED_OPERATION",{operation:"signer.connect"})}async getAddress(){return this.address}async populateTransaction(t){return await this.populateCall(t)}async sendUncheckedTransaction(t){let e=lw(t),r=[];if(e.from){let n=e.from;r.push((async()=>{let r=await rW(n,this.provider);D(null!=r&&r.toLowerCase()===this.address.toLowerCase(),"from address mismatch","transaction",t),e.from=r})())}else e.from=this.address;
1if(null==e.gasLimit&&r.push((async()=>{e.gasLimit=await this.provider.estimateGas({...e,from:this.address})})()),null!=e.to){let t=e.to;r.push((async()=>{e.to=await rW(t,this.provider)})())}r.length&&await Promise.all(r);let n=this.provider.getRpcTransaction(e);return this.provider.send("eth_sendTransaction",[n])}async sendTransaction(t){let e=await this.provider.getBlockNumber(),r=await this.sendUncheckedTransaction(t);return await new Promise((t,n)=>{let i=[1e3,100],s=0,a=async()=>{try{let n=await this.provider.getTransaction(r);if(null!=n){t(n.replaceableTransaction(e));return}}catch(t){if(S(t,"CANCELLED")||S(t,"BAD_DATA")||S(t,"NETWORK_ERROR")||S(t,"UNSUPPORTED_OPERATION")){null==t.info&&(t.info={}),t.info.sendTransactionHash=r,n(t);return}if(S(t,"INVALID_ARGUMENT")&&(s++,null==t.info&&(t.info={}),t.info.sendTransactionHash=r,s>10)){n(t);return}this.provider.emit("error",U("failed to fetch transation after sending (will try again)","UNKNOWN_ERROR",{error:t}))}this.provider._setTimeout(()=>{a()},i.pop()||4e3)};a()})}async signTransaction(t){let e=lw(t);if(e.from){let r=await rW(e.from,this.provider);D(null!=r&&r.toLowerCase()===this.address.toLowerCase(),"from address mismatch","transaction",t),e.from=r}else e.from=this.address;let r=this.provider.getRpcTransaction(e);return await this.provider.send("eth_signTransaction",[r])}async signMessage(t){let e="string"==typeof t?ti(t):t;return await this.provider.send("personal_sign",[J(e),this.address.toLowerCase()])}async signTypedData(t,e,r){let n=lw(r),i=await aK.resolveNames(t,e,n,async t=>{let e=await rW(t);return D(null!=e,"TypedData does not support null address","value",t),e});return await this.provider.send("eth_signTypedData_v4",[this.address.toLowerCase(),JSON.stringify(aK.getPayload(i.domain,e,i.value))])}async unlock(t){return this.provider.send("personal_unlockAccount",[this.address.toLowerCase(),t,null])}async _legacySignMessage(t){let e="string"==typeof t?ti(t):t;return await this.provider.send("eth_sign",[this.address.toLowerCase(),J(e)])}}class lP extends la{#c;#t7;#t9;#et;#ee;#t4;#er;#en(){if(this.#et)return;let t=1===this._getOption("batchMaxCount")?0:this._getOption("batchStallTime");this.#et=setTimeout(()=>{this.#et=null;let t=this.#t9;for(this.#t9=[];t.length;){let e=[t.shift()];for(;t.length&&e.length!==this.#c.batchMaxCount;)if(e.push(t.shift()),JSON.stringify(e.map(t=>t.payload)).length>this.#c.batchMaxSize){t.unshift(e.pop());break}(async()=>{let t=1===e.length?e[0].payload:e.map(t=>t.payload);this.emit("debug",{action:"sendRpcPayload",payload:t});try{let r=await this._send(t);for(let{resolve:t,reject:n,payload:i}of(this.emit("debug",{action:"receiveRpcResult",result:r}),e)){if(this.destroyed){n(U("provider destroyed; cancelled request","UNSUPPORTED_OPERATION",{operation:i.method}));continue}let e=r.filter(t=>t.id===i.id)[0];if(null==e){let t=U("missing response for request","BAD_DATA",{value:r,info:{payload:i}});this.emit("error",t),n(t);continue}if("error"in e){n(this.getRpcError(i,e));continue}t(e.result)}}catch(t){for(let{reject:r}of(this.emit("debug",{action:"receiveRpcError",error:t}),e))r(t)}})()}},t)}constructor(t,e){super(t,e),this.#t7=1,this.#c=Object.assign({},lv,e||{}),this.#t9=[],this.#et=null,this.#t4=null,this.#er=null;{let t=null,e=new Promise(e=>{t=e});this.#ee={promise:e,resolve:t}}let r=this._getOption("staticNetwork");"boolean"==typeof r?(D(!r||"any"!==t,"staticNetwork cannot be used on special network 'any'","options",e),r&&null!=t&&(this.#t4=ol.from(t))):r&&(D(null==t||r.matches(t),"staticNetwork MUST match network object","options",e),this.#t4=r)}_getOption(t){return this.#c[t]}get _network(){return F(this.#t4,"network is not available yet","NETWORK_ERROR"),this.#t4}async _perform(t){if("call"===t.method||"estimateGas"===t.method){let e=t.transaction;if(e&&null!=e.type&&tp(e.type)&&null==e.maxFeePerGas&&null==e.maxPriorityFeePerGas){let r=await this.getFeeData();null==r.maxFeePerGas&&null==r.maxPriorityFeePerGas&&(t=Object.assign({},t,{transaction:Object.assign({},e,{type:void 0})}))}}let e=this.getRpcRequest(t);return null!=e?await this.send(e.method,e.args):super._perform(t)}async _detectNetwork(){let t=this._getOption("staticNetwork");if(t){if(!0!==t)return t;if(this.#t4)return this.#t4}return this.#er||(this.ready?this.#er=(async()=>
1{try{let t=ol.from(tp(await this.send("eth_chainId",[])));return this.#er=null,t}catch(t){throw this.#er=null,t}})():this.#er=(async()=>{let t;let e={id:this.#t7++,method:"eth_chainId",params:[],jsonrpc:"2.0"};this.emit("debug",{action:"sendRpcPayload",payload:e});try{t=(await this._send(e))[0],this.#er=null}catch(t){throw this.#er=null,this.emit("debug",{action:"receiveRpcError",error:t}),t}if(this.emit("debug",{action:"receiveRpcResult",result:t}),"result"in t)return ol.from(tp(t.result));throw this.getRpcError(e,t)})()),await this.#er}_start(){null!=this.#ee&&null!=this.#ee.resolve&&(this.#ee.resolve(),this.#ee=null,(async()=>{for(;null==this.#t4&&!this.destroyed;)try{this.#t4=await this._detectNetwork()}catch(t){if(this.destroyed)break;console.log("JsonRpcProvider failed to detect network and cannot start up; retry in 1s (perhaps the URL is wrong or the node is not started)"),this.emit("error",U("failed to bootstrap network detection","NETWORK_ERROR",{event:"initial-network-discovery",info:{error:t}})),await new Promise(t=>{setTimeout(t,1e3)})}this.#en()})())}async _waitUntilReady(){if(null!=this.#ee)return await this.#ee.promise}_getSubscriber(t){return"pending"===t.type?new ly(this):"event"===t.type?this._getOption("polling")?new o6(this,t.filter):new lm(this,t.filter):"orphan"===t.type&&"drop-log"===t.filter.orphan?new le("orphan"):super._getSubscriber(t)}get ready(){return null==this.#ee}getRpcTransaction(t){let e={};return["chainId","gasLimit","gasPrice","type","maxFeePerGas","maxPriorityFeePerGas","nonce","value"].forEach(r=>{if(null==t[r])return;let n=r;"gasLimit"===r&&(n="gas"),e[n]=tv(tp(t[r],`tx.${r}`))}),["from","to","data"].forEach(r=>{null!=t[r]&&(e[r]=J(t[r]))}),t.accessList&&(e.accessList=r8(t.accessList)),t.blobVersionedHashes&&(e.blobVersionedHashes=t.blobVersionedHashes.map(t=>t.toLowerCase())),t.authorizationList&&(e.authorizationList=t.authorizationList.map(t=>{let e=of(t);return{address:e.address,nonce:tv(e.nonce),chainId:tv(e.chainId),yParity:tv(e.signature.yParity),r:tv(e.signature.r),s:tv(e.signature.s)}})),e}getRpcRequest(t){switch(t.method){case"chainId":return{method:"eth_chainId",args:[]};case"getBlockNumber":return{method:"eth_blockNumber",args:[]};case"getGasPrice":return{method:"eth_gasPrice",args:[]};case"getPriorityFee":return{method:"eth_maxPriorityFeePerGas",args:[]};case"getBalance":return{method:"eth_getBalance",args:[lA(t.address),t.blockTag]};case"getTransactionCount":return{method:"eth_getTransactionCount",args:[lA(t.address),t.blockTag]};case"getCode":return{method:"eth_getCode",args:[lA(t.address),t.blockTag]};case"getStorage":return{method:"eth_getStorageAt",args:[lA(t.address),"0x"+t.position.toString(16),t.blockTag]};case"broadcastTransaction":return{method:"eth_sendRawTransaction",args:[t.signedTransaction]};case"getBlock":if("blockTag"in t)return{method:"eth_getBlockByNumber",args:[t.blockTag,!!t.includeTransactions]};if("blockHash"in t)return{method:"eth_getBlockByHash",args:[t.blockHash,!!t.includeTransactions]};break;case"getTransaction":return{method:"eth_getTransactionByHash",args:[t.hash]};case"getTransactionReceipt":return{method:"eth_getTransactionReceipt",args:[t.hash]};case"call":return{method:"eth_call",args:[this.getRpcTransaction(t.transaction),t.blockTag]};case"estimateGas":return{method:"eth_estimateGas",args:[this.getRpcTransaction(t.transaction)]};case"getLogs":return t.filter&&null!=t.filter.address&&(Array.isArray(t.filter.address)?t.filter.address=t.filter.address.map(lA):t.filter.address=lA(t.filter.address)),{method:"eth_getLogs",args:[t.filter]}}return null}getRpcError(t,e){let{method:r}=t,{error:n}=e;if("eth_estimateGas"===r&&n.message){let e=n.message;if(!e.match(/revert/i)&&e.match(/insufficient funds/i))return U("insufficient funds","INSUFFICIENT_FUNDS",{transaction:t.params[0],info:{payload:t,error:n}});if(e.match(/nonce/i)&&e.match(/too low/i))return U("nonce has already been used","NONCE_EXPIRED",{transaction:t.params[0],info:{payload:t,error:n}})}if("eth_call"===r||"eth_estimateGas"===r){let e=function t(e){if(null==e)return null;if("string"==typeof e.message&&e.message.match(/revert/i)&&Q(e.data))return{message:e.message,data:e.data};if("object"==typeof e){for(let r in e){let n=t(e[r]);if(n)return n}return null}if("string"==typeof e)try{return t(JSON.parse(e))}catch(t){}return null}(n),i=rB.getBuiltinCallException("eth_call"===r?"call":"estimateGas",t.params[0],e?e.data:null);return i.info={error:n,payload:t},i}let i=JSON.stringify(function(t){let e=[];return!function t(e,r){if(null!=e){if("string"==typeof e.message&&r.push(e.message),"object"==typeof e)for(let n in e)t(e[n],r);if("string"==typeof e)try{return t(JSON.parse(e),r)}catch(t){}}}(t,e),e}(n));if("string"==typeof n.message&&n.message.match(/user denied|ethers-user-denied/i))return U("user rejected action","ACTION_REJECTED",{action:{eth_sign:"signMessage",personal_sign:"signMessage",eth_signTypedData_v4:"signTypedData",eth_signTransaction:"signTransaction",eth_sendTransaction:"sendTransaction",eth_requestAccounts:"requestAccess",wallet_requestAccounts:"requestAccess"}[r]||"unknown",reason:"rejected",info:{payload:t,error:n}});if("eth_sendRawTransaction"===r||"eth_sendTransaction"===r){let e=t.params[0];if(i.match(/insufficient funds|base fee exceeds gas limit/i))return U("insufficient funds for intrinsic transaction cost","INSUFFICIENT_FUNDS",{transaction:e,info:{error:n}});if(i.match(/nonce/i)&&i.match(/too low/i))return U("nonce has already been used","NONCE_EXPIRED",{transaction:e,info:{error:n}});if(i.match(/replacement transaction/i)&&i.match(/underpriced/i))return U("replacement fee too low","REPLACEMENT_UNDERPRICED",{transaction:e,info:{error:n}});if(i.match(/only replay-protected/i))return U("legacy pre-eip-155 transactions not supported","UNSUPPORTED_OPERATION",{operation:r,info:{transaction:e,info:{error:n}}})}let s=!!i.match(/the method .* does not exist/i);return(!s&&n&&n.details&&n.details.startsWith("Unauthorized method:")&&(s=!0),s)?U("unsupported operation","UNSUPPORTED_OPERATION",{operation:t.method,info:{error:n,payload:t}}
1):U("could not coalesce error","UNKNOWN_ERROR",{error:n,payload:t})}send(t,e){if(this.destroyed)return Promise.reject(U("provider destroyed; cancelled request","UNSUPPORTED_OPERATION",{operation:t}));let r=this.#t7++,n=new Promise((n,i)=>{this.#t9.push({resolve:n,reject:i,payload:{method:t,params:e,id:r,jsonrpc:"2.0"}})});return this.#en(),n}async getSigner(t){null==t&&(t=0);let e=this.send("eth_accounts",[]);if("number"==typeof t){let r=await e;if(t>=r.length)throw Error("no such account");return new lk(this,r[t])}let{accounts:r}=await O({network:this.getNetwork(),accounts:e});for(let e of(t=ev(t),r))if(ev(e)===t)return new lk(this,t);throw Error("invalid account")}async listAccounts(){return(await this.send("eth_accounts",[])).map(t=>new lk(this,t))}destroy(){for(let{payload:t,reject:e}of(this.#et&&(clearTimeout(this.#et),this.#et=null),this.#t9))e(U("provider destroyed; cancelled request","UNSUPPORTED_OPERATION",{operation:t.method}));this.#t9=[],super.destroy()}}class lN extends lP{#ei;constructor(t,e){super(t,e);let r=this._getOption("pollingInterval");null==r&&(r=lv.pollingInterval),this.#ei=r}_getSubscriber(t){let e=super._getSubscriber(t);return lE(e)&&(e.pollingInterval=this.#ei),e}get pollingInterval(){return this.#ei}set pollingInterval(t){if(!Number.isInteger(t)||t<0)throw Error("invalid interval");this.#ei=t,this._forEachSubscriber(t=>{lE(t)&&(t.pollingInterval=this.#ei)})}}class lR extends lN{#es;constructor(t,e,r){null==t&&(t="http://localhost:8545"),super(e,r),"string"==typeof t?this.#es=new a6(t):this.#es=t.clone()}_getConnection(){return this.#es.clone()}async send(t,e){return await this._start(),await super.send(t,e)}async _send(t){let e=this._getConnection();e.body=JSON.stringify(t),e.setHeader("content-type","application/json");let r=await e.send();r.assertOk();let n=r.bodyJson;return Array.isArray(n)||(n=[n]),n}}let lI="9f7d929b018cdffb338517efa06f58359e86ff1ffd350bc889738523659e7972";class lx extends lR{apiKey;constructor(t,e){null==t&&(t="mainnet");let r=ol.from(t);null==e&&(e=lI),super(lx.getRequest(r,e),r,{polling:!0,staticNetwork:r}),C(this,{apiKey:e})}_getProvider(t){try{return new lx(t,this.apiKey)}catch(t){}return super._getProvider(t)}static getRequest(t,e){null==e&&(e=lI);let r=new a6(`https://${function(t){switch(t){case"mainnet":return"rpc.ankr.com/eth";case"goerli":return"rpc.ankr.com/eth_goerli";case"sepolia":return"rpc.ankr.com/eth_sepolia";case"arbitrum":return"rpc.ankr.com/arbitrum";case"base":return"rpc.ankr.com/base";case"base-goerli":return"rpc.ankr.com/base_goerli";case"base-sepolia":return"rpc.ankr.com/base_sepolia";case"bnb":return"rpc.ankr.com/bsc";case"bnbt":return"rpc.ankr.com/bsc_testnet_chapel";case"filecoin":return"rpc.ankr.com/filecoin";case"filecoin-calibration":return"rpc.ankr.com/filecoin_testnet";case"matic":return"rpc.ankr.com/polygon";case"matic-mumbai":return"rpc.ankr.com/polygon_mumbai";case"optimism":return"rpc.ankr.com/optimism";case"optimism-goerli":return"rpc.ankr.com/optimism_testnet";case"optimism-sepolia":return"rpc.ankr.com/optimism_sepolia"}D(!1,"unsupported network","network",t)}(t.name)}/${e}`);return r.allowGzip=!0,e===lI&&(r.retryFunc=async(t,e,r)=>(oe("AnkrProvider"),!0)),r}getRpcError(t,e){return"eth_sendRawTransaction"===t.method&&e&&e.error&&"INTERNAL_ERROR: could not replace existing tx"===e.error.message&&(e.error.message="replacement transaction underpriced"),super.getRpcError(t,e)}isCommunityResource(){return this.apiKey===lI}}let lO="_gg7wSSi0KMBsdKnGVfHDueq6xMB9EkC";class lC extends lR{apiKey;constructor(t,e){null==t&&(t="mainnet");let r=ol.from(t);null==e&&(e=lO),super(lC.getRequest(r,e),r,{staticNetwork:r}),C(this,{apiKey:e})}_getProvider(t){try{return new lC(t,this.apiKey)}catch(t){}return super._getProvider(t)}async _perform(t){if("getTransactionResult"===t.method){let e;let{trace:r,tx:n}=await O({trace:this.send("trace_transaction",[t.hash]),tx:this.getTransaction(t.hash)});if(null==r||null==n)return null;let i=!1;try{e=r[0].result.output,i="Reverted"===r[0].error}catch(t){}if(e)return F(!i,"an error occurred during transaction executions","CALL_EXCEPTION",{action:"getTransactionResult",data:e,reason:null,transaction:n,invocation:null,revert:null}),e;F(!1,"could not parse trace result","BAD_DATA",{value:r})}return await super._perform(t)}isCommunityResource(){return this.apiKey===lO}
1static getRequest(t,e){null==e&&(e=lO);let r=new a6(`https://${function(t){switch(t){case"mainnet":return"eth-mainnet.g.alchemy.com";case"goerli":return"eth-goerli.g.alchemy.com";case"sepolia":return"eth-sepolia.g.alchemy.com";case"arbitrum":return"arb-mainnet.g.alchemy.com";case"arbitrum-goerli":return"arb-goerli.g.alchemy.com";case"arbitrum-sepolia":return"arb-sepolia.g.alchemy.com";case"base":return"base-mainnet.g.alchemy.com";case"base-goerli":return"base-goerli.g.alchemy.com";case"base-sepolia":return"base-sepolia.g.alchemy.com";case"matic":return"polygon-mainnet.g.alchemy.com";case"matic-amoy":return"polygon-amoy.g.alchemy.com";case"matic-mumbai":return"polygon-mumbai.g.alchemy.com";case"optimism":return"opt-mainnet.g.alchemy.com";case"optimism-goerli":return"opt-goerli.g.alchemy.com";case"optimism-sepolia":return"opt-sepolia.g.alchemy.com"}D(!1,"unsupported network","network",t)}(t.name)}/v2/${e}`);return r.allowGzip=!0,e===lO&&(r.retryFunc=async(t,e,r)=>(oe("alchemy"),!0)),r}}function lT(t){switch(t){case"mainnet":return"39f1d67cedf8b7831010a665328c9197";case"arbitrum":return"0550c209db33c3abf4cc927e1e18cea1";case"bnb":return"98b5a77e531614387366f6fc5da097f8";case"matic":return"cd9d4d70377471aa7c142ec4a4205249"}D(!1,"unsupported network","network",t)}class lS extends lR{apiKey;constructor(t,e){null==t&&(t="mainnet");let r=ol.from(t);null==e&&(e=lT(r.name)),super(lS.getRequest(r,e),r,{staticNetwork:r}),C(this,{apiKey:e})}_getProvider(t){try{return new lS(t,this.apiKey)}catch(t){}return super._getProvider(t)}isCommunityResource(){return this.apiKey===lT(this._network.name)}static getRequest(t,e){null==e&&(e=lT(t.name));let r=new a6(`https://${function(t){switch(t){case"mainnet":return"ethereum-mainnet.core.chainstack.com";case"arbitrum":return"arbitrum-mainnet.core.chainstack.com";case"bnb":return"bsc-mainnet.core.chainstack.com";case"matic":return"polygon-mainnet.core.chainstack.com"}D(!1,"unsupported network","network",t)}(t.name)}/${e}`);return r.allowGzip=!0,e===lT(t.name)&&(r.retryFunc=async(t,e,r)=>(oe("ChainstackProvider"),!0)),r}}class lB extends lR{constructor(t){null==t&&(t="mainnet");let e=ol.from(t);D("mainnet"===e.name,"unsupported network","network",t),super("https://cloudflare-eth.com/",e,{staticNetwork:e})}}let lU="1 11155111 17000 560048 2741 11124 33111 33139 42170 42161 421614 43114 43113 8453 84532 80069 80094 199 1029 81457 168587773 56 97 42220 11142220 252 2523 100 999 737373 747474 59144 59141 5000 5003 43521 143 10143 1287 1284 1285 10 11155420 204 5611 80002 137 534352 534351 1329 1328 146 14601 988 2201 1923 1924 167013 167000 130 1301 480 4801 51 50 324 300".split(/ /g),lF="org.ethers.plugins.provider.Etherscan";class lD extends or{baseUrl;constructor(t){super(lF),C(this,{baseUrl:t})}clone(){return new lD(this.baseUrl)}}let lL=["enableCcipRead"],lM=1;class lG extends la{network;apiKey;#ea;constructor(t,e){super();let r=ol.from(t);D(lU.indexOf(`${r.chainId}`)>=0,"unsupported network","network",r),this.#ea=r.getPlugin(lF),C(this,{apiKey:null!=e?e:null,network:r})}getBaseUrl(){if(this.#ea)return this.#ea.baseUrl;switch(this.network.name){case"mainnet":return"https://api.etherscan.io";case"goerli":return"https://api-goerli.etherscan.io";case"sepolia":return"https://api-sepolia.etherscan.io";case"holesky":return"https://api-holesky.etherscan.io";case"arbitrum":return"https://api.arbiscan.io";case"arbitrum-goerli":return"https://api-goerli.arbiscan.io";case"base":return"https://api.basescan.org";case"base-sepolia":return"https://api-sepolia.basescan.org";case"bnb":return"https://api.bscscan.com";case"bnbt":return"https://api-testnet.bscscan.com";case"matic":return"https://api.polygonscan.com";case"matic-amoy":return"https://api-amoy.polygonscan.com";case"matic-mumbai":return"https://api-testnet.polygonscan.com";case"optimism":return"https://api-optimistic.etherscan.io";case"optimism-goerli":return"https://api-goerli-optimistic.etherscan.io"}D(!1,"unsupported network","network",this.network)}getUrl(t,e){let r=Object.keys(e).reduce((t,r)=>{let n=e[r];return null!=n&&(t+=`&${r}=${n}`),t},"");return this.apiKey&&(r+=`&apikey=${this.apiKey}`),`https://api.etherscan.io/v2/api?chainid=${this.network.chainId}&module=${t}${r}`}getPostUrl(){return`https://api.etherscan.io/v2/api?chainid=${this.network.chainId}`}getPostData(t,e){return e.module=t,e.apikey=this.apiKey,e.chainid=this.network.chainId,e}async detectNetwork(){return this.network}async fetch(t,e,r){let n=lM++,i=r?this.getPostUrl():this.getUrl(t,e),s=r?this.getPostData(t,e):null;
1this.emit("debug",{action:"sendRequest",id:n,url:i,payload:s});let a=new a6(i);a.setThrottleParams({slotInterval:1e3}),a.retryFunc=(t,e,r)=>(this.isCommunityResource()&&oe("Etherscan"),Promise.resolve(!0)),a.processFunc=async(e,r)=>{let i=r.hasBody()?JSON.parse(ts(r.body)):{},s=("string"==typeof i.result?i.result:"").toLowerCase().indexOf("rate limit")>=0;return"proxy"===t?i&&0==i.status&&"NOTOK"==i.message&&s&&(this.emit("debug",{action:"receiveError",id:n,reason:"proxy-NOTOK",error:i}),r.throwThrottleError(i.result,2e3)):s&&(this.emit("debug",{action:"receiveError",id:n,reason:"null result",error:i.result}),r.throwThrottleError(i.result,2e3)),r},s&&(a.setHeader("content-type","application/x-www-form-urlencoded; charset=UTF-8"),a.body=Object.keys(s).map(t=>`${t}=${s[t]}`).join("&"));let o=await a.send();try{o.assertOk()}catch(t){this.emit("debug",{action:"receiveError",id:n,error:t,reason:"assertOk"}),F(!1,"response error","SERVER_ERROR",{request:a,response:o})}o.hasBody()||(this.emit("debug",{action:"receiveError",id:n,error:"missing body",reason:"null body"}),F(!1,"missing response","SERVER_ERROR",{request:a,response:o}));let l=JSON.parse(ts(o.body));return"proxy"===t?("2.0"!=l.jsonrpc&&(this.emit("debug",{action:"receiveError",id:n,result:l,reason:"invalid JSON-RPC"}),F(!1,"invalid JSON-RPC response (missing jsonrpc='2.0')","SERVER_ERROR",{request:a,response:o,info:{result:l}}
1)),l.error&&(this.emit("debug",{action:"receiveError",id:n,result:l,reason:"JSON-RPC error"}),F(!1,"error response","SERVER_ERROR",{request:a,response:o,info:{result:l}}))):0==l.status&&("No records found"===l.message||"No transactions found"===l.message)||1==l.status&&("string"!=typeof l.message||l.message.match(/^OK/))||(this.emit("debug",{action:"receiveError",id:n,result:l}),F(!1,"error response","SERVER_ERROR",{request:a,response:o,info:{result:l}})),this.emit("debug",{action:"receiveRequest",id:n,result:l}),l.result}_getTransactionPostData(t){let e={};for(let r in t){if(lL.indexOf(r)>=0||null==t[r])continue;let n=t[r];if(("type"!==r||0!==n)&&("blockTag"!==r||"latest"!==n)){if(({type:!0,gasLimit:!0,gasPrice:!0,maxFeePerGs:!0,maxPriorityFeePerGas:!0,nonce:!0,value:!0})[r])n=tv(n);else if("accessList"===r)n="["+r8(n).map(t=>`{address:"${t.address}",storageKeys:["${t.storageKeys.join('","')}"]}`).join(",")+"]";else if("blobVersionedHashes"===r){if(0===n.length)continue;F(!1,"Etherscan API does not support blobVersionedHashes","UNSUPPORTED_OPERATION",{operation:"_getTransactionPostData",info:{transaction:t}})}else n=J(n);e[r]=n}}return e}_checkError(t,e,r){let n="";if(S(e,"SERVER_ERROR")){try{n=e.info.result.error.message}catch(t){}if(!n)try{n=e.info.message}catch(t){}}if("estimateGas"===t.method&&!n.match(/revert/i)&&n.match(/insufficient funds/i)&&F(!1,"insufficient funds","INSUFFICIENT_FUNDS",{transaction:t.transaction}),("call"===t.method||"estimateGas"===t.method)&&n.match(/execution reverted/i)){let r="";try{r=e.info.result.error.data}catch(t){}let n=rB.getBuiltinCallException(t.method,t.transaction,r);throw n.info={request:t,error:e},n}if(n&&"broadcastTransaction"===t.method){let e=oS.from(t.signedTransaction);n.match(/replacement/i)&&n.match(/underpriced/i)&&F(!1,"replacement fee too low","REPLACEMENT_UNDERPRICED",{transaction:e}),n.match(/insufficient funds/)&&F(!1,"insufficient funds for intrinsic transaction cost","INSUFFICIENT_FUNDS",{transaction:e}),n.match(/same hash was already imported|transaction nonce is too low|nonce too low/)&&F(!1,"nonce has already been used","NONCE_EXPIRED",{transaction:e})}throw e}async _detectNetwork(){return this.network}async _perform(t){switch(t.method){case"chainId":return this.network.chainId;case"getBlockNumber":return this.fetch("proxy",{action:"eth_blockNumber"});case"getGasPrice":return this.fetch("proxy",{action:"eth_gasPrice"});case"getPriorityFee":if("mainnet"===this.network.name)return"1000000000";if("optimism"===this.network.name)return"1000000";throw Error("fallback onto the AbstractProvider default");case"getBalance":return this.fetch("account",{action:"balance",address:t.address,tag:t.blockTag});case"getTransactionCount":return this.fetch("proxy",{action:"eth_getTransactionCount",address:t.address,tag:t.blockTag});case"getCode":return this.fetch("proxy",{action:"eth_getCode",address:t.address,tag:t.blockTag});case"getStorage":return this.fetch("proxy",{action:"eth_getStorageAt",address:t.address,position:t.position,tag:t.blockTag});case"broadcastTransaction":return this.fetch("proxy",{action:"eth_sendRawTransaction",hex:t.signedTransaction},!0).catch(e=>this._checkError(t,e,t.signedTransaction));case"getBlock":if("blockTag"in t)return this.fetch("proxy",{action:"eth_getBlockByNumber",tag:t.blockTag,boolean:t.includeTransactions?"true":"false"});F(!1,"getBlock by blockHash not supported by Etherscan","UNSUPPORTED_OPERATION",{operation:"getBlock(blockHash)"});case"getTransaction":return this.fetch("proxy",{action:"eth_getTransactionByHash",txhash:t.hash});case"getTransactionReceipt":return this.fetch("proxy",{action:"eth_getTransactionReceipt",txhash:t.hash});case"call":{if("latest"!==t.blockTag)throw Error("EtherscanProvider does not support blockTag for call");let e=this._getTransactionPostData(t.transaction);e.module="proxy",e.action="eth_call";try{return await this.fetch("proxy",e,!0)}catch(e){return this._checkError(t,e,t.transaction)}}case"estimateGas":{let e=this._getTransactionPostData(t.transaction);e.module="proxy",e.action="eth_estimateGas";try{return await this.fetch("proxy",e,!0)}catch(e){return this._checkError(t,e,t.transaction)}}}return super._perform(t)}async getNetwork(){return this.network}async getEtherPrice(){return"mainnet"!==this.network.name?0:parseFloat((await this.fetch("stats",{action:"ethprice"})).ethusd)}async getContract(t){var e;let r=this._getAddress(t);(e=r)&&"function"==typeof e.then&&(r=await r);try{let t=await this.fetch("contract",{action:"getabi",address:r}),e=JSON.parse(t);return new nM(r,e,this)}catch(t){return null}}isCommunityResource(){return null==this.apiKey}}let lH=function(){if("undefined"!=typeof self)return self;if("undefined"!=typeof window)return window;if("undefined"!=typeof global)return global;throw Error("unable to locate global object")}().WebSocket;class lV{#tC;#R;get filter(){return JSON.parse(this.#R)}#eo;#el;#eu;constructor(t,e){this.#tC=t,this.#R=JSON.stringify(e),this.#eo=null,this.#el=null,this.#eu=null}start(){this.#eo=this.#tC.send("eth_subscribe",this.filter).then(t=>(this.#tC._register(t,this),t))}stop(){this.#eo.then(t=>{this.#tC.destroyed||this.#tC.send("eth_unsubscribe",[t])}),this.#eo=null}pause(t){F(t,"preserve logs while paused not supported by SocketSubscriber yet","UNSUPPORTED_OPERATION",{operation:"pause(false)"}),this.#el=!!t}resume(){this.#el=null}_handleMessage(t){if(null!=this.#eo&&null===this.#el){let e=this.#eu;e=null==e?this._emit(this.#tC,t):e.then(async()=>{await this._emit(this.#tC,t)}),this.#eu=e.then(()=>{this.#eu===e&&(this.#eu=null)})}}async _emit(t,e){throw Error("sub-classes must implemente this; _emit")}}class lz extends lV{constructor(t){super(t,["newHeads"])}async _emit(t,e){t.emit("block",parseInt(e.number))}}class lj extends lV{constructor(t){super(t,["newPendingTransactions"])}async _emit(t,e){t.emit("pending",e)}}
1class lQ extends lV{#ec;get logFilter(){return JSON.parse(this.#ec)}constructor(t,e){super(t,["logs",e]),this.#ec=JSON.stringify(e)}async _emit(t,e){t.emit(this.logFilter,t._wrapLog(e,t._network))}}class l_ extends lP{#eh;#tG;#ef;constructor(t,e){let r=Object.assign({},null!=e?e:{});D(null==r.batchMaxCount||1===r.batchMaxCount,"sockets-based providers do not support batches","options.batchMaxCount",e),r.batchMaxCount=1,null==r.staticNetwork&&(r.staticNetwork=!0),super(t,r),this.#eh=new Map,this.#tG=new Map,this.#ef=new Map}_getSubscriber(t){switch(t.type){case"close":return new le("close");case"block":return new lz(this);case"pending":return new lj(this);case"event":return new lQ(this,t.filter);case"orphan":if("drop-log"===t.filter.orphan)return new le("drop-log")}return super._getSubscriber(t)}_register(t,e){this.#tG.set(t,e);let r=this.#ef.get(t);if(r){for(let t of r)e._handleMessage(t);this.#ef.delete(t)}}async _send(t){D(!Array.isArray(t),"WebSocket does not support batch send","payload",t);let e=new Promise((e,r)=>{this.#eh.set(t.id,{payload:t,resolve:e,reject:r})});return await this._waitUntilReady(),await this._write(JSON.stringify(t)),[await e]}async _processMessage(t){let e=JSON.parse(t);if(e&&"object"==typeof e&&"id"in e){let t=this.#eh.get(e.id);if(null==t){this.emit("error",U("received result for unknown id","UNKNOWN_ERROR",{reasonCode:"UNKNOWN_ID",result:e}));return}this.#eh.delete(e.id),t.resolve(e)}else if(e&&"eth_subscription"===e.method){let t=e.params.subscription,r=this.#tG.get(t);if(r)r._handleMessage(e.params.result);else{let r=this.#ef.get(t);null==r&&(r=[],this.#ef.set(t,r)),r.push(e.params.result)}}else{this.emit("error",U("received unexpected message","UNKNOWN_ERROR",{reasonCode:"UNEXPECTED_MESSAGE",result:e}));return}}async _write(t){throw Error("sub-classes must override this")}}class lK extends l_{#es;#ed;get websocket(){if(null==this.#ed)throw Error("websocket closed");return this.#ed}constructor(t,e,r){super(e,r),"string"==typeof t?(this.#es=()=>new lH(t),this.#ed=this.#es()):"function"==typeof t?(this.#es=t,this.#ed=t()):(this.#es=null,this.#ed=t),this.websocket.onopen=async()=>{try{await this._start(),this.resume()}catch(t){console.log("failed to start WebsocketProvider",t)}},this.websocket.onmessage=t=>{this._processMessage(t.data)}}async _write(t){this.websocket.send(t)}async destroy(){null!=this.#ed&&(this.#ed.close(),this.#ed=null),super.destroy()}}let lJ="84842078b09946638c03157f83405213";class lq extends lK{projectId;projectSecret;constructor(t,e){let r=new lW(t,e),n=r._getConnection();F(!n.credentials,"INFURA WebSocket project secrets unsupported","UNSUPPORTED_OPERATION",{operation:"InfuraProvider.getWebSocketProvider()"}),super(n.url.replace(/^http/i,"ws").replace("/v3/","/ws/v3/"),r._network),C(this,{projectId:r.projectId,projectSecret:r.projectSecret})}isCommunityResource(){return this.projectId===lJ}}class lW extends lR{projectId;projectSecret;constructor(t,e,r){null==t&&(t="mainnet");let n=ol.from(t);null==e&&(e=lJ),null==r&&(r=null),super(lW.getRequest(n,e,r),n,{staticNetwork:n}),C(this,{projectId:e,projectSecret:r})}_getProvider(t){try{return new lW(t,this.projectId,this.projectSecret)}catch(t){}return super._getProvider(t)}isCommunityResource(){return this.projectId===lJ}static getWebSocketProvider(t,e){return new lq(t,e)}static getRequest(t,e,r){null==e&&(e=lJ),null==r&&(r=null);let n=new a6(`https://${function(t){switch(t){case"mainnet":return"mainnet.infura.io";case"goerli":return"goerli.infura.io";case"sepolia":return"sepolia.infura.io";case"arbitrum":return"arbitrum-mainnet.infura.io";case"arbitrum-goerli":return"arbitrum-goerli.infura.io";case"arbitrum-sepolia":return"arbitrum-sepolia.infura.io";case"base":return"base-mainnet.infura.io";case"base-goerlia":case"base-goerli":return"base-goerli.infura.io";case"base-sepolia":return"base-sepolia.infura.io";case"bnb":return"bsc-mainnet.infura.io";case"bnbt":return"bsc-testnet.infura.io";case"linea":return"linea-mainnet.infura.io";case"linea-goerli":return"linea-goerli.infura.io";case"linea-sepolia":return"linea-sepolia.infura.io";case"matic":return"polygon-mainnet.infura.io";case"matic-amoy":return"polygon-amoy.infura.io";case"matic-mumbai":return"polygon-mumbai.infura.io";case"optimism":return"optimism-mainnet.infura.io";case"optimism-goerli":return"optimism-goerli.infura.io";case"optimism-sepolia":return"optimism-sepolia.infura.io"}D(!1,"unsupported network","network",t)}(t.name)}/v3/${e}`);return n.allowGzip=!0,r&&n.setCredentials("",r),e===lJ&&(n.retryFunc=async(t,e,r)=>(oe("InfuraProvider"),!0)),n}}let lZ="919b412a057b5e9c9b6dce193c5a60242d6efadb";class lY extends lR{token;constructor(t,e){null==t&&(t="mainnet");let r=ol.from(t);
1null==e&&(e=lZ),super(lY.getRequest(r,e),r,{staticNetwork:r}),C(this,{token:e})}_getProvider(t){try{return new lY(t,this.token)}catch(t){}return super._getProvider(t)}isCommunityResource(){return this.token===lZ}static getRequest(t,e){null==e&&(e=lZ);let r=new a6(`https://${function(t){switch(t){case"mainnet":return"ethers.quiknode.pro";case"goerli":return"ethers.ethereum-goerli.quiknode.pro";case"sepolia":return"ethers.ethereum-sepolia.quiknode.pro";case"holesky":return"ethers.ethereum-holesky.quiknode.pro";case"arbitrum":return"ethers.arbitrum-mainnet.quiknode.pro";case"arbitrum-goerli":return"ethers.arbitrum-goerli.quiknode.pro";case"arbitrum-sepolia":return"ethers.arbitrum-sepolia.quiknode.pro";case"base":return"ethers.base-mainnet.quiknode.pro";case"base-goerli":return"ethers.base-goerli.quiknode.pro";case"base-spolia":return"ethers.base-sepolia.quiknode.pro";case"bnb":return"ethers.bsc.quiknode.pro";case"bnbt":return"ethers.bsc-testnet.quiknode.pro";case"matic":return"ethers.matic.quiknode.pro";case"matic-mumbai":return"ethers.matic-testnet.quiknode.pro";case"optimism":return"ethers.optimism.quiknode.pro";case"optimism-goerli":return"ethers.optimism-goerli.quiknode.pro";case"optimism-sepolia":return"ethers.optimism-sepolia.quiknode.pro";case"xdai":return"ethers.xdai.quiknode.pro"}D(!1,"unsupported network","network",t)}(t.name)}/${e}`);return r.allowGzip=!0,e===lZ&&(r.retryFunc=async(t,e,r)=>(oe("QuickNodeProvider"),!0)),r}}let lX=BigInt("1"),l$=BigInt("2");function l0(){return new Date().getTime()}function l1(t){return JSON.stringify(t,(t,e)=>"bigint"==typeof e?{type:"bigint",value:e.toString()}:e)}let l2={stallTimeout:400,priority:1,weight:1},l3={blockNumber:-2,requests:0,lateResponses:0,errorResponses:0,outOfSync:-1,unsupportedEvents:0,rollingDuration:0,score:0,_network:null,_updateNumber:null,_totalTime:0,_lastFatalError:null,_lastFatalErrorTimestamp:0};async function l4(t,e){for(;(t.blockNumber<0||t.blockNumber<e)&&(t._updateNumber||(t._updateNumber=(async()=>{try{let e=await t.provider.getBlockNumber();e>t.blockNumber&&(t.blockNumber=e)}catch(e){t.blockNumber=-2,t._lastFatalError=e,t._lastFatalErrorTimestamp=l0()}t._updateNumber=null})()),await t._updateNumber,t.outOfSync++,!t._lastFatalError););}function l5(t){if(null==t)return"null";if(Array.isArray(t))return"["+t.map(l5).join(",")+"]";if("object"==typeof t&&"function"==typeof t.toJSON)return l5(t.toJSON());switch(typeof t){case"boolean":case"symbol":return t.toString();case"bigint":case"number":return BigInt(t).toString();case"string":return JSON.stringify(t);case"object":{let e=Object.keys(t);return e.sort(),"{"+e.map(e=>`${JSON.stringify(e)}:${l5(t[e])}`).join(",")+"}"}}throw console.log("Could not serialize",t),Error("Hmm...")}function l8(t,e){if("error"in e){let t=e.error;return{tag:S(t,"CALL_EXCEPTION")?l5(Object.assign({},t,{shortMessage:void 0,reason:void 0,info:void 0})):l5(t),value:t}}let r=e.result;return{tag:l5(r),value:r}}function l6(t,e){let r=new Map;for(let{value:t,tag:n,weight:i}of e){let e=r.get(n)||{value:t,weight:0};e.weight+=i,r.set(n,e)}let n=null;for(let e of r.values())e.weight>=t&&(!n||e.weight>n.weight)&&(n=e);if(n)return n.value}function l7(t,e){let r=0,n=new Map,i=null,s=[];for(let{value:t,tag:a,weight:o}of e)if(t instanceof Error){let e=n.get(a)||{value:t,weight:0};e.weight+=o,n.set(a,e),(null==i||e.weight>i.weight)&&(i=e)}else s.push(BigInt(t)),r+=o;if(r<t)return i&&i.weight>=t?i.value:void 0;s.sort((t,e)=>t<e?-1:e>t?1:0);let a=Math.floor(s.length/2);return s.length%2?s[a]:(s[a-1]+s[a]+lX)/l$}function l9(t,e){let r=l6(t,e);if(void 0!==r)return r;for(let t of e)if(t.value)return t.value}class ut extends la{quorum;eventQuorum;eventWorkers;#ep;#eg;#em;constructor(t,e,r){super(e,r),this.#ep=t.map(t=>t instanceof la?Object.assign({provider:t},l2,l3):Object.assign({},l2,t,l3)),this.#eg=-2,this.#em=null,r&&null!=r.quorum?this.quorum=r.quorum:this.quorum=Math.ceil(this.#ep.reduce((t,e)=>t+=e.weight,0)/2),this.eventQuorum=1,this.eventWorkers=1,D(this.quorum<=this.#ep.reduce((t,e)=>t+e.weight,0),"quorum exceed provider weight","quorum",this.quorum)}get providerConfigs(){return this.#ep.map(t=>{let e=Object.assign({},t);for(let t in e)"_"===t[0]&&delete e[t];return e})}async _detectNetwork(){return ol.from(tp(await this._perform({method:"chainId"})))}async _translatePerform(t,e){switch(e.method){case"broadcastTransaction":return await t.broadcastTransaction(e.signedTransaction);case"call":return await t.call(Object.assign({},e.transaction,{blockTag:e.blockTag}));case"chainId":return(await t.getNetwork()).chainId;case"estimateGas":return await t.estimateGas(e.transaction);case"getBalance":return await t.getBalance(e.address,e.blockTag);case"getBlock":{let r="blockHash"in e?e.blockHash:e.blockTag;return await t.getBlock(r,e.includeTransactions)}case"getBlockNumber":return await t.getBlockNumber();case"getCode":return await t.getCode(e.address,e.blockTag);case"getGasPrice":return(await t.getFeeData()).gasPrice;case"getPriorityFee":return(await t.getFeeData()).maxPriorityFeePerGas;case"getLogs":return await t.getLogs(e.filter);case"getStorage":return await t.getStorage(e.address,e.position,e.blockTag);case"getTransaction":return await t.getTransaction(e.hash);case"getTransactionCount":return await t.getTransactionCount(e.address,e.blockTag);case"getTransactionReceipt":return await t.getTransactionReceipt(e.hash);case"getTransactionResult":return await t.getTransactionResult(e.hash)}}#ey(t){let e=Array.from(t).map(t=>t.config),r=this.#ep.slice();for(let t of(!function(t){for(let e=t.length-1;e>0;e--){let r=Math.floor(Math.random()*(e+1)),n=t[e];t[e]=t[r],t[r]=n}}(r),r.sort((t,e)=>t.priority-e.priority),r))if(!t._lastFatalError&&-1===e.indexOf(t))return t;return null}#eb(t,e){let r=this.#ey(t);if(null==r)return null;let n={config:r,result:null,didBump:!1,perform:null,staller:null},i=l0();return n.perform=(async()=>{try{r.requests++;let t=await this._translatePerform(r.provider,e);n.result={result:t}}catch(t){r.errorResponses++,n.result={error:t}}let t=l0()-i;r._totalTime+=t,r.rollingDuration=.95*r.rollingDuration+.05*t,n.perform=null})(),n.staller=(async()=>{var t;await (t=r.stallTimeout,new Promise(e=>{setTimeout(e,t)})),n.staller=null})(),t.add(n),n}async #ew(){let t=this.#em;if(!t){let e=[];this.#ep.forEach(t=>{e.push((async()=>{await l4(t,0),t._lastFatalError||(t._network=await t.provider.getNetwork())})())}),this.#em=t=(async()=>{await Promise.all(e);let t=null;for(let e of this.#ep){if(e._lastFatalError)continue;let r=e._network;null==t?t=r.chainId:r.chainId!==t&&F(!1,"cannot mix providers on different networks","UNSUPPORTED_OPERATION",{operation:"new FallbackProvider"})}})()}await t}async #eA(t,e){let r=[];for(let n of t)if(null!=n.result){let{tag:t,value:i}=l8(e.method,n.result);r.push({tag:t,value:i,weight:n.config.weight})}if(!(r.reduce((t,e)=>t+e.weight,0)<this.quorum)){switch(e.method){case"getBlockNumber":{-2===this.#eg&&(this.#eg=Math.ceil(tb(l7(this.quorum,this.#ep.filter(t=>!t._lastFatalError).map(t=>({value:t.blockNumber,tag:tb(t.blockNumber).toString(),weight:t.weight}))))));let t=function(t,e){let r;if(1===t)return tb(l7(t,e),"%internal");let n=new Map,i=(t,e)=>{let r=n.get(t)||{result:t,weight:0};r.weight+=e,n.set(t,r)};for(let{weight:t,value:r}of e){let e=tb(r);i(e-1,t),i(e,t),i(e+1,t)}let s=0;for(let{weight:e,result:i}of n.values())e>=t&&(e>s||null!=r&&e===s&&i>r)&&(s=e,r=i);return r}(this.quorum,r);if(void 0===t)return;return t>this.#eg&&(this.#eg=t),this.#eg}case"getGasPrice":case"getPriorityFee":case"estimateGas":return l7(this.quorum,r);case"getBlock":if("blockTag"in e&&"pending"===e.blockTag)return l9(this.quorum,r);return l6(this.quorum,r);case"call":case"chainId":case"getBalance":case"getTransactionCount":case"getCode":case"getStorage":case"getTransaction":case"getTransactionReceipt":case"getLogs":return l6(this.quorum,r);case"broadcastTransaction":return l9(this.quorum,r)}F(!1,"unsupported method","UNSUPPORTED_OPERATION",{operation:`_perform(${l1(e.method)})`})}}async #eE(t,e){if(0===t.size)throw Error("no runners?!");let r=[],n=0;for(let e of t){if(e.perform&&r.push(e.perform),e.staller){r.push(e.staller);continue}!e.didBump&&(e.didBump=!0,n++)}let i=await this.#eA(t,e);if(void 0!==i){if(i instanceof Error)throw i;return i}for(let r=0;r<n;r++)this.#eb(t,e);return F(r.length>0,"quorum not met","SERVER_ERROR",{request:"%sub-requests",info:{request:e,results:Array.from(t).map(t=>l1(t.result))}}),await Promise.race(r),await this.#eE(t,e)}async _perform(t){if("broadcastTransaction"===t.method){let e=this.#ep.map(t=>null),r=this.#ep.map(async({provider:r,weight:n},i)=>{try{let s=await r._perform(t);e[i]=Object.assign(l8(t.method,{result:s}),{weight:n})}catch(r){e[i]=Object.assign(l8(t.method,{error:r}),{weight:n})}});for(;;){for(let{value:t}of e.filter(t=>null!=t))if(!(t instanceof Error))return t;let t=l6(this.quorum,e.filter(t=>null!=t));if(S(t,"INSUFFICIENT_FUNDS"))throw t;let n=r.filter((t,r)=>null==e[r]);if(0===n.length)break;await Promise.race(n)}let n=l9(this.quorum,e);if(F(void 0!==n,"problem multi-broadcasting","SERVER_ERROR",{request:"%sub-requests",info:{request:t,results:e.map(l1)}}),n instanceof Error)throw n;return n}await this.#ew();let e=new Set,r=0;for(;;){let n=this.#eb(e,t);
1if(null==n||(r+=n.config.weight)>=this.quorum)break}let n=await this.#eE(e,t);for(let t of e)t.perform&&null==t.result&&t.config.lateResponses++;return n}async destroy(){for(let{provider:t}of this.#ep)t.destroy();super.destroy()}}let ue="goerli kovan sepolia classicKotti optimism-goerli arbitrum-goerli matic-mumbai bnbt".split(" ");function ur(t,e){null==e&&(e={});let r=t=>"-"!==e[t]&&("string"==typeof e.exclusive?t===e.exclusive:!Array.isArray(e.exclusive)||-1!==e.exclusive.indexOf(t));if("string"==typeof t&&t.match(/^https?:/))return new lR(t);if("string"==typeof t&&t.match(/^wss?:/)||t&&"function"==typeof t.send&&"function"==typeof t.close)return new lK(t);let n=null;try{n=ol.from(t)}catch(t){}let i=[];if(r("publicPolygon")&&n&&("matic"===n.name?i.push(new lR("https://polygon-rpc.com/",n,{staticNetwork:n})):"matic-amoy"===n.name&&i.push(new lR("https://rpc-amoy.polygon.technology/",n,{staticNetwork:n}))),r("alchemy"))try{i.push(new lC(t,e.alchemy))}catch(t){}if(r("ankr")&&null!=e.ankr)try{i.push(new lx(t,e.ankr))}catch(t){}if(r("chainstack"))try{i.push(new lS(t,e.chainstack))}catch(t){}if(r("cloudflare"))try{i.push(new lB(t))}catch(t){}if(r("etherscan"))try{i.push(new lG(t,e.etherscan))}catch(t){}if(r("infura"))try{let r,n=e.infura;"object"==typeof n&&(r=n.projectSecret,n=n.projectId),i.push(new lW(t,n,r))}catch(t){}if(r("quicknode"))try{let r=e.quicknode;i.push(new lY(t,r))}catch(t){}if(F(i.length,"unsupported default network","UNSUPPORTED_OPERATION",{operation:"getDefaultProvider"}),1===i.length)return i[0];let s=Math.floor(i.length/2);return s>2&&(s=2),n&&-1!==ue.indexOf(n.name)&&(s=1),e&&e.quorum&&(s=e.quorum),new ut(i,void 0,{quorum:s})}class un extends ld{signer;#ev;#ek;constructor(t){super(t.provider),C(this,{signer:t}),this.#ev=null,this.#ek=0}async getAddress(){return this.signer.getAddress()}connect(t){return new un(this.signer.connect(t))}async getNonce(t){if("pending"===t){null==this.#ev&&(this.#ev=super.getNonce("pending"));let t=this.#ek;return await this.#ev+t}return super.getNonce(t)}increment(){this.#ek++}reset(){this.#ek=0,this.#ev=null}async sendTransaction(t){let e=this.getNonce("pending");return this.increment(),(t=await this.signer.populateTransaction(t)).nonce=await e,await this.signer.sendTransaction(t)}signTransaction(t){return this.signer.signTransaction(t)}signMessage(t){return this.signer.signMessage(t)}signTypedData(t,e,r){return this.signer.signTypedData(t,e,r)}}class ui extends lN{#tr;#eP;constructor(t,e,r){let n=Object.assign({},null!=r?r:{},{batchMaxCount:1});D(t&&t.request,"invalid EIP-1193 provider","ethereum",t),super(e,n),this.#eP=null,r&&r.providerInfo&&(this.#eP=r.providerInfo),this.#tr=async(e,r)=>{let n={method:e,params:r};this.emit("debug",{action:"sendEip1193Request",payload:n});try{let e=await t.request(n);return this.emit("debug",{action:"receiveEip1193Result",result:e}),e}catch(e){let t=Error(e.message);throw t.code=e.code,t.data=e.data,t.payload=n,this.emit("debug",{action:"receiveEip1193Error",error:t}),t}}}get providerInfo(){return this.#eP}async send(t,e){return await this._start(),await super.send(t,e)}async _send(t){D(!Array.isArray(t),"EIP-1193 does not support batch request","payload",t);try{let e=await this.#tr(t.method,t.params||[]);return[{id:t.id,result:e}]}catch(e){return[{id:t.id,error:{code:e.code,data:e.data,message:e.message}}]}}getRpcError(t,e){switch((e=JSON.parse(JSON.stringify(e))).error.code||-1){case 4001:e.error.message=`ethers-user-denied: ${e.error.message}`;break;case 4200:e.error.message=`ethers-unsupported: ${e.error.message}`}return super.getRpcError(t,e)}async hasSigner(t){null==t&&(t=0);let e=await this.send("eth_accounts",[]);return"number"==typeof t?e.length>t:(t=t.toLowerCase(),0!==e.filter(e=>e.toLowerCase()===t).length)}async getSigner(t){if(null==t&&(t=0),!await this.hasSigner(t))try{await this.#tr("eth_requestAccounts",[])}catch(e){let t=e.payload;throw this.getRpcError(t,{id:t.id,error:e})}return await super.getSigner(t)}static async discover(t){if(null==t&&(t={}),t.provider)return new ui(t.provider);let e=t.window?t.window:"undefined"!=typeof window?window:null;if(null==e)return null;let r=t.anyProvider;if(r&&e.ethereum)return new ui(e.ethereum);if(!("addEventListener"in e&&"dispatchEvent"in e&&"removeEventListener"in e))return null;let n=t.timeout?t.timeout:300;return 0===n?null:await new Promise((i,s)=>{let a=[],o=t=>{a.push(t.detail),r&&l()},l=()=>{if(clearTimeout(u),a.length){if(t&&t.filter){let e=t.filter(a.map(t=>Object.assign({},t.info)));if(null==e)i(null);else if(e instanceof ui)i(e);else{let t=null;if(e.uuid&&(t=a.filter(t=>e.uuid===t.info.uuid)[0]),t){let{provider:e,info:r}=t;i(new ui(e,void 0,{providerInfo:r}))}else s(U("filter returned unknown info","UNSUPPORTED_OPERATION",{value:e}))}}else{let{provider:t,info:e}=a[0];i(new ui(t,void 0,{providerInfo:e}))}}else i(null);e.removeEventListener("eip6963:announceProvider",o)},u=setTimeout(()=>{l()},n);e.addEventListener("eip6963:announceProvider",o),e.dispatchEvent(new Event("eip6963:requestProvider"))})}}class us extends lR{apiKey;constructor(t,e){null==t&&(t="mainnet");let r=ol.from(t);
1null==e&&(e=null),super(us.getRequest(r),r,{staticNetwork:r}),C(this,{apiKey:e})}_getProvider(t){try{return new us(t,this.apiKey)}catch(t){}return super._getProvider(t)}isCommunityResource(){return null===this.apiKey}getRpcRequest(t){let e=super.getRpcRequest(t);return e&&"eth_estimateGas"===e.method&&1==e.args.length&&(e.args=e.args.slice(),e.args.push("latest")),e}getRpcError(t,e){let r=e?e.error:null;if(r&&-32015===r.code&&!Q(r.data||"",!0)){let t={"assert(false)":"01","arithmetic underflow or overflow":"11","division or modulo by zero":"12","out-of-bounds array access; popping on an empty array":"31","out-of-bounds access of an array or bytesN":"32"},e="";"VM execution error."===r.message?e=t[r.data]||"":t[r.message||""]&&(e=t[r.message||""]),e&&(r.message+=` (reverted: ${r.data})`,r.data="0x4e487b7100000000000000000000000000000000000000000000000000000000000000"+e)}else r&&-32e3===r.code&&"wrong transaction nonce"===r.message&&(r.message+=" (nonce too low)");return super.getRpcError(t,e)}static getRequest(t){let e=new a6(function(t){switch(t){case"mainnet":return"https://eth.blockscout.com/api/eth-rpc";case"sepolia":return"https://eth-sepolia.blockscout.com/api/eth-rpc";case"holesky":return"https://eth-holesky.blockscout.com/api/eth-rpc";case"classic":return"https://etc.blockscout.com/api/eth-rpc";case"arbitrum":return"https://arbitrum.blockscout.com/api/eth-rpc";case"base":return"https://base.blockscout.com/api/eth-rpc";case"base-sepolia":return"https://base-sepolia.blockscout.com/api/eth-rpc";case"matic":return"https://polygon.blockscout.com/api/eth-rpc";case"optimism":return"https://optimism.blockscout.com/api/eth-rpc";case"optimism-sepolia":return"https://optimism-sepolia.blockscout.com/api/eth-rpc";case"xdai":return"https://gnosis.blockscout.com/api/eth-rpc"}D(!1,"unsupported network","network",t)}(t.name));return e.allowGzip=!0,e}}let ua="62e1ad51b37b8e00394bda3b";class uo extends lR{applicationId;applicationSecret;constructor(t,e,r){null==t&&(t="mainnet");let n=ol.from(t);null==e&&(e=ua),null==r&&(r=null),super(uo.getRequest(n,e,r),n,{staticNetwork:n}),C(this,{applicationId:e,applicationSecret:r})}_getProvider(t){try{return new uo(t,this.applicationId,this.applicationSecret)}catch(t){}return super._getProvider(t)}static getRequest(t,e,r){null==e&&(e=ua);let n=new a6(`https://${function(t){switch(t){case"mainnet":return"eth-mainnet.gateway.pokt.network";case"goerli":return"eth-goerli.gateway.pokt.network";case"matic":return"poly-mainnet.gateway.pokt.network";case"matic-mumbai":return"polygon-mumbai-rpc.gateway.pokt.network"}D(!1,"unsupported network","network",t)}(t.name)}/v1/lb/${e}`);return n.allowGzip=!0,r&&n.setCredentials("",r),e===ua&&(n.retryFunc=async(t,e,r)=>(oe("PocketProvider"),!0)),n}isCommunityResource(){return this.applicationId===ua}}let ul=void 0,uu=BigInt(-1),uc=BigInt(0),uh=BigInt(1),uf=BigInt(5),ud={},up="0000";for(;up.length<80;)up+=up;function ug(t){let e=up;for(;e.length<t;)e+=e;return BigInt("1"+e.substring(0,t))}function um(t,e,r){let n=BigInt(e.width);if(e.signed){let e=uh<<n-uh;F(null==r||t>=-e&&t<e,"overflow","NUMERIC_FAULT",{operation:r,fault:"overflow",value:t}),t=t>uc?th(td(t,n),n):-th(td(-t,n),n)}else{let e=uh<<n;F(null==r||t>=0&&t<e,"overflow","NUMERIC_FAULT",{operation:r,fault:"overflow",value:t}),t=(t%e+e)%e&e-uh}return t}function uy(t){"number"==typeof t&&(t=`fixed128x${t}`);let e=!0,r=128,n=18;if("string"==typeof t){if("fixed"===t);else if("ufixed"===t)e=!1;else{let i=t.match(/^(u?)fixed([0-9]+)x([0-9]+)$/);D(i,"invalid fixed format","format",t),e="u"!==i[1],r=parseInt(i[2]),n=parseInt(i[3])}}else if(t){let i=t,s=(t,e,r)=>null==i[t]?r:(D(typeof i[t]===e,"invalid fixed format ("+t+" not "+e+")","format."+t,i[t]),i[t]);e=s("signed","boolean",e),r=s("width","number",r),n=s("decimals","number",n)}D(r%8==0,"invalid FixedNumber width (not byte aligned)","format.width",r),D(n<=80,"invalid FixedNumber decimals (too large)","format.decimals",n);let i=(e?"":"u")+"fixed"+String(r)+"x"+String(n);return{signed:e,width:r,decimals:n,name:i}}class ub{format;#eN;#eR;#eI;_value;constructor(t,e,r){H(t,ud,"FixedNumber"),this.#eR=e,this.#eN=r;let n=function(t,e){let r="";t<uc&&(r="-",t*=uu);let n=t.toString();if(0===e)return r+n;for(;n.length<=e;)n=up+n;let i=n.length-e;for(n=n.substring(0,i)+"."+n.substring(i);"0"===n[0]&&"."!==n[1];)n=n.substring(1);for(;"0"===n[n.length-1]&&"."!==n[n.length-2];)n=n.substring(0,n.length-1);return r+n}(e,r.decimals);C(this,{format:r.name,_value:n}),this.#eI=ug(r.decimals)}get signed(){return this.#eN.signed}get width(){return this.#eN.width}get decimals(){return this.#eN.decimals}get value(){return this.#eR}#ex(t){D(this.format===t.format,"incompatible format; use fixedNumber.toFormat","other",t)}#eO(t,e){return new ub(ud,t=um(t,this.#eN,e),this.#eN)}#eC(t,e){return this.#ex(t),this.#eO(this.#eR+t.#eR,e)}addUnsafe(t){return this.#eC(t)}add(t){return this.#eC(t,"add")}#eT(t,e){return this.#ex(t),this.#eO(this.#eR-t.#eR,e)}subUnsafe(t){return this.#eT(t)}
1sub(t){return this.#eT(t,"sub")}#eS(t,e){return this.#ex(t),this.#eO(this.#eR*t.#eR/this.#eI,e)}mulUnsafe(t){return this.#eS(t)}mul(t){return this.#eS(t,"mul")}mulSignal(t){this.#ex(t);let e=this.#eR*t.#eR;return F(e%this.#eI===uc,"precision lost during signalling mul","NUMERIC_FAULT",{operation:"mulSignal",fault:"underflow",value:this}),this.#eO(e/this.#eI,"mulSignal")}#eB(t,e){return F(t.#eR!==uc,"division by zero","NUMERIC_FAULT",{operation:"div",fault:"divide-by-zero",value:this}),this.#ex(t),this.#eO(this.#eR*this.#eI/t.#eR,e)}divUnsafe(t){return this.#eB(t)}div(t){return this.#eB(t,"div")}divSignal(t){F(t.#eR!==uc,"division by zero","NUMERIC_FAULT",{operation:"div",fault:"divide-by-zero",value:this}),this.#ex(t);let e=this.#eR*this.#eI;return F(e%t.#eR===uc,"precision lost during signalling div","NUMERIC_FAULT",{operation:"divSignal",fault:"underflow",value:this}),this.#eO(e/t.#eR,"divSignal")}cmp(t){let e=this.value,r=t.value,n=this.decimals-t.decimals;return(n>0?r*=ug(n):n<0&&(e*=ug(-n)),e<r)?-1:e>r?1:0}eq(t){return 0===this.cmp(t)}lt(t){return 0>this.cmp(t)}lte(t){return 0>=this.cmp(t)}gt(t){return this.cmp(t)>0}gte(t){return this.cmp(t)>=0}floor(){let t=this.#eR;return this.#eR<uc&&(t-=this.#eI-uh),t=this.#eR/this.#eI*this.#eI,this.#eO(t,"floor")}ceiling(){let t=this.#eR;return this.#eR>uc&&(t+=this.#eI-uh),t=this.#eR/this.#eI*this.#eI,this.#eO(t,"ceiling")}round(t){if(null==t&&(t=0),t>=this.decimals)return this;let e=this.decimals-t,r=uf*ug(e-1),n=this.value+r,i=ug(e);return um(n=n/i*i,this.#eN,"round"),new ub(ud,n,this.#eN)}isZero(){return this.#eR===uc}isNegative(){return this.#eR<uc}toString(){return this._value}toUnsafeFloat(){return parseFloat(this.toString())}toFormat(t){return ub.fromString(this.toString(),t)}static fromValue(t,e,r){let n=null==e?0:tb(e),i=uy(r),s=tp(t,"value"),a=n-i.decimals;if(a>0){let e=ug(a);F(s%e===uc,"value loses precision for format","NUMERIC_FAULT",{operation:"fromValue",fault:"underflow",value:t}),s/=e}else a<0&&(s*=ug(-a));return um(s,i,"fromValue"),new ub(ud,s,i)}static fromString(t,e){let r=t.match(/^(-?)([0-9]*)\.?([0-9]*)$/);D(r&&r[2].length+r[3].length>0,"invalid FixedNumber string value","value",t);let n=uy(e),i=r[2]||"0",s=r[3]||"";for(;s.length<n.decimals;)s+=up;F(s.substring(n.decimals).match(/^0*$/),"too many decimals for format","NUMERIC_FAULT",{operation:"fromString",fault:"underflow",value:t}),s=s.substring(0,n.decimals);let a=BigInt(r[1]+i+s);return um(a,n,"fromString"),new ub(ud,a,n)}static fromBytes(t,e){let r=ty(z(t,"value")),n=uy(e);return n.signed&&(r=th(r,n.width)),um(r,n,"fromBytes"),new ub(ud,r,n)}}let uw=["wei","kwei","mwei","gwei","szabo","finney","ether"];function uA(t,e){let r=18;if("string"==typeof e){let t=uw.indexOf(e);D(t>=0,"invalid unit","unit",e),r=3*t}else null!=e&&(r=tb(e,"unit"));return ub.fromValue(t,r,{decimals:r,width:512}).toString()}function uE(t,e){D("string"==typeof t,"value must be a string","value",t);let r=18;if("string"==typeof e){let t=uw.indexOf(e);D(t>=0,"invalid unit","unit",e),r=3*t}else null!=e&&(r=tb(e,"unit"));return ub.fromString(t,{decimals:r,width:512}).value}function uv(t){return uA(t,18)}function uk(t){return uE(t,18)}function uP(t){let e=z(t,"randomBytes");e[6]=15&e[6]|64,e[8]=63&e[8]|128;let r=J(e);return[r.substring(2,10),r.substring(10,14),r.substring(14,18),r.substring(18,22),r.substring(22,34)].join("-")}let uN=" !#$%&'()*+,-./<=>?@[]^_`{|}~",uR=/^[a-z]*$/i;function uI(t,e){let r=97;return t.reduce((t,n)=>(n===e?r++:n.match(uR)?t.push(String.fromCharCode(r)+n):(r=97,t.push(n)),t),[])}function ux(t){return D("0"===t[0],"unsupported auwl data","data",t),function(t,e){for(let r=uN.length-1;r>=0;r--)t=t.split(uN[r]).join(e.substring(2*r,2*r+2));let r=[],n=t.replace(/(:|([0-9])|([A-Z][a-z]*))/g,(t,e,n,i)=>{if(n)for(let t=parseInt(n);t>=0;t--)r.push(";");else r.push(e.toLowerCase());return""});if(n)throw Error(`leftovers: ${JSON.stringify(n)}`);return uI(uI(r,";"),":")}(t.substring(1+2*uN.length),t.substring(1,1+2*uN.length))}class uO{locale;constructor(t){C(this,{locale:t})}split(t){return t.toLowerCase().split(/\s+/g)}
1join(t){return t.join(" ")}}class uC extends uO{#e;#eU;constructor(t,e,r){super(t),this.#e=e,this.#eU=r,this.#eF=null}get _data(){return this.#e}_decodeWords(){return ux(this.#e)}#eF;#eD(){if(null==this.#eF){let t=this._decodeWords();if(eK(t.join("\n")+"\n")!==this.#eU)throw Error(`BIP39 Wordlist for ${this.locale} FAILED`);this.#eF=t}return this.#eF}getWord(t){let e=this.#eD();return D(t>=0&&t<e.length,`invalid word index: ${t}`,"index",t),e[t]}getWordIndex(t){return this.#eD().indexOf(t)}}let uT=null;class uS extends uC{constructor(){super("en","0erleonalorenseinceregesticitStanvetearctssi#ch2Athck&tneLl0And#Il.yLeOutO=S|S%b/ra@SurdU'0Ce[Cid|CountCu'Hie=IdOu,-Qui*Ro[TT]T%T*[Tu$0AptDD-tD*[Ju,M.UltV<)Vi)0Rob-0FairF%dRaid0A(EEntRee0Ead0MRRp%tS!_rmBumCoholErtI&LLeyLowMo,O}PhaReadySoT Ways0A>urAz(gOngOuntU'd0Aly,Ch%Ci|G G!GryIm$K!Noun)Nu$O` Sw T&naTiqueXietyY1ArtOlogyPe?P!Pro=Ril1ChCt-EaEnaGueMMedM%MyOundR<+Re,Ri=RowTTefa@Ti,Tw%k0KPe@SaultSetSi,SumeThma0H!>OmTa{T&dT.udeTra@0Ct]D.Gu,NtTh%ToTumn0Era+OcadoOid0AkeA*AyEsomeFulKw?d0Is:ByChel%C#D+GL<)Lc#y~MbooN<aNn RRelyRga(R*lSeS-SketTt!3A^AnAutyCau'ComeEfF%eG(Ha=H(dLie=LowLtN^Nef./TrayTt Twe&Y#d3Cyc!DKeNdOlogyRdR`Tt _{AdeAmeAnketA,EakE[IndOodO[omOu'UeUrUsh_rdAtDyIlMbNeNusOkO,Rd R(gRrowSsTtomUn)XY_{etA(AndA[A=EadEezeI{Id+IefIghtIngIskOccoliOk&OnzeOomO` OwnUsh2Bb!DdyD+tFf$oIldLbLkL!tNd!Nk Rd&Rg R,SS(e[SyTt Y Zz:Bba+B(B!CtusGeKe~LmM aMpNN$N)lNdyNn#NoeNvasNy#Pab!P.$Pta(RRb#RdRgoRpetRryRtSeShS(o/!Su$TT$ogT^Teg%yTt!UghtU'Ut]Ve3Il(gL yM|NsusNturyRe$Rta(_irAlkAmp]An+AosApt Ar+A'AtEapE{Ee'EfErryE,I{&IefIldIm}yOi)Oo'R#-U{!UnkUrn0G?Nnam#Rc!Tiz&TyVil_imApArifyAwAyE<ErkEv I{I|IffImbIn-IpO{OgO'O`OudOwnUbUmpU, Ut^_^A,C#utDeFfeeIlInL!@L%LumnMb(eMeMf%tM-Mm#Mp<yNc tNdu@NfirmNg*[N}@Nsid NtrolNv()OkOlPp PyR$ReRnR*@/Tt#U^UntryUp!Ur'Us(V Yo>_{Ad!AftAmA}AshAt AwlAzyEamEd.EekEwI{etImeIspIt-OpO[Ou^OwdUci$UelUi'Umb!Un^UshYY,$2BeLtu*PPbo?dRiousRr|Rta(R=Sh]/omTe3C!:DMa+MpN)Ng R(gShUght WnY3AlBa>BrisCadeCemb CideCl(eC%a>C*a'ErF&'F(eFyG*eLayLiv M<dMi'Ni$Nti,NyP?tP&dPos.P`PutyRi=ScribeS tSignSkSpair/royTailTe@VelopVi)Vo>3AgramAlAm#dAryCeE'lEtFf G.$Gn.yLemmaNn NosaurRe@RtSag*eScov Sea'ShSmi[S%d Splay/<)V tVideV%)Zzy5Ct%Cum|G~Lph(Ma(Na>NkeyN%OrSeUb!Ve_ftAg#AmaA,-AwEamE[IftIllInkIpI=OpUmY2CkMbNeR(g/T^Ty1Arf1Nam-:G G!RlyRnR`Sily/Sy1HoOlogyOnomy0GeItUca>1F%t0G1GhtTh 2BowD E@r-Eg<tEm|Eph<tEvat%I>Se0B?kBodyBra)Er+Ot]PloyPow Pty0Ab!A@DD![D%'EmyErgyF%)Ga+G(eH<)JoyLi,OughR-hRollSu*T Ti*TryVelope1Isode0U$Uip0AA'OdeOs]R%Upt0CapeSayS&)Ta>0Ern$H-s1Id&)IlOkeOl=1A@Amp!Ce[Ch<+C.eCludeCu'Ecu>Erci'Hau,Hib.I!I,ItOt-P<dPe@Pi*Pla(Po'P*[T&dTra0EEbrow:Br-CeCultyDeIntI`~L'MeMilyMousNNcyNtasyRmSh]TT$Th TigueUltV%.e3Atu*Bru?yD $EEdElMa!N)/iv$T^V W3B Ct]EldGu*LeLmLt N$NdNeNg NishReRmR,Sc$ShTT}[X_gAmeAshAtAv%EeIghtIpOatO{O%Ow UidUshY_mCusGIlLd~owOdOtR)Re,R+tRkRtu}RumRw?dSsil/ UndX_gi!AmeEqu|EshI&dIn+OgOntO,OwnOz&U.2ElNNnyRna)RyTu*:D+tInLaxy~ yMePRa+Rba+Rd&Rl-Rm|SSpTeTh U+Ze3N $NiusN*Nt!Nu(e/u*2O,0AntFtGg!Ng RaffeRlVe_dAn)A*A[IdeImp'ObeOomOryO=OwUe_tDde[LdOdO'RillaSpelSsipV nWn_bA)A(AntApeA[Av.yEatE&IdIefItOc yOupOwUnt_rdE[IdeIltIt?N3M:B.IrLfMm M, NdPpyRb%RdRshR=,TVeWkZ?d3AdAl`ArtAvyD+hogIght~oLmetLpNRo3Dd&Gh~NtPRe/%y5BbyCkeyLdLeLiday~owMeNeyOdPeRnRr%R'Sp.$/TelUrV 5BGeM<Mb!M%Nd*dNgryNtRd!RryRtSb<d3Brid:1EOn0EaEntifyLe2N%e4LLeg$L}[0A+Ita>M&'Mu}Pa@Po'Pro=Pul'0ChCludeComeC*a'DexD-a>Do%Du,ryF<tFl-tF%mHa!H .Iti$Je@JuryMa>N Noc|PutQuiryS<eSe@SideSpi*/$lTa@T e,ToVe,V.eVol=3On0L<dOla>Sue0Em1Ory:CketGu?RZz3AlousAns~yWel9BInKeUr}yY5D+I)MpNg!Ni%Nk/:Ng?oo3EnEpT^upY3CkDD}yNdNgdomSsTT^&TeTt&Wi4EeIfeO{Ow:BBelB%Dd DyKeMpNgua+PtopR+T T(UghUndryVaWWnWsu.Y Zy3Ad AfArnA=Ctu*FtGG$G&dIsu*M#NdNg`NsOp?dSs#Tt Vel3ArB tyBr?yC&'FeFtGhtKeMbM.NkOnQuid/Tt!VeZ?d5AdAnB, C$CkG-NelyNgOpTt yUdUn+VeY$5CkyGga+Mb N?N^Xury3R-s:Ch(eDG-G}tIdIlInJ%KeMm$NNa+Nda>NgoNs]Nu$P!Rb!R^Rg(R(eRketRria+SkSs/ T^T i$ThTrixTt XimumZe3AdowAnAsu*AtCh<-D$DiaLodyLtMb M%yNt]NuRcyR+R.RryShSsa+T$Thod3Dd!DnightLk~]M-NdNimumN%Nu>Rac!Rr%S ySs/akeXXedXtu*5Bi!DelDifyMM|N.%NkeyN, N`OnR$ReRn(gSqu.oTh T]T%Unta(U'VeVie5ChFf(LeLtiplySc!SeumShroomS-/Tu$3Self/ yTh:I=MePk(Rrow/yT]Tu*3ArCkEdGati=G!@I` PhewR=/TTw%kUtr$V WsXt3CeGht5B!I'M(eeOd!Rm$R`SeTab!TeTh(gTi)VelW5C!?Mb R'T:K0EyJe@Li+Scu*S =Ta(Vious0CurE<Tob 0Or1FF Fi)T&2L1Ay0DI=Ymp-0It0CeEI#L(eLy1EnEraIn]Po'T]1An+B.Ch?dD D(?yG<I|Ig($Ph<0Tr-h0H 0Tdo%T TputTside0AlEnEr0NN 0Yg&0/ 0O}:CtDd!GeIrLa)LmNdaNelN-N` P RadeR|RkRrotRtySsT^ThTi|TrolTt nU'VeYm|3A)AnutArAs<tL-<NN$tyNcilOp!Pp [email protected]#T2O}
1OtoRa'Ys-$0AnoCn-Ctu*E)GGe#~LotNkO} Pe/olT^Zza_)A}tA,-A>AyEa'Ed+U{UgUn+2EmEtIntL?LeLi)NdNyOlPul?Rt]S.]Ssib!/TatoTt yV tyWd W _@i)Ai'Ed-tEf Epa*Es|EttyEv|I)IdeIm?yIntI%.yIs#Iva>IzeOb!mO)[Odu)Of.OgramOje@Omo>OofOp tyOsp O>@OudOvide2Bl-Dd(g~LpL'Mpk(N^PilPpyR^a'R.yRpo'R'ShTZz!3Ramid:99Al.yAntumArt E,]I{ItIzO>:Bb.Cco#CeCkD?DioIlInI'~yMpN^NdomN+PidReTeTh V&WZ%3AdyAlAs#BelBuildC$lCei=CipeC%dCyc!Du)F!@F%mFu'G]G*tGul?Je@LaxLea'LiefLyMa(Memb M(dMo=Nd NewNtOp&PairPeatPla)P%tQui*ScueSemb!Si,Sour)Sp#'SultTi*T*atTurnUn]Ve$ViewW?d2Y`m0BBb#CeChDeD+F!GhtGidNgOtPp!SkTu$V$V 5AdA,BotBu,CketM<)OfOkieOmSeTa>UghUndU>Y$5Bb DeGLeNNwayR$:DDd!D}[FeIlLadLm#L#LtLu>MeMp!NdTisfyToshiU)Usa+VeY1A!AnA*Att E}HemeHoolI&)I[%sOrp]OutRapRe&RiptRub1AAr^As#AtC#dC*tCt]Cur.yEdEkGm|Le@~M(?Ni%N'Nt&)RiesRvi)Ss]Tt!TupV&_dowAftAllowA*EdEllEriffIeldIftI}IpIv O{OeOotOpOrtOuld O=RimpRugUff!Y0Bl(gCkDeE+GhtGnL|Lk~yLv Mil?Mp!N)NgR&/ Tua>XZe1A>Et^IIllInIrtUll0AbAmEepEnd I)IdeIghtImOg<OtOwUsh0AllArtI!OkeOo`0A{AkeApIffOw0ApCc Ci$CkDaFtL?Ldi LidLut]L=Me#eNgOnRryRtUlUndUpUr)U`0A)A*Ati$AwnEakEci$EedEllEndH eI)Id IkeInIr.L.OilOns%O#OrtOtRayReadR(gY0Ua*UeezeUir*l_b!AdiumAffA+AirsAmpAndArtA>AyEakEelEmEpE*oI{IllIngO{Oma^O}OolOryO=Ra>gyReetRikeR#gRugg!Ud|[email protected])[ChDd&Ff G?G+,ItMm NNnyN'tP PplyP*meReRfa)R+Rpri'RroundR=ySpe@/a(1AllowAmpApArmE?EetIftImIngIt^Ord1MbolMptomRup/em:B!Ck!GIlL|LkNkPeR+tSk/eTtooXi3A^Am~NN<tNnisNtRm/Xt_nkAtEmeEnE%yE*EyIngIsOughtReeRi=RowUmbUnd 0CketDeG LtMb MeNyPRedSsueT!5A,BaccoDayDdl EGe` I!tK&MatoM%rowNeNgueNightOlO`PP-Pp!R^RnadoRtoi'SsT$Uri,W?dW WnY_{AdeAff-Ag-A(Ansf ApAshA=lAyEatEeEndI$IbeI{Igg ImIpOphyOub!U{UeUlyUmpetU,U`Y2BeIt]Mb!NaN}lRkeyRnRt!1El=EntyI)InI,O1PeP-$:5Ly5B*lla0Ab!Awa*C!Cov D DoFairFoldHappyIf%mIqueItIv 'KnownLo{TilUsu$Veil1Da>GradeHoldOnP Set1B<Ge0A+EEdEfulE![U$0Il.y:C<tCuumGueLidL!yL=NNishP%Rious/Ult3H-!L=tNd%Ntu*NueRbRifyRs]RyS'lT <3Ab!Br<tCiousCt%yDeoEw~a+Nta+Ol(Rtu$RusSaS.Su$T$Vid5C$I)IdLc<oLumeTeYa+:GeG#ItLk~LnutNtRfa*RmRri%ShSp/eT VeY3Al`Ap#ArA'lA` BDd(gEk&dIrdLcome/T_!AtEatEelEnE*IpIsp 0DeD`FeLd~NNdowNeNgNkNn Nt ReSdomSeShT}[5LfM<Nd OdOlRdRkRldRryR`_pE{E,!I,I>Ong::Rd3Ar~ow9UUngU`:3BraRo9NeO","0x3c8acc1e7b08d8e76f9fda015ef48dc8c710a73cb7e0f77b2c18a9b5a7adde60")}static wordlist(){return null==uT&&(uT=new uS),uT}}function uB(t){return(1<<t)-1<<8-t&255}function uU(t,e){G("NFKD"),null==e&&(e=uS.wordlist());let r=e.split(t);D(r.length%3==0&&r.length>
1=12&&r.length<=24,"invalid mnemonic length","mnemonic","[ REDACTED ]");let n=new Uint8Array(Math.ceil(11*r.length/8)),i=0;for(let t=0;t<r.length;t++){let s=e.getWordIndex(r[t].normalize("NFKD"));D(s>=0,`invalid mnemonic word at index ${t}`,"mnemonic","[ REDACTED ]");for(let t=0;t<11;t++)s&1<<10-t&&(n[i>>3]|=1<<7-i%8),i++}let s=32*r.length/3,a=uB(r.length/3);return D((z(iW(n.slice(0,s/8)))[0]&a)==(n[n.length-1]&a),"invalid mnemonic checksum","mnemonic","[ REDACTED ]"),J(n.slice(0,s/8))}function uF(t,e){D(t.length%4==0&&t.length>=16&&t.length<=32,"invalid entropy size","entropy","[ REDACTED ]"),null==e&&(e=uS.wordlist());let r=[0],n=11;for(let e=0;e<t.length;e++)n>8?(r[r.length-1]<<=8,r[r.length-1]|=t[e],n-=8):(r[r.length-1]<<=n,r[r.length-1]|=t[e]>>8-n,r.push(t[e]&((1<<8-n)-1&255)),n+=3);let i=t.length/4,s=parseInt(iW(t).substring(2,4),16)&uB(i);return r[r.length-1]<<=i,r[r.length-1]|=s>>8-i,e.join(r.map(t=>e.getWord(t)))}let uD={};class uL{phrase;password;wordlist;entropy;constructor(t,e,r,n,i){null==n&&(n=""),null==i&&(i=uS.wordlist()),H(t,uD,"Mnemonic"),C(this,{phrase:r,password:n,wordlist:i,entropy:e})}computeSeed(){let t=ti("mnemonic"+this.password,"NFKD");return iP(ti(this.phrase,"NFKD"),t,2048,64,"sha512")}static fromPhrase(t,e,r){let n=uU(t,r);return t=uF(z(n),r),new uL(uD,n,t,e,r)}static fromEntropy(t,e,r){let n=z(t,"entropy"),i=uF(n,r);return new uL(uD,J(n),i,e,r)}static entropyToPhrase(t,e){return uF(z(t,"entropy"),e)}static phraseToEntropy(t,e){return uU(t,e)}static isValidMnemonic(t,e){try{return uU(t,e),!0}catch(t){}return!1}}class uM extends ld{address;#eL;constructor(t,e){super(e),D(t&&"function"==typeof t.sign,"invalid private key","privateKey","[ REDACTED ]"),this.#eL=t,C(this,{address:aA(this.signingKey.publicKey)})}get signingKey(){return this.#eL}get privateKey(){return this.signingKey.privateKey}async getAddress(){return this.address}connect(t){return new uM(this.#eL,t)}async signTransaction(t){t=ne(t);let{to:e,from:r}=await O({to:t.to?rW(t.to,this):void 0,from:t.from?rW(t.from,this):void 0});null!=e&&(t.to=e),null!=r&&(t.from=r),null!=t.from&&(D(ev(t.from)===this.address,"transaction from address mismatch","tx.from",t.from),delete t.from);let n=oS.from(t);return n.signature=this.signingKey.sign(n.unsignedHash),n.serialized}async signMessage(t){return this.signMessageSync(t)}signMessageSync(t){return this.signingKey.sign(aP(t)).serialized}authorizeSync(t){D("string"==typeof t.address,"invalid address for authorizeSync","auth.address",t);let e=this.signingKey.sign(av(t));return Object.assign({},{address:ev(t.address),nonce:tp(t.nonce||0),chainId:tp(t.chainId||0)},{signature:e})}async authorize(t){return t=Object.assign({},t,{address:await rW(t.address,this)}),this.authorizeSync(await this.populateAuthorization(t))}async signTypedData(t,e,r){let n=await aK.resolveNames(t,e,r,async t=>{F(null!=this.provider,"cannot resolve ENS names without a provider","UNSUPPORTED_OPERATION",{operation:"resolveName",info:{name:t}});let e=await this.provider.resolveName(t);return F(null!=e,"unconfigured ENS name","UNCONFIGURED_NAME",{value:t}),e});return this.signingKey.sign(aK.hash(n.domain,e,n.value)).serialized}}/*! MIT License. Copyright 2015-2022 Richard Moore <[email protected]>. See LICENSE.txt. */var uG=function(t,e,r,n){if("a"===r&&!n)throw TypeError("Private accessor was defined without a getter");if("function"==typeof e?t!==e||!n:!e.has(t))throw TypeError("Cannot read private member from an object whose class did not declare it");return"m"===r?n:"a"===r?n.call(t):n?n.value:e.get(t)},uH=function(t,e,r,n,i){if("m"===n)throw TypeError("Private method is not writable");if("a"===n&&!i)throw TypeError("Private accessor was defined without a setter");if("function"==typeof e?t!==e||!i:!e.has(t))throw TypeError("Cannot write private member to an object whose class did not declare it");return"a"===n?i.call(t,r):i?i.value=r:e.set(t,r),r};let uV={16:10,24:12,32:14},uz=[1,2,4,8,16,32,64,128,27,54,108,216,171,77,154,47,94,188,99,198,151,53,106,212,179,125,250,239,197,145],uj=[99,124,119,123,242,107,111,197,48,1,103,43,254,215,171,118,202,130,201,125,250,89,71,240,173,212,162,175,156,164,114,192,183,253,147,38,54,63,247,204,52,165,229,241,113,216,49,21,4,199,35,195,24,150,5,154,7,18,128,226,235,39,178,117,9,131,44,26,27,110,9
10,160,82,59,214,179,41,227,47,132,83,209,0,237,32,252,177,91,106,203,190,57,74,76,88,207,208,239,170,251,67,77,51,133,69,249,2,127,80,60,159,168,81,163,64,143,146,157,56,245,188,182,218,33,16,255,243,210,205,12,19,236,95,151,68,23,196,167,126,61,100,93,25,115,96,129,79,220,34,42,144,136,70,238,184,20,222,94,11,219,224,50,58,10,73,6,36,92,194,211,172,98,145,149,228,121,231,200,55,109,141,213,78,169,108,86,244,234,101,122,174,8,186,120,37,46,28,166,180,198,232,221,116,31,75,189,139,138,112,62,181,102,72,3,246,14,97,53,87,185,134,193,29,158,225,248,152,17,105,217,142,148,155,30,135,233,206,85,40,223,140,161,137,13,191,230,66,104,65,153,45,15,176,84,187,22],uQ=[82,9,106,213,48,54,165,56,191,64,163,158,129,243,215,251,124,227,57,130,155,47,255,135,52,142,67,68,196,222,233,203,84,123,148,50,166,194,35,61,238,76,149,11,66,250,195,78,8,46,161,102,40,217,36,178,118,91,162,73,109,139,209,37,114,248,246,100,134,104,152,22,212,164,92,204,93,101,182,146,108,112,72,80,253,237,185,218,94,21,70,87,167,141,157,132,144,216,171,0,140,188,211,10,247,228,88,5,184,179,69,6,208,44,30,143,202,63,15,2,193,175,189,3,1,19,138,107,58,145,17,65,79,103,220,234,151,242,207,206,240,180,230,115,150,172,116,34,231,173,53,133,226,249,55,232,28,117,223,110,71,241,26,113,29,41,197,137,111,183,98,14,170,24,190,27,252,86,62,75,198,210,121,32,154,219,192,254,120,205,90,244,31,221,168,51,136,7,199,49,177,18,16,89,39,128,236,95,96,81,127,169,25,181,74,13,45,229,122,159,147,201,156,239,160,224,59,77,174,42,245,176,200,235,187,60,131,83,153,97,23,43,4,126,186,119,214,38,225,105,20,99,85,33,12,125],u_=[3328402341,4168907908,4000806809,4135287693,4294111757,3597364157,3731845041,2445657428,1613770832,33620227,3462883241,1445669757,3892248089,3050821474,1303096294,3967186586,2412431941,528646813,2311702848,4202528135,4026202645,2992200171,2387036105,4226871307,1101901292,3017069671,1604494077,1169141738,597466303,1403299063,3832705686,2613100635,1974974402,3791519004,1033081774,1277568618,1815492186,2118074177,4126668546,2211236943,1748251740,1369810420,3521504564,4193382664,3799085459,2883115123,1647391059,706024767,134480908,2512897874,1176707941,2646852446,806885416,932615841,168101135,798661301,235341577,605164086,461406363,3756188221,3454790438,1311188841,2142417613,3933566367,302582043,495158174,1479289972,874125870,907746093,3698224818,3025820398,1537253627,2756858614,1983593293,3084310113,2108928974,1378429307,3722699582,1580150641,327451799,2790478837,3117535592,0,3253595436,1075847264,3825007647,2041688520,3059440621,3563743934,2378943302,1740553945,1916352843,2487896798,2555137236,2958579944,2244988746,3151024235,3320835882,1336584933,3992714006,2252555205,2588757463,1714631509,293963156,2319795663,3925473552,67240454,4269768577,2689618160,2017213508,631218106,1269344483,2723238387,1571005438,2151694528,93294474,1066570413,563977660,1882732616,4059428100,16733
113503,2008463041,2950355573,1109467491,537923632,3858759450,4260623118,3218264685,2177748300,403442708,638784309,3287084079,3193921505,899127202,2286175436,773265209,2479146071,1437050866,4236148354,2050833735,3362022572,3126681063,840505643,3866325909,3227541664,427917720,2655997905,2749160575,1143087718,1412049534,999329963,193497219,2353415882,3354324521,1807268051,672404540,2816401017,3160301282,369822493,2916866934,3688947771,1681011286,1949973070,336202270,2454276571,201721354,1210328172,3093060836,2680341085,3184776046,1135389935,3294782118,965841320,831886756,3554993207,4068047243,3588745010,2345191491,1849112409,3664604599,26054028,2983581028,2622377682,1235855840,3630984372,2891339514,4092916743,3488279077,3395642799,4101667470,1202630377,268961816,1874508501,4034427016,1243948399,1546530418,941366308,1470539505,1941222599,2546386513,3421038627,2715671932,3899946140,1042226977,2521517021,1639824860,227249030,260737669,3765465232,2084453954,1907733956,3429263018,2420656344,100860677,4160157185,470683154,3261161891,1781871967,2924959737,1773779408,394692241,2579611992,974986535,664706745,3655459128,3958962195,731420851,571543859,3530123707,2849626480,126783113,865375399,765172662,1008606754,361203602,3387549984,2278477385,2857719295,1344809080,2782912378,59542671,1503764984,160008576,437062935,1707065306,3622233649,2218934982,3496503480,2185314755,697932208,1512910199,504303377,2075177163,2824099068,1841019862,739644986],uK=[2781242211,2230877308,2582542199,2381740923,234877682,3184946027,2984144751,1418839493,1348481072,50462977,2848876391,2102799147,434634494,1656084439,3863849899,2599188086,1167051466,2636087938,1082771913,2281340285,368048890,3954334041,3381544775,201060592,3963727277,1739838676,4250903202,3930435503,3206782108,4149453988,2531553906,1536934080,3262494647,484572669,2923271059,1783375398,1517041206,1098792767,49674231,1334037708,1550332980,4098991525,886171109,150598129,2481090929,1940642008,1398944049,1059722517,201851908,1385547719,1699095331,1587397571,674240536,2704774806,252314885,3039795866,151914247,908333586,2602270848,1038082786,651029483,1766729511,3447698098,2682942837,454166793,2652734339,1951935532,775166490,758520603,3000790638,4004797018,4217086112,4137964114,1299594043,1639438038,3464344499,2068982057,1054729187,1901997871,2534638724,4121318227,1757008337,0,750906861,1614815264,535035132,3363418545,3988151131,3201591914,1183697867,3647454910,1265776953,3734260298,3566750796,3903871064,1250283471,1807470800,717615087,3847203498,384695291,3313910595,3617213773,1432761139,2484176261,3481945413,283769337,100925954,2180939647,4037038160,1148730428,3123027871,3813386408,4087501137,4267549603,3229630528,2315620239,2906624658,3156319645,1215313976,82966005,3747855548,3245848246,1974459098,1665278241,807407632,451280895,251524083,1841287890,1283575245,337120268,891687699,801369324,3787349855,2721421207,3431482436,959321879,1469301956,4065699751,2197585534,1199193405,2898814052,3887750493,724703513,2514908019,2696962144,2551808385,3516813135,2141445340,1715741218,2119445034,2872807568,2198571144,3398190662,700968686,3547052216,1009259540,2041044702,3803995742,487983883,1991105499,1004265696,1449407026,1316239930,504629770,3683797321,168560134,1816667172,3837287516,1570751170,1857934291,4014189740,2797888098,2822345105,2754712981,936633572,2347923833,852879335,1133234376,1500395319,3084545389,2348912013,1689376213,3533459022,3762923945,3034082412,4205598294,133428468,634383082,2949277029,2398386810,3913789102,403703816,3580869306,2297460856,1867130149,1918643758,607656988,4049053350,3346248884,1368901318,600565992,2090982877,2632479860,557719327,3717614411,3697393085,2249034635,2232388234,2430627952,1115438654,3295786421,2865522278,3633334344,84280067,33027830,303828494,2747425121,1600795957,4188952407,3496589753,2434238086,1486471617,658119965,3106381470,953803233,334231800,3005978776,857870609,3151128937,1890179545,2298973838,2805175444,3056442267,574365214,2450884487,550103529,1233637070,4289353045,2018519080,2057691103,2399374476,4166623649,2148108681,387583245,3664101311,836232934,3330556482,3100665960,3280093505,2955516313,2002398509,287182607,3413881008,4238890068,3597515707,975967766],uJ=[1671808611,2089089148,2006576759,2072901243,4061003762,1807603307,1873927791,3310653893,810573872,16974337,1739181671,729634347,4263110654,3613570519,2883997099,1989864566,3393556426,2191335298,3376449993,2106063485,4195741690,1508618841,1204391495,4027317232,2917941677,3563566036,2734514082,2951366063,2629772188,2767672228,1922491506,3227229120,3082974647,4246528509,2477669779,644500518,911895606,1061256767,4144166391,3427763148,878471220,2784252325,3845444069,4043897329,1905517169,3631459288,827548209,356461077,67897348,3344078279,593839651,3277757891,405286936,2527147926,84871685,2595565466,118033927,305538066,2157648768,3795705826,3945188843,661212711,2999812018,1973414517,152769033,2208177539,745822252,439235610,455947803,1857215598,1525593178,2700827552,1391895634,994932283,3596728278,3016654259,695947817,3812548067,795958831,2224493444,1408607827,3513301457,0,3979133421,543178784,4229948412,2982705585,1542305371,1790891114,3410398667,3201918910,961245753,1256100938,1289001036,1491644504,3477767631,3496721360,4012557807,2867154858,4212583931,1137018435,1305975373,861234739,2241073541,1171229253,4178635257,33948674,2139225727,1357946960,1011120188,2679776671,2833468328,1374921297,2751356323,1086357568,2408187279,2460827538,2646352285,944271416,4110742005,3168756668,3066132406,3665145818,560153121,271589392,4279952895,4077846003,3530407890,3444343245,202643468,322250259,3962553324,1608629855,2543990167,1154254916,389
1623319,3294073796,2817676711,2122513534,1028094525,1689045092,1575467613,422261273,1939203699,1621147744,2174228865,1339137615,3699352540,577127458,712922154,2427141008,2290289544,1187679302,3995715566,3100863416,339486740,3732514782,1591917662,186455563,3681988059,3762019296,844522546,978220090,169743370,1239126601,101321734,611076132,1558493276,3260915650,3547250131,2901361580,1655096418,2443721105,2510565781,3828863972,2039214713,3878868455,3359869896,928607799,1840765549,2374762893,3580146133,1322425422,2850048425,1823791212,1459268694,4094161908,3928346602,1706019429,2056189050,2934523822,135794696,3134549946,2022240376,628050469,779246638,472135708,2800834470,3032970164,3327236038,3894660072,3715932637,1956440180,522272287,1272813131,3185336765,2340818315,2323976074,1888542832,1044544574,3049550261,1722469478,1222152264,50660867,4127324150,236067854,1638122081,895445557,1475980887,3117443513,2257655686,3243809217,489110045,2662934430,3778599393,4162055160,2561878936,288563729,1773916777,3648039385,2391345038,2493985684,2612407707,505560094,2274497927,3911240169,3460925390,1442818645,678973480,3749357023,2358182796,2717407649,2306869641,219617805,3218761151,3862026214,1120306242,1756942440,1103331905,2578459033,762796589,252780047,2966125488,1425844308,3151392187,372911126],uq=[1667474886,2088535288,2004326894,2071694838,4075949567,1802223062,1869591006,3318043793,808472672,16843522,1734846926,724270422,4278065639,3621216949,2880169549,1987484396,3402253711,2189597983,3385409673,2105378810,4210693615,1499065266,1195886990,4042263547,2913856577,3570689971,2728590687,2947541573,2627518243,2762274643,1920112356,3233831835,3082273397,4261223649,2475929149,640051788,909531756,1061110142,4160160501,3435941763,875846760,2779116625,3857003729,4059105529,1903268834,3638064043,825316194,353713962,67374088,3351728789,589522246,3284360861,404236336,2526454071,84217610,2593830191,117901582,303183396,2155911963,3806477791,3958056653,656894286,2998062463,1970642922,151591698,2206440989,741110872,437923380,454765878,1852748508,1515908788,2694904667,1381168804,993742198,3604373943,3014905469,690584402,3823320797,791638366,2223281939,1398011302,3520161977,0,3991743681,538992704,4244381667,2981218425,1532751286,1785380564,3419096717,3200178535,960056178,1246420628,1280103576,1482221744,3486468741,3503319995,4025428677,2863326543,4227536621,1128514950,1296947098,859002214,2240123921,1162203018,4193849577,33687044,2139062782,1347481760,1010582648,2678045221,2829640523,1364325282,2745433693,1077985408,2408548869,2459086143,2644360225,943212656,4126475505,3166494563,3065430391,3671750063,555836226,269496352,4294908645,4092792573,3537006015,3452783745,202118168,320025894,3974901699,1600119230,2543297077,1145359496,387397934,3301201811,2812801621,2122220284,1027426170,1684319432,1566435258,421079858,1936954854,1616945344,2172753945,1330631070,3705438115,572679748,707427924,2425400123,2290647819,1179044492,4008585671,3099120491,336870440,3739122087,1583276732,185277718,3688593069,3772791771,842159716,976899700,168435220,1229577106,101059084,606366792,1549591736,3267517855,3553849021,2897014595,1650632388,2442242105,2509612081,3840161747,2038008818,3890688725,3368567691,926374254,1835907034,2374863873,3587531953,1313788572,2846482505,1819063512,1448540844,4109633523,3941213647,1701162954,2054852340,2930698567,134748176,3132806511,2021165296,623210314,774795868,471606328,2795958615,3031746419,3334885783,3907527627,3722280097,1953799400,522133822,1263263126,3183336545,2341176845,2324333839,1886425312,1044267644,3048588401,1718004428,1212733584,50529542,4143317495,235803164,1633788866,892690282,1465383342,3115962473,2256965911,3250673817,488449850,2661202215,3789633753,4177007595,2560144171,286339874,1768537042,3654906025,2391705863,2492770099,2610673197,505291324,2273808917,3924369609,3469625735,1431699370,673740880,3755965093,2358021891,2711746649,2307489801,218961690,3217021541,3873845719,1111672452,1751693520,1094828930,2576986153,757954394,252645662,2964376443,1414855848,3149649517,370555436],uW=[1374988112,2118214995,437757123,975658646,1001089995,530400753,2902087851,1273168787,540080725,2910219766,2295101073,4110568485,1340463100,3307916247,641025152,3043140495,3736164937,
1632953703,1172967064,1576976609,3274667266,2169303058,2370213795,1809054150,59727847,361929877,3211623147,2505202138,3569255213,1484005843,1239443753,2395588676,1975683434,4102977912,2572697195,666464733,3202437046,4035489047,3374361702,2110667444,1675577880,3843699074,2538681184,1649639237,2976151520,3144396420,4269907996,4178062228,1883793496,2403728665,2497604743,1383856311,2876494627,1917518562,3810496343,1716890410,3001755655,800440835,2261089178,3543599269,807962610,599762354,33778362,3977675356,2328828971,2809771154,4077384432,1315562145,1708848333,101039829,3509871135,3299278474,875451293,2733856160,92987698,2767645557,193195065,1080094634,1584504582,3178106961,1042385657,2531067453,3711829422,1306967366,2438237621,1908694277,67556463,1615861247,429456164,3602770327,2302690252,1742315127,2968011453,126454664,3877198648,2043211483,2709260871,2084704233,4169408201,0,159417987,841739592,504459436,1817866830,4245618683,260388950,1034867998,908933415,168810852,1750902305,2606453969,607530554,202008497,2472011535,3035535058,463180190,2160117071,1641816226,1517767529,470948374,3801332234,3231722213,1008918595,303765277,235474187,4069246893,766945465,337553864,1475418501,2943682380,4003061179,2743034109,4144047775,1551037884,1147550661,1543208500,2336434550,3408119516,3069049960,3102011747,3610369226,1113818384,328671808,2227573024,2236228733,3535486456,2935566865,3341394285,496906059,3702665459,226906860,2009195472,733156972,2842737049,294930682,1206477858,2835123396,2700099354,1451044056,573804783,2269728455,3644379585,2362090238,2564033334,2801107407,2776292904,3669462566,1068351396,742039012,1350078989,1784663195,1417561698,4136440770,2430122216,775550814,2193862645,2673705150,1775276924,1876241833,3475313331,3366754619,270040487,3902563182,3678124923,3441850377,1851332852,3969562369,2203032232,3868552805,2868897406,566021896,4011190502,3135740889,1248802510,3936291284,699432150,832877231,708780849,3332740144,899835584,1951317047,4236429990,3767586992,866637845,4043610186,1106041591,2144161806,395441711,1984812685,1139781709,3433712980,3835036895,2664543715,1282050075,3240894392,1181045119,2640243204,25965917,4203181171,4211818798,3009879386,2463879762,3910161971,1842759443,2597806476,933301370,1509430414,3943906441,3467192302,3076639029,3776767469,2051518780,2631065433,1441952575,404016761,1942435775,1408749034,1610459739,3745345300,2017778566,3400528769,3110650942,941896748,3265478751,371049330,3168937228,675039627,4279080257,967311729,135050206,3635733660,1683407248,2076935265,3576870512,1215061108,3501741890],uZ=[1347548327,1400783205,3273267108,2520393566,3409685355,4045380933,2880240216,2471224067,1428173050,4138563181,2441661558,636813900,4233094615,3620022987,2149987652,2411029155,1239331162,1730525723,2554718734,3781033664,46346101,310463728,2743944855,3328955385,3875770207,2501218972,3955191162,3667219033,768917123,3545789473,692707433,1150208456,1786102409,2029293177,1805211710,3710368113,3065962831,401639597,1724457132,3028143674,409198410,2196052529,1620529459,1164071807,3769721975,2226875310,486441376,2499348523,1483753576,428819965,2274680428,3075636216,598438867,3799141122,1474502543,711349675,129166120,53458370,2592523643,2782082824,4063242375,2988687269,3120694122,1559041666,730517276,2460449204,4042459122,2706270690,3446004468,3573941694,533804130,2328143614,2637442643,2695033685,839224033,1973745387,957055980,2856345839,106852767,1371368976,4181598602,1033297158,2933734917,1179510461,3046200461,91341917,1862534868,4284502037,605657339,2547432937,3431546947,2003294622,3182487618,2282195339,954669403,3682191598,1201765386,3917234703,3388507166,0,2198438022,1211247597,2887651696,1315723890,4227665663,1443857720,507358933,657861945,1678381017,560487590,3516619604,975451694,2970356327,261314535,3535072918,2652609425,1333838021,2724322336,1767536459,370938394,182621114,3854606378,1128014560,487725847,185469197,2918353863,3106780840,3356761769,2237133081,1286567175,3152976349,4255350624,2683765030,3160175349,3309594171,878443390,1988838185,3704300486,1756818940,1673061617,3403100636,272786309,1075025698,545572369,2105887268,4174560061,296679730,1841768865,1260232239,4091327024,3960309330,3497509347,1814803222,2578018489,4195456072,575138148,3299409036,446754879,3629546796,4011996048,3347532110,3252238545,4270639778,915985419,3483825537,681933534,651868046,2755636671,3828103837,223377554,2607439820,1649704518,3270937875,3901806776,1580087799,4118987695,3198115200,2087309459,2842678573,3016697106,1003007129,2802849917,1860738147,2077965243,164439672,4100872472,32283319,2827177882,1709610350,2125135846,136428751,3874428392,3652904859,3460984630,3572145929,3593056380,2939266226,824852259,818324884,3224740454,930369212,2801566410,2967507152,355706840,1257309336,4148292826,243256656,790073846,2373340630,1296297904,1422699085,3756299780,3818836405,457992840,3099667487,2135319889,77422314,1560382517,1945798516,788204353,1521706781,1385356242,870912086,325965383,2358957921,2050466060,2388260884,2313884476,4006521127,901210569,3990953189,1014646705,1503449823,1062597235,2031621326,3212035895,3931371469,1533017514,350174575,2256028891,2177544179,1052338372,741876788,1606591296,1914052035,213705253,2334669897,1107234197,1899603969,3725069491,2631447780,2422494913,1635502980,1893020342,1950903388,1120974935],uY=[2807058932,1699970625,2764249623,1586903591,1808481195,1173430173,1487645946,59984867,4199882800,1844882806,1989249228,1277555970,3623636965,3419915562,1149249077,2744104290,1514790577,459744698,244860394,3235995134,1963115311,4027744588,2544078150,4190530515,1608975247,2627016082,2062270317,1507497298,2200818878,567498868,1764313568,3359936201,2305455554,2037970062,1047239e3,1910319033,1337376481,2904027272,2892417312,984907214,1243112415,830661914,861968209,2135253587,2011214180,2927934315,2686254721,731183368,1750626376,4246310725,1820824798,4172763771,3542330227,48394827,2404901663,2871682645,671593195,3254988725,2073724613,145085239,2280796200,2779915199,1790575107,2187128086,472615631,3029510009,4075877127,3802222185,4107101658,3201631749,1646252340,4270507174,1402811438,1436590835,3778151818,3950355702,3963161475,4020912224,2667994737,273792366,2331590177,104699613,95345982,3175501286,2377486676,1560637892,3564045318,369057872,4213447064,3919042237,1137477952,2658625497,1119727848,2340947849,1530455833,4007360968,172466556,266959938,516552836,0,2256734592,3980931627,1890328081,1917742170,4294704398,945164165,3575528878,958871085,3647212047,2787207260,1423022939,775562294,1739656202,3876557655,2530391278,2443058075,3310321856,547512796,1265195639,437656594,3121275539,719700128,3762502690,387781147,218828297,3350065803,2830708150,2848461854,428169201,122466165,3720081049,1627235199,648017665,4122762354,1002783846,2117360635,695634755,3336358691,4234721005,4049844452,3704280881,2232435299,574624663,287343814,612205898,1039717051,840019705,2708326185,793451934,821288114,1391201670,3822090177,376187827,3113855344,1224348052,1679968233,2361698556,1058709744,752375421,2431590963,1321699145,3519142200,2734591178,188127444,2177869557,3727205754,2384911031,3215212461,2648976442,2450346104,3432737375,1180849278,331544205,3102249176,4150144569,2952102595,2159976285,2474404304,766078933,313773861,2570832044,2108100632,1668212892,3145456443,2013908262,418672217,3070356634,2594734927,1852171925,3867060991,3473416636,3907448597,2614737639,919489135,164948639,2094410160,2997825956,590424639,2486224549,1723872674,3157750862,3399941250,3501252752,3625268135,2555048196,3673637356,1343127501,4130281361,3599595085,2957853679,12974
103050,81781910,3051593425,2283490410,532201772,1367295589,3926170974,895287692,1953757831,1093597963,492483431,3528626907,1446242576,1192455638,1636604631,209336225,344873464,1015671571,669961897,3375740769,3857572124,2973530695,3747192018,1933530610,3464042516,935293895,3454686199,2858115069,1863638845,3683022916,4085369519,3292445032,875313188,1080017571,3279033885,621591778,1233856572,2504130317,24197544,3017672716,3835484340,3247465558,2220981195,3060847922,1551124588,1463996600],uX=[4104605777,1097159550,396673818,660510266,2875968315,2638606623,4200115116,3808662347,821712160,1986918061,3430322568,38544885,3856137295,718002117,893681702,1654886325,2975484382,3122358053,3926825029,4274053469,796197571,1290801793,1184342925,3556361835,2405426947,2459735317,1836772287,1381620373,3196267988,1948373848,3764988233,3385345166,3263785589,2390325492,1480485785,3111247143,3780097726,2293045232,548169417,3459953789,3746175075,439452389,1362321559,1400849762,1685577905,1806599355,2174754046,137073913,1214797936,1174215055,3731654548,2079897426,1943217067,1258480242,529487843,1437280870,3945269170,3049390895,3313212038,923313619,679998e3,3215307299,57326082,377642221,3474729866,2041877159,133361907,1776460110,3673476453,96392454,878845905,2801699524,777231668,4082475170,2330014213,4142626212,2213296395,1626319424,1906247262,1846563261,562755902,3708173718,1040559837,3871163981,1418573201,3294430577,114585348,1343618912,2566595609,3186202582,1078185097,3651041127,3896688048,2307622919,425408743,3371096953,2081048481,1108339068,2216610296,0,2156299017,736970802,292596766,1517440620,251657213,2235061775,2933202493,758720310,265905162,1554391400,1532285339,908999204,174567692,1474760595,4002861748,2610011675,3234156416,3693126241,2001430874,303699484,2478443234,2687165888,585122620,454499602,151849742,2345119218,3064510765,514443284,4044981591,1963412655,2581445614,2137062819,19308535,1928707164,1715193156,4219352155,1126790795,600235211,3992742070,3841024952,836553431,1669664834,2535604243,3323011204,1243905413,3141400786,4180808110,698445255,2653899549,2989552604,2253581325,3252932727,3004591147,1891211689,2487810577,3915653703,4237083816,4030667424,2100090966,865136418,1229899655,953270745,3399679628,3557504664,4118925222,2061379749,3079546586,2915017791,983426092,2022837584,1607244650,2118541908,2366882550,3635996816,972512814,3283088770,1568718495,3499326569,3576539503,621982671,2895723464,410887952,2623762152,1002142683,645401037,1494807662,2595684844,1335535747,2507040230,4293295786,3167684641,367585007,3885750714,1865862730,2668221674,2960971305,2763173681,1059270954,2777952454,2724642869,1320957812,2194319100,2429595872,2815956275,77089521,3973773121,3444575871,2448830231,1305906550,4021308739,2857194700,2516901860,3518358430,1787304780,740276417,1699839814,1592394909,2352307457,2272556026,188821243,1729977011,3687994002,274084841,3594982253,3613494426,2701949495,4162096729,322734571,2837966542,1640576439,484830689,1202797690,3537852828,4067639125,349075736,3342319475,4157467219,4255800159,1030690015,1155237496,2951971274,1757691577,60
17398968,2738905026,499347990,3794078908,1011452712,227885567,2818666809,213114376,3034881240,1455525988,3414450555,850817237,1817998408,3092726480],u$=[0,235474187,470948374,303765277,941896748,908933415,607530554,708780849,1883793496,2118214995,1817866830,1649639237,1215061108,1181045119,1417561698,1517767529,3767586992,4003061179,4236429990,4069246893,3635733660,3602770327,3299278474,3400528769,2430122216,2664543715,2362090238,2193862645,2835123396,2801107407,3035535058,3135740889,3678124923,3576870512,3341394285,3374361702,3810496343,3977675356,4279080257,4043610186,2876494627,2776292904,3076639029,3110650942,2472011535,2640243204,2403728665,2169303058,1001089995,899835584,666464733,699432150,59727847,226906860,530400753,294930682,1273168787,1172967064,1475418501,1509430414,1942435775,2110667444,1876241833,1641816226,2910219766,2743034109,2976151520,3211623147,2505202138,2606453969,2302690252,2269728455,3711829422,3543599269,3240894392,3475313331,3843699074,3943906441,4178062228,4144047775,1306967366,1139781709,1374988112,1610459739,1975683434,2076935265,1775276924,1742315127,1034867998,866637845,566021896,800440835,92987698,193195065,429456164,395441711,1984812685,2017778566,1784663195,1683407248,1315562145,1080094634,1383856311,1551037884,101039829,135050206,437757123,337553864,1042385657,807962610,573804783,742039012,2531067453,2564033334,2328828971,2227573024,2935566865,2700099354,3001755655,3168937228,3868552805,3902563182,4203181171,4102977912,3736164937,3501741890,3265478751,3433712980,1106041591,1340463100,1576976609,1408749034,2043211483,2009195472,1708848333,1809054150,832877231,1068351396,766945465,599762354,159417987,126454664,361929877,463180190,2709260871,2943682380,3178106961,3009879386,2572697195,2538681184,2236228733,2336434550,3509871135,3745345300,3441850377,3274667266,3910161971,3877198648,4110568485,4211818798,2597806476,2497604743,2261089178,2295101073,2733856160,2902087851,3202437046,2968011453,3936291284,3835036895,4136440770,4169408201,3535486456,3702665459,3467192302,3231722213,2051518780,1951317047,1716890410,1750902305,1113818384,1282050075,1584504582,1350078989,168810852,67556463,371049330,404016761,841739592,1008918595,775550814,540080725,3969562369,3801332234,4035489047,4269907996,3569255213,3669462566,3366754619,3332740144,2631065433,2463879762,2160117071,2395588676,2767645557,2868897406,3102011747,3069049960,202008497,33778362,270040487,504459436,875451293,975658646,675039627,641025152,2084704233,1917518562,1615861247,1851332852,1147550661,1248802510,1484005843,1451044056,933301370,967311729,733156972,632953703,260388950,25965917,328671808,496906059,1206477858,1239443753,1543208500,1441952575,2144161806,1908694277,1675577880,1842759443,3610369226,3644379585,3408119516,3307916247,4011190502,3776767469,4077384432,4245618683,2809771154,2842737049,3144396420,3043140495,2673705150,2438237621,2203032232,2370213795],u0=[0,185469197,370938394,487725847,741876788,657861945,975451694,824852259,1483753576,1400783205,1315723890,1164071807,1950903388,2135319889,1649704518,1767536459,2967507152,3152976349,2801566410,2918353863,2631447780,2547432937,2328143614,2177544179,3901806776,3818836405,4270639778,4118987695,3299409036,3483825537,3535072918,3652904859,2077965243,1893020342,1841768865,1724457132,1474502543,1559041666,1107234197,1257309336,598438867,681933534,901210569,1052338372,261314535,77422314,428819965,310463728,3409685355,3224740454,3710368113,3593056380,3875770207,3960309330,4045380933,4195456072,2471224067,2554718734,2237133081,2388260884,3212035895,3028143674,2842678573,2724322336,4138563181,4255350624,3769721975,3955191162,3667219033,3516619604,3431546947,3347532110,2933734917,2782082824,3099667487,3016697106,2196052529,2313884476,2499348523,2683765030,1179510461,1296297904,1347548327,1533017514,1786102409,1635502980,2087309459,2003294622,507358933,355706840,136428751,53458370,839224033,957055980,605657339,790073846,2373340630,2256028891,2607439820,2422494913,2706270690,2856345839,3075636216,3160175349,3573941694,3725069491,3273267108,3356761769,4181598602,4063242375,4011996048,3828103837,1033297158,915985419,730517276,545572369,296679730,446754879,129166120,213705253,1709610350,1860738147,1945798516,2029293177,1239331162,1120974935,1606591296,1422699085,4148292826,4233094615,3781033664,3931371469,3682191598,3497509347,3446004468,3328955385,2939266226,2755636671,3106780840,2988687269,2198438022,2282195339,2501218972,2652609425,12
101765386,1286567175,1371368976,1521706781,1805211710,1620529459,2105887268,1988838185,533804130,350174575,164439672,46346101,870912086,954669403,636813900,788204353,2358957921,2274680428,2592523643,2441661558,2695033685,2880240216,3065962831,3182487618,3572145929,3756299780,3270937875,3388507166,4174560061,4091327024,4006521127,3854606378,1014646705,930369212,711349675,560487590,272786309,457992840,106852767,223377554,1678381017,1862534868,1914052035,2031621326,1211247597,1128014560,1580087799,1428173050,32283319,182621114,401639597,486441376,768917123,651868046,1003007129,818324884,1503449823,1385356242,1333838021,1150208456,1973745387,2125135846,1673061617,1756818940,2970356327,3120694122,2802849917,2887651696,2637442643,2520393566,2334669897,2149987652,3917234703,3799141122,4284502037,4100872472,3309594171,3460984630,3545789473,3629546796,2050466060,1899603969,1814803222,1730525723,1443857720,1560382517,1075025698,1260232239,575138148,692707433,878443390,1062597235,243256656,91341917,409198410,325965383,3403100636,3252238545,3704300486,3620022987,3874428392,3990953189,4042459122,4227665663,2460449204,2578018489,2226875310,2411029155,3198115200,3046200461,2827177882,2743944855],u1=[0,218828297,437656594,387781147,875313188,958871085,775562294,590424639,1750626376,1699970625,1917742170,2135253587,1551124588,1367295589,1180849278,1265195639,3501252752,3720081049,3399941250,3350065803,3835484340,3919042237,4270507174,4085369519,3102249176,3051593425,2734591178,2952102595,2361698556,2177869557,2530391278,2614737639,3145456443,3060847922,2708326185,2892417312,2404901663,2187128086,2504130317,2555048196,3542330227,3727205754,3375740769,3292445032,3876557655,3926170974,4246310725,4027744588,1808481195,1723872674,1910319033,2094410160,1608975247,1391201670,1173430173,1224348052,59984867,244860394,428169201,344873464,935293895,984907214,766078933,547512796,1844882806,1627235199,2011214180,2062270317,1507497298,1423022939,1137477952,1321699145,95345982,145085239,532201772,313773861,830661914,1015671571,731183368,648017665,3175501286,2957853679,2807058932,2858115069,2305455554,2220981195,2474404304,2658625497,3575528878,3625268135,3473416636,3254988725,3778151818,3963161475,4213447064,4130281361,3599595085,3683022916,3432737375,3247465558,3802222185,4020912224,4172763771,4122762354,3201631749,3017672716,2764249623,2848461854,2331590177,2280796200,2431590963,2648976442,104699613,188127444,472615631,287343814,840019705,1058709744,671593195,621591778,1852171925,1668212892,1953757831,2037970062,1514790577,1463996600,1080017571,1297403050,3673637356,3623636965,3235995134,3454686199,4007360968,3822090177,4107101658,4190530515,2997825956,3215212461,2830708150,2779915199,2256734592,2340947849,2627016082,2443058075,172466556,122466165,273792366,492483431,1047239e3,861968209,612205898,695634755,1646252340,1863638845,2013908262,1963115311,1446242576,1530455833,1277555970,1093597963,1636604631,1820824798,2073724613,1989249228,1436590835,1487645946,1337376481,1119727848,164948639,81781910,331544205,516552836,1039717051,821288114,669961897,719700128,2973530695,3157750862,2871682645,2787207260,2232435299,2283490410,2667994737,2450346104,3647212047,3564045318,3279033885,3464042516,3980931627,3762502690,4150144569,4199882800,3070356634,3121275539,2904027272,2686254721,2200818878,2384911031,2570832044,2486224549,3747192018,3528626907,3310321856,3359936201,3950355702,3867060991,4049844452,4234721005,1739656202,1790575107,2108100632,1890328081,1402811438,1586903591,1233856572,1149249077,266959938,48394827,369057872,418672217,1002783846,919489135,567498868,752375421,209336225,24197544,376187827,459744698,945164165,895287692,574624663,793451934,1679968233,1764313568,2117360635,1933530610,1343127501,1560637892,1243112415,1192455638,3704280881,3519142200,3336358691,3419915562,3907448597,3857572124,4075877127,4294704398,3029510009,3113855344,2927934315,2744104290,2159976285,2377486676,2594734927,2544078150],u2=[0,151849742,303699484,454499602,607398968,758720310,908999204,1059270954,1214797936,1097159550,1517440620,1400849762,1817998408,1699839814,2118541908,2001430874,2429595872,2581445614,2194319100,2345119218,3034881240,3186202582,2801699524,2951971274,3635996816,3518358430,3399679628,3283088770,4237083816,4118925222,4002861
1748,3885750714,1002142683,850817237,698445255,548169417,529487843,377642221,227885567,77089521,1943217067,2061379749,1640576439,1757691577,1474760595,1592394909,1174215055,1290801793,2875968315,2724642869,3111247143,2960971305,2405426947,2253581325,2638606623,2487810577,3808662347,3926825029,4044981591,4162096729,3342319475,3459953789,3576539503,3693126241,1986918061,2137062819,1685577905,1836772287,1381620373,1532285339,1078185097,1229899655,1040559837,923313619,740276417,621982671,439452389,322734571,137073913,19308535,3871163981,4021308739,4104605777,4255800159,3263785589,3414450555,3499326569,3651041127,2933202493,2815956275,3167684641,3049390895,2330014213,2213296395,2566595609,2448830231,1305906550,1155237496,1607244650,1455525988,1776460110,1626319424,2079897426,1928707164,96392454,213114376,396673818,514443284,562755902,679998e3,865136418,983426092,3708173718,3557504664,3474729866,3323011204,4180808110,4030667424,3945269170,3794078908,2507040230,2623762152,2272556026,2390325492,2975484382,3092726480,2738905026,2857194700,3973773121,3856137295,4274053469,4157467219,3371096953,3252932727,3673476453,3556361835,2763173681,2915017791,3064510765,3215307299,2156299017,2307622919,2459735317,2610011675,2081048481,1963412655,1846563261,1729977011,1480485785,1362321559,1243905413,1126790795,878845905,1030690015,645401037,796197571,274084841,425408743,38544885,188821243,3613494426,3731654548,3313212038,3430322568,4082475170,4200115116,3780097726,3896688048,2668221674,2516901860,2366882550,2216610296,3141400786,2989552604,2837966542,2687165888,1202797690,1320957812,1437280870,1554391400,1669664834,1787304780,1906247262,2022837584,265905162,114585348,499347990,349075736,736970802,585122620,972512814,821712160,2595684844,2478443234,2293045232,2174754046,3196267988,3079546586,2895723464,2777952454,3537852828,3687994002,3234156416,3385345166,4142626212,4293295786,3841024952,3992742070,174567692,57326082,410887952,292596766,777231668,660510266,1011452712,893681702,1108339068,1258480242,1343618912,1494807662,1715193156,1865862730,1948373848,2100090966,2701949495,2818666809,3004591147,3122358053,2235061775,2352307457,2535604243,2653899549,3915653703,3764988233,4219352155,4067639125,3444575871,3294430577,3746175075,3594982253,836553431,953270745,600235211,718002117,367585007,484830689,133361907,251657213,2041877159,1891211689,1806599355,1654886325,1568718495,1418573201,1335535747,1184342925];function u3(t){let e=[];for(let r=0;r<t.length;r+=4)e.push(t[r]<<24|t[r+1]<<16|t[r+2]<<8|t[r+3]);return e}class u4{get key(){return uG(this,b,"f").slice()}constructor(t){let e;if(b.set(this,void 0),w.set(this,void 0),A.set(this,void 0),!(this instanceof u4))throw Error("AES must be instanitated with `new`");uH(this,b,new Uint8Array(t),"f");let r=uV[this.key.length];if(null==r)throw TypeError("invalid key size (must be 16, 24 or 32 bytes)");uH(this,A,[],"f"),uH(this,w,[],"f");for(let t=0;t<=r;t++)uG(this,A,"f").push([0,0,0,0]),uG(this,w,"f").push([0,0,0,0]);let n=(r+1)*4,i=this.key.length/4,s=u3(this.key);for(let t=0;t<i;t++)e=t>>2,uG(this,A,"f")[e][t%4]=s[t],uG(this,w,"f")[r-e][t%4]=s[t];let a=0,o=i,l;for(;o<n;){if(l=s[i-1],s[0]^=uj[l>>16&255]<<24^uj[l>>8&255]<<16^uj[255&l]<<8^uj[l>>24&255]^uz[a]<<24,a+=1,8!=i)for(let t=1;t<i;t++)s[t]^=s[t-1];else{for(let t=1;t<i/2;t++)s[t]^=s[t-1];l=s[i/2-1],s[i/2]^=uj[255&l]^uj[l>>8&255]<<8^uj[l>>16&255]<<16^uj[l>>24&255]<<24;for(let t=i/2+1;t<i;t++)s[t]^=s[t-1]}let t=0,e,u;for(;t<i&&o<n;)e=o>>2,u=o%4,uG(this,A,"f")[e][u]=s[t],uG(this,w,"f")[r-e][u]=s[t++],o++}for(let t=1;t<r;t++)for(let e=0;e<4;e++)l=uG(this,w,"f")[t][e],uG(this,w,"f")[t][e]=u$[l>>24&255]^u0[l>>16&255]^u1[l>>8&255]^u2[255&l]}encrypt(t){if(16!=t.length)throw TypeError("invalid plaintext size (must be 16 bytes)");let e=uG(this,A,"f").length-1,r=[0,0,0,0],n=u3(t);for(let t=0;t<4;t++)n[t]^=uG(this,A,"f")[0][t];for(let t=1;t<e;t++){for(let e=0;e<4;e++)r[e]=u_[n[e]>>24&255]^uK[n[(e+1)%4]>>16&255]^uJ[n[(e+2)%4]>>8&255]^uq[255&n[(e+3)%4]]^uG(this,A,"f")[t][e];n=r.slice()}let i=new Uint8Array(16),s=0;for(let t=0;t<4;t++)s=uG(this,A,"f")[e][t],i[4*t]=(uj[n[t]>>24&255]^s>>24)&255,i[4*t+1]=(uj[n[(t+1)%4]>>16&255]^s>>16)&255,i[4*t+2]=(uj[n[(t+2)%4]>>8&255]^s>>8)&255,i[4*t+3]=(uj[255&n[(t+3)%4]]^s)&255;return i}decrypt(t){if(16!=t.length)throw TypeError("invalid ciphertext size (must be 16 bytes)");
1let e=uG(this,w,"f").length-1,r=[0,0,0,0],n=u3(t);for(let t=0;t<4;t++)n[t]^=uG(this,w,"f")[0][t];for(let t=1;t<e;t++){for(let e=0;e<4;e++)r[e]=uW[n[e]>>24&255]^uZ[n[(e+3)%4]>>16&255]^uY[n[(e+2)%4]>>8&255]^uX[255&n[(e+1)%4]]^uG(this,w,"f")[t][e];n=r.slice()}let i=new Uint8Array(16),s=0;for(let t=0;t<4;t++)s=uG(this,w,"f")[e][t],i[4*t]=(uQ[n[t]>>24&255]^s>>24)&255,i[4*t+1]=(uQ[n[(t+3)%4]>>16&255]^s>>16)&255,i[4*t+2]=(uQ[n[(t+2)%4]>>8&255]^s>>8)&255,i[4*t+3]=(uQ[255&n[(t+1)%4]]^s)&255;return i}}b=new WeakMap,w=new WeakMap,A=new WeakMap;class u5{constructor(t,e,r){if(r&&!(this instanceof r))throw Error(`${t} must be instantiated with "new"`);Object.defineProperties(this,{aes:{enumerable:!0,value:new u4(e)},name:{enumerable:!0,value:t}})}}var u8=function(t,e,r,n,i){if("m"===n)throw TypeError("Private method is not writable");if("a"===n&&!i)throw TypeError("Private accessor was defined without a setter");if("function"==typeof e?t!==e||!i:!e.has(t))throw TypeError("Cannot write private member to an object whose class did not declare it");return"a"===n?i.call(t,r):i?i.value=r:e.set(t,r),r},u6=function(t,e,r,n){if("a"===r&&!n)throw TypeError("Private accessor was defined without a getter");if("function"==typeof e?t!==e||!n:!e.has(t))throw TypeError("Cannot read private member from an object whose class did not declare it");return"m"===r?n:"a"===r?n.call(t):n?n.value:e.get(t)};class u7 extends u5{constructor(t,e){if(super("ECC",t,u7),E.set(this,void 0),v.set(this,void 0),e){if(e.length%16)throw TypeError("invalid iv size (must be 16 bytes)");u8(this,E,new Uint8Array(e),"f")}else u8(this,E,new Uint8Array(16),"f");u8(this,v,this.iv,"f")}get iv(){return new Uint8Array(u6(this,E,"f"))}encrypt(t){if(t.length%16)throw TypeError("invalid plaintext size (must be multiple of 16 bytes)");let e=new Uint8Array(t.length);for(let r=0;r<t.length;r+=16){for(let e=0;e<16;e++)u6(this,v,"f")[e]^=t[r+e];u8(this,v,this.aes.encrypt(u6(this,v,"f")),"f"),e.set(u6(this,v,"f"),r)}return e}decrypt(t){if(t.length%16)throw TypeError("invalid ciphertext size (must be multiple of 16 bytes)");let e=new Uint8Array(t.length);for(let r=0;r<t.length;r+=16){let n=this.aes.decrypt(t.subarray(r,r+16));for(let i=0;i<16;i++)e[r+i]=n[i]^u6(this,v,"f")[i],u6(this,v,"f")[i]=t[r+i]}return e}}E=new WeakMap,v=new WeakMap,new WeakMap,new WeakMap,new WeakSet;var u9=function(t,e,r,n,i){if("m"===n)throw TypeError("Private method is not writable");if("a"===n&&!i)throw TypeError("Private accessor was defined without a setter");if("function"==typeof e?t!==e||!i:!e.has(t))throw TypeError("Cannot write private member to an object whose class did not declare it");return"a"===n?i.call(t,r):i?i.value=r:e.set(t,r),r},ct=function(t,e,r,n){if("a"===r&&!n)throw TypeError("Private accessor was defined without a getter");if("function"==typeof e?t!==e||!n:!e.has(t))throw TypeError("Cannot read private member from an object whose class did not declare it");return"m"===r?n:"a"===r?n.call(t):n?n.value:e.get(t)};class ce extends u5{constructor(t,e){super("CTR",t,ce),k.set(this,void 0),P.set(this,void 0),N.set(this,void 0),u9(this,N,new Uint8Array(16),"f"),ct(this,N,"f").fill(0),u9(this,k,ct(this,N,"f"),"f"),u9(this,P,16,"f"),null==e&&(e=1),"number"==typeof e?this.setCounterValue(e):this.setCounterBytes(e)}get counter(){return new Uint8Array(ct(this,N,"f"))}setCounterValue(t){if(!Number.isInteger(t)||t<0||t>Number.MAX_SAFE_INTEGER)throw TypeError("invalid counter initial integer value");for(let e=15;e>=0;--e)ct(this,N,"f")[e]=t%256,t=Math.floor(t/256)}setCounterBytes(t){if(16!==t.length)throw TypeError("invalid counter initial Uint8Array value length");ct(this,N,"f").set(t)}increment(){for(let t=15;t>=0;t--)if(255===ct(this,N,"f")[t])ct(this,N,"f")[t]=0;else{ct(this,N,"f")[t]++;break}}encrypt(t){var e,r;let n=new Uint8Array(t);for(let t=0;t<n.length;t++)16===ct(this,P,"f")&&(u9(this,k,this.aes.encrypt(ct(this,N,"f")),"f"),u9(this,P,0,"f"),this.increment()),n[t]^=ct(this,k,"f")[u9(this,P,(r=ct(this,P,"f"),e=r++,r),"f"),e];return n}decrypt(t){return this.encrypt(t)}}function cr(t){return"string"!=typeof t||t.startsWith("0x")||(t="0x"+t),j(t)}function cn(t,e){for(t=String(t);t.length<e;)t="0"+t;return t}function ci(t){return"string"==typeof t?ti(t,"NFKC"):j(t)}function cs(t,e){let r=e.match(/^([a-z0-9$_.-]*)(:([a-z]+))?(!)?$/i);
1D(null!=r,"invalid path","path",e);let n=r[1],i=r[3],s="!"===r[4],a=t;for(let t of n.toLowerCase().split(".")){if(Array.isArray(a)){if(!t.match(/^[0-9]+$/))break;a=a[parseInt(t)]}else if("object"==typeof a){let e=null;for(let r in a)if(r.toLowerCase()===t){e=a[r];break}a=e}else a=null;if(null==a)break}if(D(!s||null!=a,"missing required value","path",n),i&&null!=a){if("int"===i){if("string"==typeof a&&a.match(/^-?[0-9]+$/))return parseInt(a);if(Number.isSafeInteger(a))return a}if("number"===i&&"string"==typeof a&&a.match(/^-?[0-9.]*$/))return parseFloat(a);if("data"===i&&"string"==typeof a)return cr(a);if("array"===i&&Array.isArray(a)||i===typeof a)return a;D(!1,`wrong type found for ${i} `,"path",n)}return a}k=new WeakMap,P=new WeakMap,N=new WeakMap,new WeakMap,new WeakMap,new WeakMap;let ca="m/44'/60'/0'/0/0";function co(t){try{let e=JSON.parse(t),r=null!=e.version?parseInt(e.version):0;if(3===r)return!0}catch(t){}return!1}function cl(t,e){let r=z(e),n=cs(t,"crypto.ciphertext:data!");D(J(eg(q([r.slice(16,32),n]))).substring(2)===cs(t,"crypto.mac:string!").toLowerCase(),"incorrect password","password","[ REDACTED ]");let i=function(t,e,r){if("aes-128-ctr"===cs(t,"crypto.cipher:string"))return J(new ce(e,cs(t,"crypto.cipherparams.iv:data!")).decrypt(r));F(!1,"unsupported cipher","UNSUPPORTED_OPERATION",{operation:"decrypt"})}(t,r.slice(0,16),n),s=aA(i);if(t.address){let e=t.address.toLowerCase();e.startsWith("0x")||(e="0x"+e),D(ev(e)===s,"keystore address/privateKey mismatch","address",t.address)}let a={address:s,privateKey:i};if("0.1"===cs(t,"x-ethers.version:string")){let e=r.slice(32,64),n=cs(t,"x-ethers.mnemonicCiphertext:data!"),i=new ce(e,cs(t,"x-ethers.mnemonicCounter:data!"));a.mnemonic={path:cs(t,"x-ethers.path:string")||ca,locale:cs(t,"x-ethers.locale:string")||"en",entropy:J(z(i.decrypt(n)))}}return a}function cu(t){let e=cs(t,"crypto.kdf:string");if(e&&"string"==typeof e){if("scrypt"===e.toLowerCase()){let r=cs(t,"crypto.kdfparams.salt:data!"),n=cs(t,"crypto.kdfparams.n:int!"),i=cs(t,"crypto.kdfparams.r:int!"),s=cs(t,"crypto.kdfparams.p:int!");D(n>0&&(n&n-1)==0,"invalid kdf.N","kdf.N",n),D(i>0&&s>0,"invalid kdf","kdf",e);let a=cs(t,"crypto.kdfparams.dklen:int!");return D(32===a,"invalid kdf.dklen","kdf.dflen",a),{name:"scrypt",salt:r,N:n,r:i,p:s,dkLen:64}}if("pbkdf2"===e.toLowerCase()){let e=cs(t,"crypto.kdfparams.salt:data!"),r=cs(t,"crypto.kdfparams.prf:string!"),n=r.split("-").pop();D("sha256"===n||"sha512"===n,"invalid kdf.pdf","kdf.pdf",r);let i=cs(t,"crypto.kdfparams.c:int!"),s=cs(t,"crypto.kdfparams.dklen:int!");return D(32===s,"invalid kdf.dklen","kdf.dklen",s),{name:"pbkdf2",salt:e,count:i,dkLen:s,algorithm:n}}}D(!1,"unsupported key-derivation function","kdf",e)}function cc(t,e){let r=JSON.parse(t),n=ci(e),i=cu(r);if("pbkdf2"===i.name){let{salt:t,count:e,dkLen:s,algorithm:a}=i;return cl(r,iP(n,t,e,s,a))}F("scrypt"===i.name,"cannot be reached","UNKNOWN_ERROR",{params:i});let{salt:s,N:a,r:o,p:l,dkLen:u}=i;return cl(r,iz(n,s,a,o,l,u))}function ch(t){return new Promise(e=>{setTimeout(()=>{e()},t)})}async function cf(t,e,r){let n=JSON.parse(t),i=ci(e),s=cu(n);if("pbkdf2"===s.name){r&&(r(0),await ch(0));let{salt:t,count:e,dkLen:a,algorithm:o}=s,l=iP(i,t,e,a,o);return r&&(r(1),await ch(0)),cl(n,l)}F("scrypt"===s.name,"cannot be reached","UNKNOWN_ERROR",{params:s});let{salt:a,N:o,r:l,p:u,dkLen:c}=s;return cl(n,await iV(i,a,o,l,u,c,r))}function cd(t){let e=null!=t.salt?z(t.salt,"options.salt"):ix(32),r=131072,n=8,i=1;return t.scrypt&&(t.scrypt.N&&(r=t.scrypt.N),t.scrypt.r&&(n=t.scrypt.r),t.scrypt.p&&(i=t.scrypt.p)),D("number"==typeof r&&r>0&&Number.isSafeInteger(r)&&(BigInt(r)&BigInt(r-1))===BigInt(0),"invalid scrypt N parameter","options.N",r),D("number"==typeof n&&n>0&&Number.isSafeInteger(n),"invalid scrypt r parameter","options.r",n),D("number"==typeof i&&i>0&&Number.isSafeInteger(i),"invalid scrypt p parameter","options.p",i),{name:"scrypt",dkLen:32,salt:e,N:r,r:n,p:i}}function cp(t,e,r,n){let i=z(r.privateKey,"privateKey"),s=null!=n.iv?z(n.iv,"options.iv"):ix(16);D(16===s.length,"invalid options.iv length","options.iv",n.iv);let a=null!=n.uuid?z(n.uuid,"options.uuid"):ix(16);D(16===a.length,"invalid options.uuid length","options.uuid",n.iv);
1let o=t.slice(0,16),l=t.slice(16,32),u=z(new ce(o,s).encrypt(i)),c=eg(q([l,u])),h={address:r.address.substring(2).toLowerCase(),id:uP(a),version:3,Crypto:{cipher:"aes-128-ctr",cipherparams:{iv:J(s).substring(2)},ciphertext:J(u).substring(2),kdf:"scrypt",kdfparams:{salt:J(e.salt).substring(2),n:e.N,dklen:32,p:e.p,r:e.r},mac:c.substring(2)}};if(r.mnemonic){let e=null!=n.client?n.client:`ethers/${x}`,i=r.mnemonic.path||ca,s=r.mnemonic.locale||"en",a=t.slice(32,64),o=z(r.mnemonic.entropy,"account.mnemonic.entropy"),l=ix(16),u=z(new ce(a,l).encrypt(o)),c=new Date,f="UTC--"+(c.getUTCFullYear()+"-"+cn(c.getUTCMonth()+1,2)+"-"+cn(c.getUTCDate(),2)+"T"+cn(c.getUTCHours(),2)+"-"+cn(c.getUTCMinutes(),2)+"-")+cn(c.getUTCSeconds(),2)+".0Z--"+h.address;h["x-ethers"]={client:e,gethFilename:f,path:i,locale:s,mnemonicCounter:J(l).substring(2),mnemonicCiphertext:J(u).substring(2),version:"0.1"}}return JSON.stringify(h)}function cg(t,e,r){null==r&&(r={});let n=ci(e),i=cd(r);return cp(z(iz(n,i.salt,i.N,i.r,i.p,64)),i,t,r)}async function cm(t,e,r){null==r&&(r={});let n=ci(e),i=cd(r);return cp(z(await iV(n,i.salt,i.N,i.r,i.p,64,r.progressCallback)),i,t,r)}let cy="m/44'/60'/0'/0/0",cb=new Uint8Array([66,105,116,99,111,105,110,32,115,101,101,100]),cw=BigInt("0xfffffffffffffffffffffffffffffffebaaedce6af48a03bbfd25e8cd0364141");function cA(t,e){let r="";for(;t;)r="0123456789abcdef"[t%16]+r,t=Math.trunc(t/16);for(;r.length<2*e;)r="0"+r;return"0x"+r}function cE(t){let e=z(t),r=Z(iW(iW(e)),0,4);return oL(q([e,r]))}let cv={};function ck(t,e,r,n){let i=new Uint8Array(37);2147483648&t?(F(null!=n,"cannot derive child of neutered node","UNSUPPORTED_OPERATION",{operation:"deriveChild"}),i.set(z(n),1)):i.set(z(r));for(let e=24;e>=0;e-=8)i[33+(e>>3)]=t>>24-e&255;let s=z(n9("sha512",e,i));return{IL:s.slice(0,32),IR:s.slice(32)}}function cP(t,e){let r=e.split("/");D(r.length>0,"invalid path","path",e),"m"===r[0]&&(D(0===t.depth,`cannot derive root path (i.e. path starting with "m/") for a node at non-zero depth ${t.depth}`,"path",e),r.shift());let n=t;for(let t=0;t<r.length;t++){let e=r[t];if(e.match(/^[0-9]+'$/)){let r=parseInt(e.substring(0,e.length-1));D(r<2147483648,"invalid path index",`path[${t}]`,e),n=n.deriveChild(2147483648+r)}else if(e.match(/^[0-9]+$/)){let r=parseInt(e);D(r<2147483648,"invalid path index",`path[${t}]`,e),n=n.deriveChild(r)}else D(!1,"invalid path component",`path[${t}]`,e)}return n}class cN extends uM{publicKey;fingerprint;parentFingerprint;mnemonic;chainCode;path;index;depth;constructor(t,e,r,n,i,s,a,o,l){super(e,l),H(t,cv,"HDNodeWallet"),C(this,{publicKey:e.compressedPublicKey}),C(this,{parentFingerprint:r,fingerprint:Z(iA(iW(this.publicKey)),0,4),chainCode:n,path:i,index:s,depth:a}),C(this,{mnemonic:o})}connect(t){return new cN(cv,this.signingKey,this.parentFingerprint,this.chainCode,this.path,this.index,this.depth,this.mnemonic,t)}#eM(){let t={address:this.address,privateKey:this.privateKey},e=this.mnemonic;return this.path&&e&&"en"===e.wordlist.locale&&""===e.password&&(t.mnemonic={path:this.path,locale:"en",entropy:e.entropy}),t}async encrypt(t,e){return await cm(this.#eM(),t,{progressCallback:e})}encryptSync(t){return cg(this.#eM(),t)}get extendedKey(){return F(this.depth<256,"Depth too deep","UNSUPPORTED_OPERATION",{operation:"extendedKey"}),cE(q(["0x0488ADE4",cA(this.depth,1),this.parentFingerprint,cA(this.index,4),this.chainCode,q(["0x00",this.privateKey])]))}hasPath(){return null!=this.path}neuter(){return new cR(cv,this.address,this.publicKey,this.parentFingerprint,this.chainCode,this.path,this.index,this.depth,this.provider)}deriveChild(t){let e=tb(t,"index");D(e<=4294967295,"invalid index","index",e);let r=this.path;r&&(r+="/"+(2147483647&e),2147483648&e&&(r+="'"));let{IR:n,IL:i}=ck(e,this.chainCode,this.publicKey,this.privateKey);return new cN(cv,new sW(tA((ty(i)+BigInt(this.privateKey))%cw,32)),this.fingerprint,J(n),r,e,this.depth+1,this.mnemonic,this.provider)}derivePath(t){return cP(this,t)}static #eG(t,e){D(_(t),"invalid seed","seed","[REDACTED]");let r=z(t,"seed");D(r.length>=16&&r.length<=64,"invalid seed","seed","[REDACTED]");let n=z(n9("sha512",cb,r));return new cN(cv,new sW(J(n.slice(0,32))),"0x00000000",J(n.slice(32)),"m",0,0,e,null)}static fromExtendedKey(t){let e=tE(oM(t));
1D(82===e.length||cE(e.slice(0,78))===t,"invalid extended key","extendedKey","[ REDACTED ]");let r=e[4],n=J(e.slice(5,9)),i=parseInt(J(e.slice(9,13)).substring(2),16),s=J(e.slice(13,45)),a=e.slice(45,78);switch(J(e.slice(0,4))){case"0x0488b21e":case"0x043587cf":{let t=J(a);return new cR(cv,aA(t),t,n,s,null,i,r,null)}case"0x0488ade4":case"0x04358394 ":if(0!==a[0])break;return new cN(cv,new sW(a.slice(1)),n,s,null,i,r,null,null)}D(!1,"invalid extended key prefix","extendedKey","[ REDACTED ]")}static createRandom(t,e,r){null==t&&(t=""),null==e&&(e=cy),null==r&&(r=uS.wordlist());let n=uL.fromEntropy(ix(16),t,r);return cN.#eG(n.computeSeed(),n).derivePath(e)}static fromMnemonic(t,e){return e||(e=cy),cN.#eG(t.computeSeed(),t).derivePath(e)}static fromPhrase(t,e,r,n){null==e&&(e=""),null==r&&(r=cy),null==n&&(n=uS.wordlist());let i=uL.fromPhrase(t,e,n);return cN.#eG(i.computeSeed(),i).derivePath(r)}static fromSeed(t){return cN.#eG(t,null)}}class cR extends lp{publicKey;fingerprint;parentFingerprint;chainCode;path;index;depth;constructor(t,e,r,n,i,s,a,o,l){super(e,l),H(t,cv,"HDNodeVoidWallet"),C(this,{publicKey:r});let u=Z(iA(iW(r)),0,4);C(this,{publicKey:r,fingerprint:u,parentFingerprint:n,chainCode:i,path:s,index:a,depth:o})}connect(t){return new cR(cv,this.address,this.publicKey,this.parentFingerprint,this.chainCode,this.path,this.index,this.depth,t)}get extendedKey(){return F(this.depth<256,"Depth too deep","UNSUPPORTED_OPERATION",{operation:"extendedKey"}),cE(q(["0x0488B21E",cA(this.depth,1),this.parentFingerprint,cA(this.index,4),this.chainCode,this.publicKey]))}hasPath(){return null!=this.path}deriveChild(t){let e=tb(t,"index");D(e<=4294967295,"invalid index","index",e);let r=this.path;r&&(r+="/"+(2147483647&e),2147483648&e&&(r+="'"));let{IR:n,IL:i}=ck(e,this.chainCode,this.publicKey,null),s=sW.addPoints(i,this.publicKey,!0);return new cR(cv,aA(s),s,this.fingerprint,J(n),r,e,this.depth+1,this.provider)}derivePath(t){return cP(this,t)}}function cI(t){let e=tb(t,"index");return D(e>=0&&e<2147483648,"invalid account index","index",e),`m/44'/60'/${e}'/0/0`}function cx(t){let e=tb(t,"index");return D(e>=0&&e<2147483648,"invalid account index","index",e),`m/44'/60'/0'/0/${e}`}function cO(t){try{if(JSON.parse(t).encseed)return!0}catch(t){}return!1}function cC(t,e){let r=JSON.parse(t),n=ci(e),i=ev(cs(r,"ethaddr:string!")),s=cr(cs(r,"encseed:string!"));D(s&&s.length%16==0,"invalid encseed","json",t);let a=z(iP(n,n,2e3,32,"sha256")).slice(0,16),o=s.slice(0,16),l=s.slice(16),u=function(t){if(t.length<16)throw TypeError("PKCS#7 invalid length");let e=t[t.length-1];if(e>16)throw TypeError("PKCS#7 padding byte out of range");let r=t.length-e;for(let n=0;n<e;n++)if(t[r+n]!==e)throw TypeError("PKCS#7 invalid padding byte");return new Uint8Array(t.subarray(0,r))}(z(new u7(a,o).decrypt(l))),c="";for(let t=0;t<u.length;t++)c+=String.fromCharCode(u[t]);return{address:i,privateKey:eK(c)}}function cT(t){return new Promise(e=>{setTimeout(()=>{e()},t)})}class cS extends uM{constructor(t,e){"string"!=typeof t||t.startsWith("0x")||(t="0x"+t),super("string"==typeof t?new sW(t):t,e)}connect(t){return new cS(this.signingKey,t)}async encrypt(t,e){let r={address:this.address,privateKey:this.privateKey};return await cm(r,t,{progressCallback:e})}encryptSync(t){return cg({address:this.address,privateKey:this.privateKey},t)}static #eH(t){if(D(t,"invalid JSON wallet","json","[ REDACTED ]"),"mnemonic"in t&&t.mnemonic&&"en"===t.mnemonic.locale){let e=uL.fromEntropy(t.mnemonic.entropy),r=cN.fromMnemonic(e,t.mnemonic.path);if(r.address===t.address&&r.privateKey===t.privateKey)return r;console.log("WARNING: JSON mismatch address/privateKey != mnemonic; fallback onto private key")}let e=new cS(t.privateKey);return D(e.address===t.address,"address/privateKey mismatch","json","[ REDACTED ]"),e}static async fromEncryptedJson(t,e,r){let n=null;return co(t)?n=await cf(t,e,r):cO(t)&&(r&&(r(0),await cT(0)),n=cC(t,e),r&&(r(1),await cT(0))),cS.#eH(n)}static fromEncryptedJsonSync(t,e){let r=null;return co(t)?r=cc(t,e):cO(t)?r=cC(t,e):D(!1,"invalid JSON wallet","json","[ REDACTED ]"),cS.#eH(r)}static createRandom(t){let e=cN.createRandom();return t?e.connect(t):e}static fromPhrase(t,e){let r=cN.fromPhrase(t);return e?r.connect(e):r}}class cB extends uC{#eV;constructor(t,e,r,n){super(t,e,n),this.#eV=r}get _accent(){return this.#eV}_decodeWords(){var t,e;let r;return t=this._data,e=this._accent,r=ux(t).join(","),e.split(/,/g).forEach(t=>{let n=t.match(/^([a-z]*)([0-9]+)([0-9])(.*)$/);D(null!==n,"internal error parsing accents","accents",e);let i=0,s=function(t,e){let r=(1<<t)-1,n=[],i=0,s=0,a=0;for(let o=0;o<e.length;o++)for(i=i<<6|")!@#$%^&*(ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz-_".indexOf(e[o]),s+=6;s>=t;){let e=i>>s-t;i&=(1<<s-t)-1,s-=t,0===e?a+=r:(n.push(e+a),a=0)}return n}(parseInt(n[3]),n[4]),a=parseInt(n[2]),o=RegExp(`([${n[1]}])`,"g");r=r.replace(o,(t,e)=>(0==--s[i]&&(e=String.fromCharCode(e.charCodeAt(0),a),i++),e))}),r.split(",")}}let cU={en:uS.wordlist()}}}]);

Line numbers count LF bytes from the start of the resource, as the search results do. Vendor segments are library code the classifier recognised; they are stored but not indexed. Bytes are shown as Latin1 characters, one per byte.