Files
to_session/text/3.65.22_0/scripts/domainWarning/lib-P4JPZNED.js
Administrator a0720d80dc fefdwef
2025-11-12 12:54:37 +08:00

11 lines
375 KiB
JavaScript
Raw Blame History

This file contains invisible Unicode characters
This file contains invisible Unicode characters that are indistinguishable to humans but may be processed differently by a computer. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
import{d as Ad,h as g,i as f,j as y,k as h,l as jr,m as R,o as p,q as m}from"./chunk-QTLWQ5AJ.js";p();m();var lm={};Ad(lm,{AbiCoder:()=>Mt,AbstractProvider:()=>Qt,AbstractSigner:()=>Kt,AlchemyProvider:()=>Dr,AnkrProvider:()=>Lr,BaseContract:()=>kn,BaseWallet:()=>On,Block:()=>li,BrowserProvider:()=>Wc,ChainstackProvider:()=>Fr,CloudflareProvider:()=>Ti,ConstructorFragment:()=>ot,Contract:()=>xt,ContractEventPayload:()=>ui,ContractFactory:()=>xi,ContractTransactionReceipt:()=>qo,ContractTransactionResponse:()=>En,ContractUnknownEventPayload:()=>fs,EnsPlugin:()=>Cr,EnsResolver:()=>Nn,ErrorDescription:()=>Wo,ErrorFragment:()=>ve,EtherSymbol:()=>Hl,EtherscanPlugin:()=>vi,EtherscanProvider:()=>Ii,EventFragment:()=>qe,EventLog:()=>An,EventPayload:()=>Xr,FallbackFragment:()=>dt,FallbackProvider:()=>Li,FeeData:()=>as,FeeDataNetworkPlugin:()=>Pc,FetchCancelSignal:()=>so,FetchRequest:()=>ce,FetchResponse:()=>er,FetchUrlFeeDataNetworkPlugin:()=>bi,FixedNumber:()=>Vn,Fragment:()=>Nt,FunctionFragment:()=>Ye,GasCostPlugin:()=>Ir,HDNodeVoidWallet:()=>Wr,HDNodeWallet:()=>Jr,Indexed:()=>fi,InfuraProvider:()=>Er,InfuraWebSocketProvider:()=>ka,Interface:()=>gn,IpcSocketProvider:()=>ed,JsonRpcApiProvider:()=>Es,JsonRpcProvider:()=>we,JsonRpcSigner:()=>As,LangEn:()=>tt,Log:()=>Pt,LogDescription:()=>zo,MaxInt256:()=>Gl,MaxUint256:()=>Fl,MessagePrefix:()=>sc,MinInt256:()=>Ml,Mnemonic:()=>It,MulticoinProviderPlugin:()=>Xo,N:()=>Ll,NamedFragment:()=>bn,Network:()=>$,NetworkPlugin:()=>Rt,NonceManager:()=>Jc,ParamType:()=>ke,PocketProvider:()=>Ts,QuickNodeProvider:()=>Gr,Result:()=>sr,Signature:()=>Me,SigningKey:()=>Ge,SocketBlockSubscriber:()=>wa,SocketEventSubscriber:()=>Ea,SocketPendingSubscriber:()=>Aa,SocketProvider:()=>Si,SocketSubscriber:()=>Bs,StructFragment:()=>Ft,Transaction:()=>kt,TransactionDescription:()=>Jo,TransactionReceipt:()=>wn,TransactionResponse:()=>vr,Typed:()=>le,TypedDataEncoder:()=>Lt,UndecodedEventLog:()=>cs,UnmanagedSubscriber:()=>yr,Utf8ErrorFuncs:()=>f0,VoidSigner:()=>ki,Wallet:()=>Da,WebSocketProvider:()=>In,WeiPerEther:()=>Dl,Wordlist:()=>Fi,WordlistOwl:()=>Sn,WordlistOwlA:()=>n0,ZeroAddress:()=>ur,ZeroHash:()=>bo,accessListify:()=>_e,assert:()=>E,assertArgument:()=>x,assertArgumentCount:()=>Is,assertNormalize:()=>Cs,assertPrivate:()=>De,checkResultErrors:()=>w0,computeAddress:()=>pr,computeHmac:()=>ar,concat:()=>K,copyRequest:()=>Gt,dataLength:()=>ft,dataSlice:()=>ne,decodeBase58:()=>Ga,decodeBase64:()=>Ha,decodeBytes32String:()=>wu,decodeRlp:()=>Qn,decryptCrowdsaleJson:()=>Ua,decryptKeystoreJson:()=>$c,decryptKeystoreJsonSync:()=>Xc,defaultPath:()=>Oa,defineProperties:()=>I,dnsEncode:()=>dc,encodeBase58:()=>Ss,encodeBase64:()=>_a,encodeBytes32String:()=>yu,encodeRlp:()=>Ot,encryptKeystoreJson:()=>Ki,encryptKeystoreJsonSync:()=>Qi,ensNormalize:()=>$0,formatEther:()=>il,formatUnits:()=>x0,fromTwos:()=>qr,getAccountPath:()=>xd,getAddress:()=>V,getBigInt:()=>U,getBytes:()=>v,getBytesCopy:()=>xe,getCreate2Address:()=>Ql,getCreateAddress:()=>ti,getDefaultProvider:()=>Xu,getIcapAddress:()=>Vl,getIndexedAccountPath:()=>pd,getNumber:()=>H,getUint:()=>Os,hashMessage:()=>Go,hexlify:()=>T,id:()=>He,isAddress:()=>zl,isAddressable:()=>Eo,isBytesLike:()=>qt,isCallException:()=>Mn,isCrowdsaleJson:()=>Sa,isError:()=>oe,isHexString:()=>q,isKeystoreJson:()=>Ca,isValidName:()=>iu,keccak256:()=>Z,lock:()=>lx,makeError:()=>ee,mask:()=>bt,namehash:()=>ts,parseEther:()=>ol,parseUnits:()=>p0,pbkdf2:()=>st,randomBytes:()=>je,recoverAddress:()=>un,resolveAddress:()=>be,resolveProperties:()=>ue,ripemd160:()=>cr,scrypt:()=>fr,scryptSync:()=>lr,sha256:()=>Pe,sha512:()=>js,showThrottleMessage:()=>Ke,solidityPacked:()=>xc,solidityPackedKeccak256:()=>du,solidityPackedSha256:()=>hu,stripZerosLeft:()=>Zf,toBeArray:()=>pe,toBeHex:()=>Se,toBigInt:()=>Ct,toNumber:()=>Ma,toQuantity:()=>lt,toTwos:()=>Yr,toUtf8Bytes:()=>ae,toUtf8CodePoints:()=>Yf,toUtf8String:()=>rt,uuidV4:()=>Ya,verifyMessage:()=>uu,verifyTypedData:()=>mu,version:()=>Zi,wordlists:()=>bd,zeroPadBytes:()=>Zr,zeroPadValue:()=>Ie});p();m();p();m();var Zi="6.13.5";p();m();p();m();p();m();p();m();p();m();p();m();p();m();function um(n,e,t){let r=e.split("|").map(i=>i.trim());for(let i=0;i<r.length;i++)switch(e){case"any":return;case"bigint":case"boolean":case"number":case"string":if(typeof n===e)return}let s=new Error(`invalid value for type ${e}`);throw s.code="INVALID_ARGUMENT",s.argument=`value.${t}`,s.value=n,s}async function ue(n){let e=Object.keys(n);return(await Promise.all(e.map(r=>Promise.resolve(n[r])))).reduce((r,s,i)=>(r[e[i]]=s,r),{})}function I(n,e,t){for(let r in e){let s=e[r],i=t?t[r]:null;i&&um(s,i,r),Object.defineProperty(n,r,{enumerable:!0,value:s,writable:!1})}}function qi(n){if(n==null)return"null";if(Array.isArray(n))return"[ "+n.map(qi).join(", ")+" ]";if(n instanceof Uint8Array){let e="0123456789abcdef",t="0x";for(let r=0;r<n.length;r++)t+=e[n[r]>>4],t+=e[n[r]&15];return t}if(typeof n=="object"&&typeof n.toJSON=="function")return qi(n.toJSON());switch(typeof n){case"boolean":case"symbol":return n.toString();case"bigint":return BigInt(n).toString();case"number":return n.toString();case"string":return JSON.stringify(n);case"object":{let e=Object.keys(n);return e.sort(),"{ "+e.map(t=>`${qi(t)}: ${qi(n[t])}`).join(", ")+" }"}}return"[ COULD NOT SERIALIZE ]"}function oe(n,e){return n&&n.code===e}function Mn(n){return oe(n,"CALL_EXCEPTION")}function ee(n,e,t){let r=n;{let i=[];if(t){if("message"in t||"code"in t||"name"in t)throw new Error(`value will overwrite populated values: ${qi(t)}`);for(let o in t){if(o==="shortMessage")continue;let a=t[o];i.push(o+"="+qi(a))}}i.push(`code=${e}`),i.push(`version=${Zi}`),i.length&&(n+=" ("+i.join(", ")+")")}let s;switch(e){case"INVALID_ARGUMENT":s=new TypeError(n);break;case"NUMERIC_FAULT":case"BUFFER_OVERRUN":s=new RangeError(n);break;default:s=new Error(n)}return I(s,{code:e}),t&&Object.assign(s,t),s.shortMessage==null&&I(s,{shortMessage:r}),s}function E(n,e,t,r){if(!n)throw ee(e,t,r)}function x(n,e,t,r){E(n,e,"INVALID_ARGUMENT",{argument:t,value:r})}function Is(n,e,t){t==null&&(t=""),t&&(t=": "+t),E(n>=e,"missing argument"+t,"MISSING_ARGUMENT",{count:n,expectedCount:e}),E(n<=e,"too many arguments"+t,"UNEXPECTED_ARGUMENT",{count:n,expectedCount:e})}var dm=["NFD","NFC","NFKD","NFKC"].reduce((n,e)=>{try{if("test".normalize(e)!=="test")throw new Error("bad");if(e==="NFD"){let t=String.fromCharCode(233).normalize("NFD"),r=String.fromCharCode(101,769);if(t!==r)throw new Error("broken")}n.push(e)}catch{}return n},[]);function Cs(n){E(dm.indexOf(n)>=0,"platform missing String.prototype.normalize","UNSUPPORTED_OPERATION",{operation:"String.prototype.normalize",info:{form:n}})}function De(n,e,t){if(t==null&&(t=""),n!==e){let r=t,s="new";t&&(r+=".",s+=" "+t),E(!1,`private constructor; use ${r}from* methods`,"UNSUPPORTED_OPERATION",{operation:s})}}function kd(n,e,t){if(n instanceof Uint8Array)return t?new Uint8Array(n):n;if(typeof n=="string"&&n.match(/^0x(?:[0-9a-f][0-9a-f])*$/i)){let r=new Uint8Array((n.length-2)/2),s=2;for(let i=0;i<r.length;i++)r[i]=parseInt(n.substring(s,s+2),16),s+=2;return r}x(!1,"invalid BytesLike value",e||"value",n)}function v(n,e){return kd(n,e,!1)}function xe(n,e){return kd(n,e,!0)}function q(n,e){return!(typeof n!="string"||!n.match(/^0x[0-9A-Fa-f]*$/)||typeof e=="number"&&n.length!==2+2*e||e===!0&&n.length%2!==0)}function qt(n){return q(n,!0)||n instanceof Uint8Array}var Ed="0123456789abcdef";function T(n){let e=v(n),t="0x";for(let r=0;r<e.length;r++){let s=e[r];t+=Ed[(s&240)>>4]+Ed[s&15]}return t}function K(n){return"0x"+n.map(e=>T(e).substring(2)).join("")}function ft(n){return q(n,!0)?(n.length-2)/2:v(n).length}function ne(n,e,t){let r=v(n);return t!=null&&t>r.length&&E(!1,"cannot slice beyond data bounds","BUFFER_OVERRUN",{buffer:r,length:r.length,offset:t}),T(r.slice(e??0,t??r.length))}function Zf(n){let e=T(n).substring(2);for(;e.startsWith("00");)e=e.substring(2);return"0x"+e}function Nd(n,e,t){let r=v(n);E(e>=r.length,"padding exceeds data length","BUFFER_OVERRUN",{buffer:new Uint8Array(r),length:e,offset:e+1});let s=new Uint8Array(e);return s.fill(0),t?s.set(r,e-r.length):s.set(r,0),T(s)}function Ie(n,e){return Nd(n,e,!0)}function Zr(n,e){return Nd(n,e,!1)}p();m();var o0=BigInt(0),Yt=BigInt(1),Yi=9007199254740991;function qr(n,e){let t=Os(n,"value"),r=BigInt(H(e,"width"));if(E(t>>r===o0,"overflow","NUMERIC_FAULT",{operation:"fromTwos",fault:"overflow",value:n}),t>>r-Yt){let s=(Yt<<r)-Yt;return-((~t&s)+Yt)}return t}function Yr(n,e){let t=U(n,"value"),r=BigInt(H(e,"width")),s=Yt<<r-Yt;if(t<o0){t=-t,E(t<=s,"too low","NUMERIC_FAULT",{operation:"toTwos",fault:"overflow",value:n});let i=(Yt<<r)-Yt;return(~t&i)+Yt}else E(t<s,"too high","NUMERIC_FAULT",{operation:"toTwos",fault:"overflow",value:n});return t}function bt(n,e){let t=Os(n,"value"),r=BigInt(H(e,"bits"));return t&(Yt<<r)-Yt}function U(n,e){switch(typeof n){case"bigint":return n;case"number":return x(Number.isInteger(n),"underflow",e||"value",n),x(n>=-Yi&&n<=Yi,"overflow",e||"value",n),BigInt(n);case"string":try{if(n==="")throw new Error("empty string");return n[0]==="-"&&n[1]!=="-"?-BigInt(n.substring(1)):BigInt(n)}catch(t){x(!1,`invalid BigNumberish string: ${t.message}`,e||"value",n)}}x(!1,"invalid BigNumberish value",e||"value",n)}function Os(n,e){let t=U(n,e);return E(t>=o0,"unsigned value cannot be negative","NUMERIC_FAULT",{fault:"overflow",operation:"getUint",value:n}),t}var Pd="0123456789abcdef";function Ct(n){if(n instanceof Uint8Array){let e="0x0";for(let t of n)e+=Pd[t>>4],e+=Pd[t&15];return BigInt(e)}return U(n)}function H(n,e){switch(typeof n){case"bigint":return x(n>=-Yi&&n<=Yi,"overflow",e||"value",n),Number(n);case"number":return x(Number.isInteger(n),"underflow",e||"value",n),x(n>=-Yi&&n<=Yi,"overflow",e||"value",n),n;case"string":try{if(n==="")throw new Error("empty string");return H(BigInt(n),e)}catch(t){x(!1,`invalid numeric string: ${t.message}`,e||"value",n)}}x(!1,"invalid numeric value",e||"value",n)}function Ma(n){return H(Ct(n))}function Se(n,e){let r=Os(n,"value").toString(16);if(e==null)r.length%2&&(r="0"+r);else{let s=H(e,"width");for(E(s*2>=r.length,`value exceeds width (${s} bytes)`,"NUMERIC_FAULT",{operation:"toBeHex",fault:"overflow",value:n});r.length<s*2;)r="0"+r}return"0x"+r}function pe(n){let e=Os(n,"value");if(e===o0)return new Uint8Array([]);let t=e.toString(16);t.length%2&&(t="0"+t);let r=new Uint8Array(t.length/2);for(let s=0;s<r.length;s++){let i=s*2;r[s]=parseInt(t.substring(i,i+2),16)}return r}function lt(n){let e=T(qt(n)?n:pe(n)).substring(2);for(;e.startsWith("0");)e=e.substring(1);return e===""&&(e="0"),"0x"+e}var c0="123456789ABCDEFGHJKLMNPQRSTUVWXYZabcdefghijkmnopqrstuvwxyz",a0=null;function hm(n){if(a0==null){a0={};for(let t=0;t<c0.length;t++)a0[c0[t]]=BigInt(t)}let e=a0[n];return x(e!=null,"invalid base58 value","letter",n),e}var xm=BigInt(0),qf=BigInt(58);function Ss(n){let e=v(n),t=Ct(e),r="";for(;t;)r=c0[Number(t%qf)]+r,t/=qf;for(let s=0;s<e.length&&!e[s];s++)r=c0[0]+r;return r}function Ga(n){let e=xm;for(let t=0;t<n.length;t++)e*=qf,e+=hm(n[t]);return e}p();m();function Ha(n){n=atob(n);let e=new Uint8Array(n.length);for(let t=0;t<n.length;t++)e[t]=n.charCodeAt(t);return v(e)}function _a(n){let e=v(n),t="";for(let r=0;r<e.length;r++)t+=String.fromCharCode(e[r]);return btoa(t)}p();m();var Xi,Xr=class{constructor(e,t,r){g(this,"filter");g(this,"emitter");y(this,Xi,void 0);h(this,Xi,t),I(this,{emitter:e,filter:r})}async removeListener(){f(this,Xi)!=null&&await this.emitter.off(this.filter,f(this,Xi))}};Xi=new WeakMap;p();m();p();m();function pm(n,e,t,r,s){x(!1,`invalid codepoint at offset ${e}; ${n}`,"bytes",t)}function Bd(n,e,t,r,s){if(n==="BAD_PREFIX"||n==="UNEXPECTED_CONTINUE"){let i=0;for(let o=e+1;o<t.length&&t[o]>>6===2;o++)i++;return i}return n==="OVERRUN"?t.length-e-1:0}function mm(n,e,t,r,s){return n==="OVERLONG"?(x(typeof s=="number","invalid bad code point for replacement","badCodepoint",s),r.push(s),0):(r.push(65533),Bd(n,e,t,r,s))}var f0=Object.freeze({error:pm,ignore:Bd,replace:mm});function Rd(n,e){e==null&&(e=f0.error);let t=v(n,"bytes"),r=[],s=0;for(;s<t.length;){let i=t[s++];if(i>>7===0){r.push(i);continue}let o=null,a=null;if((i&224)===192)o=1,a=127;else if((i&240)===224)o=2,a=2047;else if((i&248)===240)o=3,a=65535;else{(i&192)===128?s+=e("UNEXPECTED_CONTINUE",s-1,t,r):s+=e("BAD_PREFIX",s-1,t,r);continue}if(s-1+o>=t.length){s+=e("OVERRUN",s-1,t,r);continue}let c=i&(1<<8-o-1)-1;for(let l=0;l<o;l++){let u=t[s];if((u&192)!=128){s+=e("MISSING_CONTINUE",s,t,r),c=null;break}c=c<<6|u&63,s++}if(c!==null){if(c>1114111){s+=e("OUT_OF_RANGE",s-1-o,t,r,c);continue}if(c>=55296&&c<=57343){s+=e("UTF16_SURROGATE",s-1-o,t,r,c);continue}if(c<=a){s+=e("OVERLONG",s-1-o,t,r,c);continue}r.push(c)}}return r}function ae(n,e){x(typeof n=="string","invalid string value","str",n),e!=null&&(Cs(e),n=n.normalize(e));let t=[];for(let r=0;r<n.length;r++){let s=n.charCodeAt(r);if(s<128)t.push(s);else if(s<2048)t.push(s>>6|192),t.push(s&63|128);else if((s&64512)==55296){r++;let i=n.charCodeAt(r);x(r<n.length&&(i&64512)===56320,"invalid surrogate pair","str",n);let o=65536+((s&1023)<<10)+(i&1023);t.push(o>>18|240),t.push(o>>12&63|128),t.push(o>>6&63|128),t.push(o&63|128)}else t.push(s>>12|224),t.push(s>>6&63|128),t.push(s&63|128)}return new Uint8Array(t)}function bm(n){return n.map(e=>e<=65535?String.fromCharCode(e):(e-=65536,String.fromCharCode((e>>10&1023)+55296,(e&1023)+56320))).join("")}function rt(n,e){return bm(Rd(n,e))}function Yf(n,e){return Rd(ae(n,e))}p();m();function l0(n){async function e(t,r){E(r==null||!r.cancelled,"request cancelled before sending","CANCELLED");let s=t.url.split(":")[0].toLowerCase();E(s==="http"||s==="https",`unsupported protocol ${s}`,"UNSUPPORTED_OPERATION",{info:{protocol:s},operation:"request"}),E(s==="https"||!t.credentials||t.allowInsecureAuthentication,"insecure authorized connections unsupported","UNSUPPORTED_OPERATION",{operation:"request"});let i=null,o=new AbortController,a=setTimeout(()=>{i=ee("request timeout","TIMEOUT"),o.abort()},t.timeout);r&&r.addListener(()=>{i=ee("request cancelled","CANCELLED"),o.abort()});let c=new Headers(Array.from(t));c.delete("content-length");let l={method:t.method,headers:c,body:t.body||void 0,signal:o.signal},u;try{u=await fetch(t.url,l)}catch(k){throw clearTimeout(a),i||k}clearTimeout(a);let d={};u.headers.forEach((k,A)=>{d[A.toLowerCase()]=k});let b=await u.arrayBuffer(),w=b==null?null:new Uint8Array(b);return{statusCode:u.status,statusMessage:u.statusText,headers:d,body:w}}return e}var O2=l0({});var gm=12,ym=250,Td=l0(),wm=new RegExp("^data:([^;:]*)?(;base64)?,(.*)$","i"),Am=new RegExp("^ipfs://(ipfs/)?(.*)$","i"),Xf=!1;async function Id(n,e){try{let t=n.match(wm);if(!t)throw new Error("invalid data");return new er(200,"OK",{"content-type":t[1]||"text/plain"},t[2]?Ha(t[3]):Em(t[3]))}catch{return new er(599,"BAD REQUEST (invalid data: URI)",{},null,new ce(n))}}function Cd(n){async function e(t,r){try{let s=t.match(Am);if(!s)throw new Error("invalid link");return new ce(`${n}${s[2]}`)}catch{return new er(599,"BAD REQUEST (invalid IPFS URI)",{},null,new ce(t))}}return e}var u0={data:Id,ipfs:Cd("https://gateway.ipfs.io/ipfs/")},Od=new WeakMap,Us,Gn,so=class{constructor(e){y(this,Us,void 0);y(this,Gn,void 0);h(this,Us,[]),h(this,Gn,!1),Od.set(e,()=>{if(!f(this,Gn)){h(this,Gn,!0);for(let t of f(this,Us))setTimeout(()=>{t()},0);h(this,Us,[])}})}addListener(e){E(!f(this,Gn),"singal already cancelled","UNSUPPORTED_OPERATION",{operation:"fetchCancelSignal.addCancelListener"}),f(this,Us).push(e)}get cancelled(){return f(this,Gn)}checkSignal(){E(!this.cancelled,"cancelled","CANCELLED",{})}};Us=new WeakMap,Gn=new WeakMap;function d0(n){if(n==null)throw new Error("missing signal; should not happen");return n.checkSignal(),n}var $i,eo,Xt,$r,to,ro,Ue,gt,en,Ls,Ds,Fs,Nr,$t,Hn,Ms,Va,h0=class{constructor(e){y(this,Ms);y(this,$i,void 0);y(this,eo,void 0);y(this,Xt,void 0);y(this,$r,void 0);y(this,to,void 0);y(this,ro,void 0);y(this,Ue,void 0);y(this,gt,void 0);y(this,en,void 0);y(this,Ls,void 0);y(this,Ds,void 0);y(this,Fs,void 0);y(this,Nr,void 0);y(this,$t,void 0);y(this,Hn,void 0);h(this,ro,String(e)),h(this,$i,!1),h(this,eo,!0),h(this,Xt,{}),h(this,$r,""),h(this,to,3e5),h(this,$t,{slotInterval:ym,maxAttempts:gm}),h(this,Hn,null)}get url(){return f(this,ro)}set url(e){h(this,ro,String(e))}get body(){return f(this,Ue)==null?null:new Uint8Array(f(this,Ue))}set body(e){if(e==null)h(this,Ue,void 0),h(this,gt,void 0);else if(typeof e=="string")h(this,Ue,ae(e)),h(this,gt,"text/plain");else if(e instanceof Uint8Array)h(this,Ue,e),h(this,gt,"application/octet-stream");else if(typeof e=="object")h(this,Ue,ae(JSON.stringify(e))),h(this,gt,"application/json");else throw new Error("invalid body")}hasBody(){return f(this,Ue)!=null}get method(){return f(this,$r)?f(this,$r):this.hasBody()?"POST":"GET"}set method(e){e==null&&(e=""),h(this,$r,String(e).toUpperCase())}get headers(){let e=Object.assign({},f(this,Xt));return f(this,en)&&(e.authorization=`Basic ${_a(ae(f(this,en)))}`),this.allowGzip&&(e["accept-encoding"]="gzip"),e["content-type"]==null&&f(this,gt)&&(e["content-type"]=f(this,gt)),this.body&&(e["content-length"]=String(this.body.length)),e}getHeader(e){return this.headers[e.toLowerCase()]}setHeader(e,t){f(this,Xt)[String(e).toLowerCase()]=String(t)}clearHeaders(){h(this,Xt,{})}[Symbol.iterator](){let e=this.headers,t=Object.keys(e),r=0;return{next:()=>{if(r<t.length){let s=t[r++];return{value:[s,e[s]],done:!1}}return{value:void 0,done:!0}}}}get credentials(){return f(this,en)||null}setCredentials(e,t){x(!e.match(/:/),"invalid basic authentication username","username","[REDACTED]"),h(this,en,`${e}:${t}`)}get allowGzip(){return f(this,eo)}set allowGzip(e){h(this,eo,!!e)}get allowInsecureAuthentication(){return!!f(this,$i)}set allowInsecureAuthentication(e){h(this,$i,!!e)}get timeout(){return f(this,to)}set timeout(e){x(e>=0,"timeout must be non-zero","timeout",e),h(this,to,e)}get preflightFunc(){return f(this,Ls)||null}set preflightFunc(e){h(this,Ls,e)}get processFunc(){return f(this,Ds)||null}set processFunc(e){h(this,Ds,e)}get retryFunc(){return f(this,Fs)||null}set retryFunc(e){h(this,Fs,e)}get getUrlFunc(){return f(this,Hn)||Td}set getUrlFunc(e){h(this,Hn,e)}toString(){return`<FetchRequest method=${JSON.stringify(this.method)} url=${JSON.stringify(this.url)} headers=${JSON.stringify(this.headers)} body=${f(this,Ue)?T(f(this,Ue)):"null"}>`}setThrottleParams(e){e.slotInterval!=null&&(f(this,$t).slotInterval=e.slotInterval),e.maxAttempts!=null&&(f(this,$t).maxAttempts=e.maxAttempts)}send(){return E(f(this,Nr)==null,"request already sent","UNSUPPORTED_OPERATION",{operation:"fetchRequest.send"}),h(this,Nr,new so(this)),R(this,Ms,Va).call(this,0,vd()+this.timeout,0,this,new er(0,"",{},null,this))}cancel(){E(f(this,Nr)!=null,"request has not been sent","UNSUPPORTED_OPERATION",{operation:"fetchRequest.cancel"});let e=Od.get(this);if(!e)throw new Error("missing signal; should not happen");e()}redirect(e){let t=this.url.split(":")[0].toLowerCase(),r=e.split(":")[0].toLowerCase();E(this.method==="GET"&&(t!=="https"||r!=="http")&&e.match(/^https?:/),"unsupported redirect","UNSUPPORTED_OPERATION",{operation:`redirect(${this.method} ${JSON.stringify(this.url)} => ${JSON.stringify(e)})`});let s=new h0(e);return s.method="GET",s.allowGzip=this.allowGzip,s.timeout=this.timeout,h(s,Xt,Object.assign({},f(this,Xt))),f(this,Ue)&&h(s,Ue,new Uint8Array(f(this,Ue))),h(s,gt,f(this,gt)),s}clone(){let e=new h0(this.url);return h(e,$r,f(this,$r)),f(this,Ue)&&h(e,Ue,f(this,Ue)),h(e,gt,f(this,gt)),h(e,Xt,Object.assign({},f(this,Xt))),h(e,en,f(this,en)),this.allowGzip&&(e.allowGzip=!0),e.timeout=this.timeout,this.allowInsecureAuthentication&&(e.allowInsecureAuthentication=!0),h(e,Ls,f(this,Ls)),h(e,Ds,f(this,Ds)),h(e,Fs,f(this,Fs)),h(e,$t,Object.assign({},f(this,$t))),h(e,Hn,f(this,Hn)),e}static lockConfig(){Xf=!0}static getGateway(e){return u0[e.toLowerCase()]||null}static registerGateway(e,t){if(e=e.toLowerCase(),e==="http"||e==="https")throw new Error(`cannot intercept ${e}; use registerGetUrl`);if(Xf)throw new Error("gateways locked");u0[e]=t}static registerGetUrl(e){if(Xf)throw new Error("gateways locked");Td=e}static createGetUrlFunc(e){return l0(e)}static createDataGateway(){return Id}static createIpfsGatewayFunc(e){return Cd(e)}},ce=h0;$i=new WeakMap,eo=new WeakMap,Xt=new WeakMap,$r=new WeakMap,to=new WeakMap,ro=new WeakMap,Ue=new WeakMap,gt=new WeakMap,en=new WeakMap,Ls=new WeakMap,Ds=new WeakMap,Fs=new WeakMap,Nr=new WeakMap,$t=new WeakMap,Hn=new WeakMap,Ms=new WeakSet,Va=async function(e,t,r,s,i){var u,d,b;if(e>=f(this,$t).maxAttempts)return i.makeServerError("exceeded maximum retry limit");E(vd()<=t,"timeout","TIMEOUT",{operation:"request.send",reason:"timeout",request:s}),r>0&&await km(r);let o=this.clone(),a=(o.url.split(":")[0]||"").toLowerCase();if(a in u0){let w=await u0[a](o.url,d0(f(s,Nr)));if(w instanceof er){let k=w;if(this.processFunc){d0(f(s,Nr));try{k=await this.processFunc(o,k)}catch(A){(A.throttle==null||typeof A.stall!="number")&&k.makeServerError("error in post-processing function",A).assertOk()}}return k}o=w}this.preflightFunc&&(o=await this.preflightFunc(o));let c=await this.getUrlFunc(o,d0(f(s,Nr))),l=new er(c.statusCode,c.statusMessage,c.headers,c.body,s);if(l.statusCode===301||l.statusCode===302){try{let w=l.headers.location||"";return R(u=o.redirect(w),Ms,Va).call(u,e+1,t,0,s,l)}catch{}return l}else if(l.statusCode===429&&(this.retryFunc==null||await this.retryFunc(o,l,e))){let w=l.headers["retry-after"],k=f(this,$t).slotInterval*Math.trunc(Math.random()*Math.pow(2,e));return typeof w=="string"&&w.match(/^[1-9][0-9]*$/)&&(k=parseInt(w)),R(d=o.clone(),Ms,Va).call(d,e+1,t,k,s,l)}if(this.processFunc){d0(f(s,Nr));try{l=await this.processFunc(o,l)}catch(w){(w.throttle==null||typeof w.stall!="number")&&l.makeServerError("error in post-processing function",w).assertOk();let k=f(this,$t).slotInterval*Math.trunc(Math.random()*Math.pow(2,e));return w.stall>=0&&(k=w.stall),R(b=o.clone(),Ms,Va).call(b,e+1,t,k,s,l)}}return l};var Qa,Ka,za,yt,no,Gs,$f=class{constructor(e,t,r,s,i){y(this,Qa,void 0);y(this,Ka,void 0);y(this,za,void 0);y(this,yt,void 0);y(this,no,void 0);y(this,Gs,void 0);h(this,Qa,e),h(this,Ka,t),h(this,za,Object.keys(r).reduce((o,a)=>(o[a.toLowerCase()]=String(r[a]),o),{})),h(this,yt,s==null?null:new Uint8Array(s)),h(this,no,i||null),h(this,Gs,{message:""})}toString(){return`<FetchResponse status=${this.statusCode} body=${f(this,yt)?T(f(this,yt)):"null"}>`}get statusCode(){return f(this,Qa)}get statusMessage(){return f(this,Ka)}get headers(){return Object.assign({},f(this,za))}get body(){return f(this,yt)==null?null:new Uint8Array(f(this,yt))}get bodyText(){try{return f(this,yt)==null?"":rt(f(this,yt))}catch{E(!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{E(!1,"response body is not valid JSON","UNSUPPORTED_OPERATION",{operation:"bodyJson",info:{response:this}})}}[Symbol.iterator](){let e=this.headers,t=Object.keys(e),r=0;return{next:()=>{if(r<t.length){let s=t[r++];return{value:[s,e[s]],done:!1}}return{value:void 0,done:!0}}}}makeServerError(e,t){let r;e?r=`CLIENT ESCALATED SERVER ERROR (${this.statusCode} ${this.statusMessage}; ${e})`:(e=`${this.statusCode} ${this.statusMessage}`,r=`CLIENT ESCALATED SERVER ERROR (${e})`);let s=new $f(599,r,this.headers,this.body,f(this,no)||void 0);return h(s,Gs,{message:e,error:t}),s}throwThrottleError(e,t){t==null?t=-1:x(Number.isInteger(t)&&t>=0,"invalid stall timeout","stall",t);let r=new Error(e||"throttling requests");throw I(r,{stall:t,throttle:!0}),r}getHeader(e){return this.headers[e.toLowerCase()]}hasBody(){return f(this,yt)!=null}get request(){return f(this,no)}ok(){return f(this,Gs).message===""&&this.statusCode>=200&&this.statusCode<300}assertOk(){if(this.ok())return;let{message:e,error:t}=f(this,Gs);e===""&&(e=`server response ${this.statusCode} ${this.statusMessage}`);let r=null;this.request&&(r=this.request.url);let s=null;try{f(this,yt)&&(s=rt(f(this,yt)))}catch{}E(!1,e,"SERVER_ERROR",{request:this.request||"unknown request",response:this,error:t,info:{requestUrl:r,responseBody:s,responseStatus:`${this.statusCode} ${this.statusMessage}`}})}},er=$f;Qa=new WeakMap,Ka=new WeakMap,za=new WeakMap,yt=new WeakMap,no=new WeakMap,Gs=new WeakMap;function vd(){return new Date().getTime()}function Em(n){return ae(n.replace(/%([0-9a-f][0-9a-f])/gi,(e,t)=>String.fromCharCode(parseInt(t,16))))}function km(n){return new Promise(e=>setTimeout(e,n))}p();m();var Nm=BigInt(-1),tr=BigInt(0),oo=BigInt(1),Pm=BigInt(5),io={},ao="0000";for(;ao.length<80;)ao+=ao;function Hs(n){let e=ao;for(;e.length<n;)e+=e;return BigInt("1"+e.substring(0,n))}function Ja(n,e,t){let r=BigInt(e.width);if(e.signed){let s=oo<<r-oo;E(t==null||n>=-s&&n<s,"overflow","NUMERIC_FAULT",{operation:t,fault:"overflow",value:n}),n>tr?n=qr(bt(n,r),r):n=-qr(bt(-n,r),r)}else{let s=oo<<r;E(t==null||n>=0&&n<s,"overflow","NUMERIC_FAULT",{operation:t,fault:"overflow",value:n}),n=(n%s+s)%s&s-oo}return n}function el(n){typeof n=="number"&&(n=`fixed128x${n}`);let e=!0,t=128,r=18;if(typeof n=="string"){if(n!=="fixed")if(n==="ufixed")e=!1;else{let i=n.match(/^(u?)fixed([0-9]+)x([0-9]+)$/);x(i,"invalid fixed format","format",n),e=i[1]!=="u",t=parseInt(i[2]),r=parseInt(i[3])}}else if(n){let i=n,o=(a,c,l)=>i[a]==null?l:(x(typeof i[a]===c,"invalid fixed format ("+a+" not "+c+")","format."+a,i[a]),i[a]);e=o("signed","boolean",e),t=o("width","number",t),r=o("decimals","number",r)}x(t%8===0,"invalid FixedNumber width (not byte aligned)","format.width",t),x(r<=80,"invalid FixedNumber decimals (too large)","format.decimals",r);let s=(e?"":"u")+"fixed"+String(t)+"x"+String(r);return{signed:e,width:t,decimals:r,name:s}}function Bm(n,e){let t="";n<tr&&(t="-",n*=Nm);let r=n.toString();if(e===0)return t+r;for(;r.length<=e;)r=ao+r;let s=r.length-e;for(r=r.substring(0,s)+"."+r.substring(s);r[0]==="0"&&r[1]!==".";)r=r.substring(1);for(;r[r.length-1]==="0"&&r[r.length-2]!==".";)r=r.substring(0,r.length-1);return t+r}var rr,fe,nt,rn,_s,nr,tn,Wa,tl,ja,rl,Za,nl,qa,sl,_n=class{constructor(e,t,r){y(this,rn);y(this,nr);y(this,Wa);y(this,ja);y(this,Za);y(this,qa);g(this,"format");y(this,rr,void 0);y(this,fe,void 0);y(this,nt,void 0);g(this,"_value");De(e,io,"FixedNumber"),h(this,fe,t),h(this,rr,r);let s=Bm(t,r.decimals);I(this,{format:r.name,_value:s}),h(this,nt,Hs(r.decimals))}get signed(){return f(this,rr).signed}get width(){return f(this,rr).width}get decimals(){return f(this,rr).decimals}get value(){return f(this,fe)}addUnsafe(e){return R(this,Wa,tl).call(this,e)}add(e){return R(this,Wa,tl).call(this,e,"add")}subUnsafe(e){return R(this,ja,rl).call(this,e)}sub(e){return R(this,ja,rl).call(this,e,"sub")}mulUnsafe(e){return R(this,Za,nl).call(this,e)}mul(e){return R(this,Za,nl).call(this,e,"mul")}mulSignal(e){R(this,rn,_s).call(this,e);let t=f(this,fe)*f(e,fe);return E(t%f(this,nt)===tr,"precision lost during signalling mul","NUMERIC_FAULT",{operation:"mulSignal",fault:"underflow",value:this}),R(this,nr,tn).call(this,t/f(this,nt),"mulSignal")}divUnsafe(e){return R(this,qa,sl).call(this,e)}div(e){return R(this,qa,sl).call(this,e,"div")}divSignal(e){E(f(e,fe)!==tr,"division by zero","NUMERIC_FAULT",{operation:"div",fault:"divide-by-zero",value:this}),R(this,rn,_s).call(this,e);let t=f(this,fe)*f(this,nt);return E(t%f(e,fe)===tr,"precision lost during signalling div","NUMERIC_FAULT",{operation:"divSignal",fault:"underflow",value:this}),R(this,nr,tn).call(this,t/f(e,fe),"divSignal")}cmp(e){let t=this.value,r=e.value,s=this.decimals-e.decimals;return s>0?r*=Hs(s):s<0&&(t*=Hs(-s)),t<r?-1:t>r?1:0}eq(e){return this.cmp(e)===0}lt(e){return this.cmp(e)<0}lte(e){return this.cmp(e)<=0}gt(e){return this.cmp(e)>0}gte(e){return this.cmp(e)>=0}floor(){let e=f(this,fe);return f(this,fe)<tr&&(e-=f(this,nt)-oo),e=f(this,fe)/f(this,nt)*f(this,nt),R(this,nr,tn).call(this,e,"floor")}ceiling(){let e=f(this,fe);return f(this,fe)>tr&&(e+=f(this,nt)-oo),e=f(this,fe)/f(this,nt)*f(this,nt),R(this,nr,tn).call(this,e,"ceiling")}round(e){if(e==null&&(e=0),e>=this.decimals)return this;let t=this.decimals-e,r=Pm*Hs(t-1),s=this.value+r,i=Hs(t);return s=s/i*i,Ja(s,f(this,rr),"round"),new _n(io,s,f(this,rr))}isZero(){return f(this,fe)===tr}isNegative(){return f(this,fe)<tr}toString(){return this._value}toUnsafeFloat(){return parseFloat(this.toString())}toFormat(e){return _n.fromString(this.toString(),e)}static fromValue(e,t,r){let s=t==null?0:H(t),i=el(r),o=U(e,"value"),a=s-i.decimals;if(a>0){let c=Hs(a);E(o%c===tr,"value loses precision for format","NUMERIC_FAULT",{operation:"fromValue",fault:"underflow",value:e}),o/=c}else a<0&&(o*=Hs(-a));return Ja(o,i,"fromValue"),new _n(io,o,i)}static fromString(e,t){let r=e.match(/^(-?)([0-9]*)\.?([0-9]*)$/);x(r&&r[2].length+r[3].length>0,"invalid FixedNumber string value","value",e);let s=el(t),i=r[2]||"0",o=r[3]||"";for(;o.length<s.decimals;)o+=ao;E(o.substring(s.decimals).match(/^0*$/),"too many decimals for format","NUMERIC_FAULT",{operation:"fromString",fault:"underflow",value:e}),o=o.substring(0,s.decimals);let a=BigInt(r[1]+i+o);return Ja(a,s,"fromString"),new _n(io,a,s)}static fromBytes(e,t){let r=Ct(v(e,"value")),s=el(t);return s.signed&&(r=qr(r,s.width)),Ja(r,s,"fromBytes"),new _n(io,r,s)}},Vn=_n;rr=new WeakMap,fe=new WeakMap,nt=new WeakMap,rn=new WeakSet,_s=function(e){x(this.format===e.format,"incompatible format; use fixedNumber.toFormat","other",e)},nr=new WeakSet,tn=function(e,t){return e=Ja(e,f(this,rr),t),new _n(io,e,f(this,rr))},Wa=new WeakSet,tl=function(e,t){return R(this,rn,_s).call(this,e),R(this,nr,tn).call(this,f(this,fe)+f(e,fe),t)},ja=new WeakSet,rl=function(e,t){return R(this,rn,_s).call(this,e),R(this,nr,tn).call(this,f(this,fe)-f(e,fe),t)},Za=new WeakSet,nl=function(e,t){return R(this,rn,_s).call(this,e),R(this,nr,tn).call(this,f(this,fe)*f(e,fe)/f(this,nt),t)},qa=new WeakSet,sl=function(e,t){return E(f(e,fe)!==tr,"division by zero","NUMERIC_FAULT",{operation:"div",fault:"divide-by-zero",value:this}),R(this,rn,_s).call(this,e),R(this,nr,tn).call(this,f(this,fe)*f(this,nt)/f(e,fe),t)};p();m();function Rm(n){let e=n.toString(16);for(;e.length<2;)e="0"+e;return"0x"+e}function Sd(n,e,t){let r=0;for(let s=0;s<t;s++)r=r*256+n[e+s];return r}function Ud(n,e,t,r){let s=[];for(;t<e+1+r;){let i=Ld(n,t);s.push(i.result),t+=i.consumed,E(t<=e+1+r,"child data too short","BUFFER_OVERRUN",{buffer:n,length:r,offset:e})}return{consumed:1+r,result:s}}function Ld(n,e){E(n.length!==0,"data too short","BUFFER_OVERRUN",{buffer:n,length:0,offset:1});let t=r=>{E(r<=n.length,"data short segment too short","BUFFER_OVERRUN",{buffer:n,length:n.length,offset:r})};if(n[e]>=248){let r=n[e]-247;t(e+1+r);let s=Sd(n,e+1,r);return t(e+1+r+s),Ud(n,e,e+1+r,r+s)}else if(n[e]>=192){let r=n[e]-192;return t(e+1+r),Ud(n,e,e+1,r)}else if(n[e]>=184){let r=n[e]-183;t(e+1+r);let s=Sd(n,e+1,r);t(e+1+r+s);let i=T(n.slice(e+1+r,e+1+r+s));return{consumed:1+r+s,result:i}}else if(n[e]>=128){let r=n[e]-128;t(e+1+r);let s=T(n.slice(e+1,e+1+r));return{consumed:1+r,result:s}}return{consumed:1,result:Rm(n[e])}}function Qn(n){let e=v(n,"data"),t=Ld(e,0);return x(t.consumed===e.length,"unexpected junk after rlp payload","data",n),t.result}p();m();function Dd(n){let e=[];for(;n;)e.unshift(n&255),n>>=8;return e}function Md(n){if(Array.isArray(n)){let r=[];if(n.forEach(function(i){r=r.concat(Md(i))}),r.length<=55)return r.unshift(192+r.length),r;let s=Dd(r.length);return s.unshift(247+s.length),s.concat(r)}let e=Array.prototype.slice.call(v(n,"object"));if(e.length===1&&e[0]<=127)return e;if(e.length<=55)return e.unshift(128+e.length),e;let t=Dd(e.length);return t.unshift(183+t.length),t.concat(e)}var Fd="0123456789abcdef";function Ot(n){let e="0x";for(let t of Md(n))e+=Fd[t>>4],e+=Fd[t&15];return e}p();m();var Gd=["wei","kwei","mwei","gwei","szabo","finney","ether"];function x0(n,e){let t=18;if(typeof e=="string"){let r=Gd.indexOf(e);x(r>=0,"invalid unit","unit",e),t=3*r}else e!=null&&(t=H(e,"unit"));return Vn.fromValue(n,t,{decimals:t,width:512}).toString()}function p0(n,e){x(typeof n=="string","value must be a string","value",n);let t=18;if(typeof e=="string"){let r=Gd.indexOf(e);x(r>=0,"invalid unit","unit",e),t=3*r}else e!=null&&(t=H(e,"unit"));return Vn.fromString(n,{decimals:t,width:512}).value}function il(n){return x0(n,18)}function ol(n){return p0(n,18)}p();m();function Ya(n){let e=v(n,"randomBytes");e[6]=e[6]&15|64,e[8]=e[8]&63|128;let t=T(e);return[t.substring(2,10),t.substring(10,14),t.substring(14,18),t.substring(18,22),t.substring(22,34)].join("-")}p();m();var Fe=32,al=new Uint8Array(Fe),Tm=["then"],m0={},Vd=new WeakMap;function Vs(n){return Vd.get(n)}function Hd(n,e){Vd.set(n,e)}function Xa(n,e){let t=new Error(`deferred error during ABI decoding triggered accessing ${n}`);throw t.error=e,t}function cl(n,e,t){return n.indexOf(null)>=0?e.map((r,s)=>r instanceof sr?cl(Vs(r),r,t):r):n.reduce((r,s,i)=>{let o=e.getValue(s);return s in r||(t&&o instanceof sr&&(o=cl(Vs(o),o,t)),r[s]=o),r},{})}var fo,co=class extends Array{constructor(...t){let r=t[0],s=t[1],i=(t[2]||[]).slice(),o=!0;r!==m0&&(s=t,i=[],o=!1);super(s.length);y(this,fo,void 0);s.forEach((l,u)=>{this[u]=l});let a=i.reduce((l,u)=>(typeof u=="string"&&l.set(u,(l.get(u)||0)+1),l),new Map);if(Hd(this,Object.freeze(s.map((l,u)=>{let d=i[u];return d!=null&&a.get(d)===1?d:null}))),h(this,fo,[]),f(this,fo)==null&&f(this,fo),!o)return;Object.freeze(this);let c=new Proxy(this,{get:(l,u,d)=>{if(typeof u=="string"){if(u.match(/^[0-9]+$/)){let w=H(u,"%index");if(w<0||w>=this.length)throw new RangeError("out of result range");let k=l[w];return k instanceof Error&&Xa(`index ${w}`,k),k}if(Tm.indexOf(u)>=0)return Reflect.get(l,u,d);let b=l[u];if(b instanceof Function)return function(...w){return b.apply(this===d?l:this,w)};if(!(u in l))return l.getValue.apply(this===d?l:this,[u])}return Reflect.get(l,u,d)}});return Hd(c,Vs(this)),c}toArray(t){let r=[];return this.forEach((s,i)=>{s instanceof Error&&Xa(`index ${i}`,s),t&&s instanceof co&&(s=s.toArray(t)),r.push(s)}),r}toObject(t){let r=Vs(this);return r.reduce((s,i,o)=>(E(i!=null,`value at index ${o} unnamed`,"UNSUPPORTED_OPERATION",{operation:"toObject()"}),cl(r,this,t)),{})}slice(t,r){t==null&&(t=0),t<0&&(t+=this.length,t<0&&(t=0)),r==null&&(r=this.length),r<0&&(r+=this.length,r<0&&(r=0)),r>this.length&&(r=this.length);let s=Vs(this),i=[],o=[];for(let a=t;a<r;a++)i.push(this[a]),o.push(s[a]);return new co(m0,i,o)}filter(t,r){let s=Vs(this),i=[],o=[];for(let a=0;a<this.length;a++){let c=this[a];c instanceof Error&&Xa(`index ${a}`,c),t.call(r,c,a,this)&&(i.push(c),o.push(s[a]))}return new co(m0,i,o)}map(t,r){let s=[];for(let i=0;i<this.length;i++){let o=this[i];o instanceof Error&&Xa(`index ${i}`,o),s.push(t.call(r,o,i,this))}return s}getValue(t){let r=Vs(this).indexOf(t);if(r===-1)return;let s=this[r];return s instanceof Error&&Xa(`property ${JSON.stringify(t)}`,s.error),s}static fromItems(t,r){return new co(m0,t,r)}},sr=co;fo=new WeakMap;function w0(n){let e=[],t=function(r,s){if(!!Array.isArray(s))for(let i in s){let o=r.slice();o.push(i);try{t(o,s[i])}catch(a){e.push({path:o,error:a})}}};return t([],n),e}function _d(n){let e=pe(n);return E(e.length<=Fe,"value out-of-bounds","BUFFER_OVERRUN",{buffer:e,length:Fe,offset:e.length}),e.length!==Fe&&(e=xe(K([al.slice(e.length%Fe),e]))),e}var Te=class{constructor(e,t,r,s){g(this,"name");g(this,"type");g(this,"localName");g(this,"dynamic");I(this,{name:e,type:t,localName:r,dynamic:s},{name:"string",type:"string",localName:"string",dynamic:"boolean"})}_throwError(e,t){x(!1,e,this.localName,t)}},nn,Qs,lo,b0,Js=class{constructor(){y(this,lo);y(this,nn,void 0);y(this,Qs,void 0);h(this,nn,[]),h(this,Qs,0)}get data(){return K(f(this,nn))}get length(){return f(this,Qs)}appendWriter(e){return R(this,lo,b0).call(this,xe(e.data))}writeBytes(e){let t=xe(e),r=t.length%Fe;return r&&(t=xe(K([t,al.slice(r)]))),R(this,lo,b0).call(this,t)}writeValue(e){return R(this,lo,b0).call(this,_d(e))}writeUpdatableValue(){let e=f(this,nn).length;return f(this,nn).push(al),h(this,Qs,f(this,Qs)+Fe),t=>{f(this,nn)[e]=_d(t)}}};nn=new WeakMap,Qs=new WeakMap,lo=new WeakSet,b0=function(e){return f(this,nn).push(e),h(this,Qs,f(this,Qs)+e.length),e.length};var ut,wt,Ks,zs,Kn,$a,fl,y0,Qd,ll=class{constructor(e,t,r){y(this,$a);y(this,y0);g(this,"allowLoose");y(this,ut,void 0);y(this,wt,void 0);y(this,Ks,void 0);y(this,zs,void 0);y(this,Kn,void 0);I(this,{allowLoose:!!t}),h(this,ut,xe(e)),h(this,Ks,0),h(this,zs,null),h(this,Kn,r??1024),h(this,wt,0)}get data(){return T(f(this,ut))}get dataLength(){return f(this,ut).length}get consumed(){return f(this,wt)}get bytes(){return new Uint8Array(f(this,ut))}subReader(e){let t=new ll(f(this,ut).slice(f(this,wt)+e),this.allowLoose,f(this,Kn));return h(t,zs,this),t}readBytes(e,t){let r=R(this,y0,Qd).call(this,0,e,!!t);return R(this,$a,fl).call(this,e),h(this,wt,f(this,wt)+r.length),r.slice(0,e)}readValue(){return Ct(this.readBytes(Fe))}readIndex(){return Ma(this.readBytes(Fe))}},g0=ll;ut=new WeakMap,wt=new WeakMap,Ks=new WeakMap,zs=new WeakMap,Kn=new WeakMap,$a=new WeakSet,fl=function(e){var t;if(f(this,zs))return R(t=f(this,zs),$a,fl).call(t,e);h(this,Ks,f(this,Ks)+e),E(f(this,Kn)<1||f(this,Ks)<=f(this,Kn)*this.dataLength,`compressed ABI data exceeds inflation ratio of ${f(this,Kn)} ( see: https://github.com/ethers-io/ethers.js/issues/4537 )`,"BUFFER_OVERRUN",{buffer:xe(f(this,ut)),offset:f(this,wt),length:e,info:{bytesRead:f(this,Ks),dataLength:this.dataLength}})},y0=new WeakSet,Qd=function(e,t,r){let s=Math.ceil(t/Fe)*Fe;return f(this,wt)+s>f(this,ut).length&&(this.allowLoose&&r&&f(this,wt)+t<=f(this,ut).length?s=t:E(!1,"data out-of-bounds","BUFFER_OVERRUN",{buffer:xe(f(this,ut)),length:f(this,ut).length,offset:f(this,wt)+s})),f(this,ut).slice(f(this,wt),f(this,wt)+s)};p();m();p();m();p();m();p();m();p();m();p();m();p();m();p();m();function We(n){if(!Number.isSafeInteger(n)||n<0)throw new Error(`Wrong positive integer: ${n}`)}function ec(n,...e){if(!(n instanceof Uint8Array))throw new Error("Expected Uint8Array");if(e.length>0&&!e.includes(n.length))throw new Error(`Expected Uint8Array of length ${e}, not of length=${n.length}`)}function A0(n){if(typeof n!="function"||typeof n.create!="function")throw new Error("Hash should be wrapped by utils.wrapConstructor");We(n.outputLen),We(n.blockLen)}function sn(n,e=!0){if(n.destroyed)throw new Error("Hash instance has been destroyed");if(e&&n.finished)throw new Error("Hash#digest() has already been called")}function E0(n,e){ec(n);let t=e.outputLen;if(n.length<t)throw new Error(`digestInto() expects output buffer of length at least ${t}`)}p();m();p();m();var k0=typeof globalThis=="object"&&"crypto"in globalThis?globalThis.crypto:void 0;var Kd=n=>n instanceof Uint8Array;var uo=n=>new Uint32Array(n.buffer,n.byteOffset,Math.floor(n.byteLength/4)),ho=n=>new DataView(n.buffer,n.byteOffset,n.byteLength),ir=(n,e)=>n<<32-e|n>>>e,vm=new Uint8Array(new Uint32Array([287454020]).buffer)[0]===68;if(!vm)throw new Error("Non little-endian hardware is not supported");var Im=async()=>{};async function N0(n,e,t){let r=Date.now();for(let s=0;s<n;s++){t(s);let i=Date.now()-r;i>=0&&i<e||(await Im(),r+=i)}}function Cm(n){if(typeof n!="string")throw new Error(`utf8ToBytes expected string, got ${typeof n}`);return new Uint8Array(new TextEncoder().encode(n))}function or(n){if(typeof n=="string"&&(n=Cm(n)),!Kd(n))throw new Error(`expected Uint8Array, got ${typeof n}`);return n}function zd(...n){let e=new Uint8Array(n.reduce((r,s)=>r+s.length,0)),t=0;return n.forEach(r=>{if(!Kd(r))throw new Error("Uint8Array expected");e.set(r,t),t+=r.length}),e}var zn=class{clone(){return this._cloneInto()}},Om={}.toString;function P0(n,e){if(e!==void 0&&Om.call(e)!=="[object Object]")throw new Error("Options should be object or undefined");return Object.assign(n,e)}function Jn(n){let e=r=>n().update(or(r)).digest(),t=n();return e.outputLen=t.outputLen,e.blockLen=t.blockLen,e.create=()=>n(),e}function Jd(n){let e=(r,s)=>n(s).update(or(r)).digest(),t=n({});return e.outputLen=t.outputLen,e.blockLen=t.blockLen,e.create=r=>n(r),e}function Wd(n=32){if(k0&&typeof k0.getRandomValues=="function")return k0.getRandomValues(new Uint8Array(n));throw new Error("crypto.getRandomValues must be defined")}var B0=class extends zn{constructor(e,t){super(),this.finished=!1,this.destroyed=!1,A0(e);let r=or(t);if(this.iHash=e.create(),typeof this.iHash.update!="function")throw new Error("Expected instance of class which extends utils.Hash");this.blockLen=this.iHash.blockLen,this.outputLen=this.iHash.outputLen;let s=this.blockLen,i=new Uint8Array(s);i.set(r.length>s?e.create().update(r).digest():r);for(let o=0;o<i.length;o++)i[o]^=54;this.iHash.update(i),this.oHash=e.create();for(let o=0;o<i.length;o++)i[o]^=106;this.oHash.update(i),i.fill(0)}update(e){return sn(this),this.iHash.update(e),this}digestInto(e){sn(this),ec(e,this.outputLen),this.finished=!0,this.iHash.digestInto(e),this.oHash.update(e),this.oHash.digestInto(e),this.destroy()}digest(){let e=new Uint8Array(this.oHash.outputLen);return this.digestInto(e),e}_cloneInto(e){e||(e=Object.create(Object.getPrototypeOf(this),{}));let{oHash:t,iHash:r,finished:s,destroyed:i,blockLen:o,outputLen:a}=this;return e=e,e.finished=s,e.destroyed=i,e.blockLen=o,e.outputLen=a,e.oHash=t._cloneInto(e.oHash),e.iHash=r._cloneInto(e.iHash),e}destroy(){this.destroyed=!0,this.oHash.destroy(),this.iHash.destroy()}},Ws=(n,e,t)=>new B0(n,e).update(t).digest();Ws.create=(n,e)=>new B0(n,e);p();m();function Sm(n,e,t,r){A0(n);let s=P0({dkLen:32,asyncTick:10},r),{c:i,dkLen:o,asyncTick:a}=s;if(We(i),We(o),We(a),i<1)throw new Error("PBKDF2: iterations (c) should be >= 1");let c=or(e),l=or(t),u=new Uint8Array(o),d=Ws.create(n,c),b=d._cloneInto().update(l);return{c:i,dkLen:o,asyncTick:a,DK:u,PRF:d,PRFSalt:b}}function Um(n,e,t,r,s){return n.destroy(),e.destroy(),r&&r.destroy(),s.fill(0),t}function tc(n,e,t,r){let{c:s,dkLen:i,DK:o,PRF:a,PRFSalt:c}=Sm(n,e,t,r),l,u=new Uint8Array(4),d=ho(u),b=new Uint8Array(a.outputLen);for(let w=1,k=0;k<i;w++,k+=a.outputLen){let A=o.subarray(k,k+a.outputLen);d.setInt32(0,w,!1),(l=c._cloneInto(l)).update(u).digestInto(b),A.set(b.subarray(0,A.length));for(let N=1;N<s;N++){a._cloneInto(l).update(b).digestInto(b);for(let B=0;B<A.length;B++)A[B]^=b[B]}}return Um(a,c,o,l,b)}p();m();p();m();function Lm(n,e,t,r){if(typeof n.setBigUint64=="function")return n.setBigUint64(e,t,r);let s=BigInt(32),i=BigInt(4294967295),o=Number(t>>s&i),a=Number(t&i),c=r?4:0,l=r?0:4;n.setUint32(e+c,o,r),n.setUint32(e+l,a,r)}var Wn=class extends zn{constructor(e,t,r,s){super(),this.blockLen=e,this.outputLen=t,this.padOffset=r,this.isLE=s,this.finished=!1,this.length=0,this.pos=0,this.destroyed=!1,this.buffer=new Uint8Array(e),this.view=ho(this.buffer)}update(e){sn(this);let{view:t,buffer:r,blockLen:s}=this;e=or(e);let i=e.length;for(let o=0;o<i;){let a=Math.min(s-this.pos,i-o);if(a===s){let c=ho(e);for(;s<=i-o;o+=s)this.process(c,o);continue}r.set(e.subarray(o,o+a),this.pos),this.pos+=a,o+=a,this.pos===s&&(this.process(t,0),this.pos=0)}return this.length+=e.length,this.roundClean(),this}digestInto(e){sn(this),E0(e,this),this.finished=!0;let{buffer:t,view:r,blockLen:s,isLE:i}=this,{pos:o}=this;t[o++]=128,this.buffer.subarray(o).fill(0),this.padOffset>s-o&&(this.process(r,0),o=0);for(let d=o;d<s;d++)t[d]=0;Lm(r,s-8,BigInt(this.length*8),i),this.process(r,0);let a=ho(e),c=this.outputLen;if(c%4)throw new Error("_sha2: outputLen should be aligned to 32bit");let l=c/4,u=this.get();if(l>u.length)throw new Error("_sha2: outputLen bigger than state");for(let d=0;d<l;d++)a.setUint32(4*d,u[d],i)}digest(){let{buffer:e,outputLen:t}=this;this.digestInto(e);let r=e.slice(0,t);return this.destroy(),r}_cloneInto(e){e||(e=new this.constructor),e.set(...this.get());let{blockLen:t,buffer:r,length:s,finished:i,destroyed:o,pos:a}=this;return e.length=s,e.pos=a,e.finished=i,e.destroyed=o,s%t&&e.buffer.set(r),e}};var Dm=(n,e,t)=>n&e^~n&t,Fm=(n,e,t)=>n&e^n&t^e&t,Mm=new Uint32Array([1116352408,1899447441,3049323471,3921009573,961987163,1508970993,2453635748,2870763221,3624381080,310598401,607225278,1426881987,1925078388,2162078206,2614888103,3248222580,3835390401,4022224774,264347078,604807628,770255983,1249150122,1555081692,1996064986,2554220882,2821834349,2952996808,3210313671,3336571891,3584528711,113926993,338241895,666307205,773529912,1294757372,1396182291,1695183700,1986661051,2177026350,2456956037,2730485921,2820302411,3259730800,3345764771,3516065817,3600352804,4094571909,275423344,430227734,506948616,659060556,883997877,958139571,1322822218,1537002063,1747873779,1955562222,2024104815,2227730452,2361852424,2428436474,2756734187,3204031479,3329325298]),jn=new Uint32Array([1779033703,3144134277,1013904242,2773480762,1359893119,2600822924,528734635,1541459225]),Zn=new Uint32Array(64),ul=class extends Wn{constructor(){super(64,32,8,!1),this.A=jn[0]|0,this.B=jn[1]|0,this.C=jn[2]|0,this.D=jn[3]|0,this.E=jn[4]|0,this.F=jn[5]|0,this.G=jn[6]|0,this.H=jn[7]|0}get(){let{A:e,B:t,C:r,D:s,E:i,F:o,G:a,H:c}=this;return[e,t,r,s,i,o,a,c]}set(e,t,r,s,i,o,a,c){this.A=e|0,this.B=t|0,this.C=r|0,this.D=s|0,this.E=i|0,this.F=o|0,this.G=a|0,this.H=c|0}process(e,t){for(let d=0;d<16;d++,t+=4)Zn[d]=e.getUint32(t,!1);for(let d=16;d<64;d++){let b=Zn[d-15],w=Zn[d-2],k=ir(b,7)^ir(b,18)^b>>>3,A=ir(w,17)^ir(w,19)^w>>>10;Zn[d]=A+Zn[d-7]+k+Zn[d-16]|0}let{A:r,B:s,C:i,D:o,E:a,F:c,G:l,H:u}=this;for(let d=0;d<64;d++){let b=ir(a,6)^ir(a,11)^ir(a,25),w=u+b+Dm(a,c,l)+Mm[d]+Zn[d]|0,A=(ir(r,2)^ir(r,13)^ir(r,22))+Fm(r,s,i)|0;u=l,l=c,c=a,a=o+w|0,o=i,i=s,s=r,r=w+A|0}r=r+this.A|0,s=s+this.B|0,i=i+this.C|0,o=o+this.D|0,a=a+this.E|0,c=c+this.F|0,l=l+this.G|0,u=u+this.H|0,this.set(r,s,i,o,a,c,l,u)}roundClean(){Zn.fill(0)}destroy(){this.set(0,0,0,0,0,0,0,0),this.buffer.fill(0)}};var on=Jn(()=>new ul);p();m();p();m();var R0=BigInt(4294967295),dl=BigInt(32);function jd(n,e=!1){return e?{h:Number(n&R0),l:Number(n>>dl&R0)}:{h:Number(n>>dl&R0)|0,l:Number(n&R0)|0}}function hl(n,e=!1){let t=new Uint32Array(n.length),r=new Uint32Array(n.length);for(let s=0;s<n.length;s++){let{h:i,l:o}=jd(n[s],e);[t[s],r[s]]=[i,o]}return[t,r]}var Gm=(n,e)=>BigInt(n>>>0)<<dl|BigInt(e>>>0),Hm=(n,e,t)=>n>>>t,_m=(n,e,t)=>n<<32-t|e>>>t,Vm=(n,e,t)=>n>>>t|e<<32-t,Qm=(n,e,t)=>n<<32-t|e>>>t,Km=(n,e,t)=>n<<64-t|e>>>t-32,zm=(n,e,t)=>n>>>t-32|e<<64-t,Jm=(n,e)=>e,Wm=(n,e)=>n,xl=(n,e,t)=>n<<t|e>>>32-t,pl=(n,e,t)=>e<<t|n>>>32-t,ml=(n,e,t)=>e<<t-32|n>>>64-t,bl=(n,e,t)=>n<<t-32|e>>>64-t;function jm(n,e,t,r){let s=(e>>>0)+(r>>>0);return{h:n+t+(s/2**32|0)|0,l:s|0}}var Zm=(n,e,t)=>(n>>>0)+(e>>>0)+(t>>>0),qm=(n,e,t,r)=>e+t+r+(n/2**32|0)|0,Ym=(n,e,t,r)=>(n>>>0)+(e>>>0)+(t>>>0)+(r>>>0),Xm=(n,e,t,r,s)=>e+t+r+s+(n/2**32|0)|0,$m=(n,e,t,r,s)=>(n>>>0)+(e>>>0)+(t>>>0)+(r>>>0)+(s>>>0),eb=(n,e,t,r,s,i)=>e+t+r+s+i+(n/2**32|0)|0;var tb={fromBig:jd,split:hl,toBig:Gm,shrSH:Hm,shrSL:_m,rotrSH:Vm,rotrSL:Qm,rotrBH:Km,rotrBL:zm,rotr32H:Jm,rotr32L:Wm,rotlSH:xl,rotlSL:pl,rotlBH:ml,rotlBL:bl,add:jm,add3L:Zm,add3H:qm,add4L:Ym,add4H:Xm,add5H:eb,add5L:$m},j=tb;var[rb,nb]=(()=>j.split(["0x428a2f98d728ae22","0x7137449123ef65cd","0xb5c0fbcfec4d3b2f","0xe9b5dba58189dbbc","0x3956c25bf348b538","0x59f111f1b605d019","0x923f82a4af194f9b","0xab1c5ed5da6d8118","0xd807aa98a3030242","0x12835b0145706fbe","0x243185be4ee4b28c","0x550c7dc3d5ffb4e2","0x72be5d74f27b896f","0x80deb1fe3b1696b1","0x9bdc06a725c71235","0xc19bf174cf692694","0xe49b69c19ef14ad2","0xefbe4786384f25e3","0x0fc19dc68b8cd5b5","0x240ca1cc77ac9c65","0x2de92c6f592b0275","0x4a7484aa6ea6e483","0x5cb0a9dcbd41fbd4","0x76f988da831153b5","0x983e5152ee66dfab","0xa831c66d2db43210","0xb00327c898fb213f","0xbf597fc7beef0ee4","0xc6e00bf33da88fc2","0xd5a79147930aa725","0x06ca6351e003826f","0x142929670a0e6e70","0x27b70a8546d22ffc","0x2e1b21385c26c926","0x4d2c6dfc5ac42aed","0x53380d139d95b3df","0x650a73548baf63de","0x766a0abb3c77b2a8","0x81c2c92e47edaee6","0x92722c851482353b","0xa2bfe8a14cf10364","0xa81a664bbc423001","0xc24b8b70d0f89791","0xc76c51a30654be30","0xd192e819d6ef5218","0xd69906245565a910","0xf40e35855771202a","0x106aa07032bbd1b8","0x19a4c116b8d2d0c8","0x1e376c085141ab53","0x2748774cdf8eeb99","0x34b0bcb5e19b48a8","0x391c0cb3c5c95a63","0x4ed8aa4ae3418acb","0x5b9cca4f7763e373","0x682e6ff3d6b2b8a3","0x748f82ee5defb2fc","0x78a5636f43172f60","0x84c87814a1f0ab72","0x8cc702081a6439ec","0x90befffa23631e28","0xa4506cebde82bde9","0xbef9a3f7b2c67915","0xc67178f2e372532b","0xca273eceea26619c","0xd186b8c721c0c207","0xeada7dd6cde0eb1e","0xf57d4f7fee6ed178","0x06f067aa72176fba","0x0a637dc5a2c898a6","0x113f9804bef90dae","0x1b710b35131c471b","0x28db77f523047d84","0x32caab7b40c72493","0x3c9ebe0a15c9bebc","0x431d67c49c100d4c","0x4cc5d4becb3e42b6","0x597f299cfc657e2a","0x5fcb6fab3ad6faec","0x6c44198c4a475817"].map(n=>BigInt(n))))(),qn=new Uint32Array(80),Yn=new Uint32Array(80),gl=class extends Wn{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:e,Al:t,Bh:r,Bl:s,Ch:i,Cl:o,Dh:a,Dl:c,Eh:l,El:u,Fh:d,Fl:b,Gh:w,Gl:k,Hh:A,Hl:N}=this;return[e,t,r,s,i,o,a,c,l,u,d,b,w,k,A,N]}set(e,t,r,s,i,o,a,c,l,u,d,b,w,k,A,N){this.Ah=e|0,this.Al=t|0,this.Bh=r|0,this.Bl=s|0,this.Ch=i|0,this.Cl=o|0,this.Dh=a|0,this.Dl=c|0,this.Eh=l|0,this.El=u|0,this.Fh=d|0,this.Fl=b|0,this.Gh=w|0,this.Gl=k|0,this.Hh=A|0,this.Hl=N|0}process(e,t){for(let C=0;C<16;C++,t+=4)qn[C]=e.getUint32(t),Yn[C]=e.getUint32(t+=4);for(let C=16;C<80;C++){let Q=qn[C-15]|0,L=Yn[C-15]|0,D=j.rotrSH(Q,L,1)^j.rotrSH(Q,L,8)^j.shrSH(Q,L,7),_=j.rotrSL(Q,L,1)^j.rotrSL(Q,L,8)^j.shrSL(Q,L,7),G=qn[C-2]|0,Y=Yn[C-2]|0,J=j.rotrSH(G,Y,19)^j.rotrBH(G,Y,61)^j.shrSH(G,Y,6),W=j.rotrSL(G,Y,19)^j.rotrBL(G,Y,61)^j.shrSL(G,Y,6),de=j.add4L(_,W,Yn[C-7],Yn[C-16]),me=j.add4H(de,D,J,qn[C-7],qn[C-16]);qn[C]=me|0,Yn[C]=de|0}let{Ah:r,Al:s,Bh:i,Bl:o,Ch:a,Cl:c,Dh:l,Dl:u,Eh:d,El:b,Fh:w,Fl:k,Gh:A,Gl:N,Hh:B,Hl:O}=this;for(let C=0;C<80;C++){let Q=j.rotrSH(d,b,14)^j.rotrSH(d,b,18)^j.rotrBH(d,b,41),L=j.rotrSL(d,b,14)^j.rotrSL(d,b,18)^j.rotrBL(d,b,41),D=d&w^~d&A,_=b&k^~b&N,G=j.add5L(O,L,_,nb[C],Yn[C]),Y=j.add5H(G,B,Q,D,rb[C],qn[C]),J=G|0,W=j.rotrSH(r,s,28)^j.rotrBH(r,s,34)^j.rotrBH(r,s,39),de=j.rotrSL(r,s,28)^j.rotrBL(r,s,34)^j.rotrBL(r,s,39),me=r&i^r&a^i&a,Oe=s&o^s&c^o&c;B=A|0,O=N|0,A=w|0,N=k|0,w=d|0,k=b|0,{h:d,l:b}=j.add(l|0,u|0,Y|0,J|0),l=a|0,u=c|0,a=i|0,c=o|0,i=r|0,o=s|0;let S=j.add3L(J,de,Oe);r=j.add3H(S,Y,W,me),s=S|0}({h:r,l:s}=j.add(this.Ah|0,this.Al|0,r|0,s|0)),{h:i,l:o}=j.add(this.Bh|0,this.Bl|0,i|0,o|0),{h:a,l:c}=j.add(this.Ch|0,this.Cl|0,a|0,c|0),{h:l,l:u}=j.add(this.Dh|0,this.Dl|0,l|0,u|0),{h:d,l:b}=j.add(this.Eh|0,this.El|0,d|0,b|0),{h:w,l:k}=j.add(this.Fh|0,this.Fl|0,w|0,k|0),{h:A,l:N}=j.add(this.Gh|0,this.Gl|0,A|0,N|0),{h:B,l:O}=j.add(this.Hh|0,this.Hl|0,B|0,O|0),this.set(r,s,i,o,a,c,l,u,d,b,w,k,A,N,B,O)}roundClean(){qn.fill(0),Yn.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)}};var T0=Jn(()=>new gl);function sb(){if(typeof self<"u")return self;if(typeof window<"u")return window;if(typeof globalThis<"u")return globalThis;throw new Error("unable to locate global object")}var Zd=sb(),qd=Zd.crypto||Zd.msCrypto;function yl(n){switch(n){case"sha256":return on.create();case"sha512":return T0.create()}x(!1,"invalid hashing algorithm name","algorithm",n)}function Yd(n,e){let t={sha256:on,sha512:T0}[n];return x(t!=null,"invalid hmac algorithm","algorithm",n),Ws.create(t,e)}function Xd(n,e,t,r,s){let i={sha256:on,sha512:T0}[s];return x(i!=null,"invalid pbkdf2 algorithm","algorithm",s),tc(i,n,e,{c:t,dkLen:r})}function $d(n){E(qd!=null,"platform does not support secure random numbers","UNSUPPORTED_OPERATION",{operation:"randomBytes"}),x(Number.isInteger(n)&&n>0&&n<=1024,"invalid length","length",n);let e=new Uint8Array(n);return qd.getRandomValues(e),e}var eh=!1,th=function(n,e,t){return Yd(n,e).update(t).digest()},rh=th;function ar(n,e,t){let r=v(e,"key"),s=v(t,"data");return T(rh(n,r,s))}ar._=th;ar.lock=function(){eh=!0};ar.register=function(n){if(eh)throw new Error("computeHmac is locked");rh=n};Object.freeze(ar);p();m();p();m();var[ih,oh,ah]=[[],[],[]],ib=BigInt(0),rc=BigInt(1),ob=BigInt(2),ab=BigInt(7),cb=BigInt(256),fb=BigInt(113);for(let n=0,e=rc,t=1,r=0;n<24;n++){[t,r]=[r,(2*t+3*r)%5],ih.push(2*(5*r+t)),oh.push((n+1)*(n+2)/2%64);let s=ib;for(let i=0;i<7;i++)e=(e<<rc^(e>>ab)*fb)%cb,e&ob&&(s^=rc<<(rc<<BigInt(i))-rc);ah.push(s)}var[lb,ub]=hl(ah,!0),nh=(n,e,t)=>t>32?ml(n,e,t):xl(n,e,t),sh=(n,e,t)=>t>32?bl(n,e,t):pl(n,e,t);function db(n,e=24){let t=new Uint32Array(10);for(let r=24-e;r<24;r++){for(let o=0;o<10;o++)t[o]=n[o]^n[o+10]^n[o+20]^n[o+30]^n[o+40];for(let o=0;o<10;o+=2){let a=(o+8)%10,c=(o+2)%10,l=t[c],u=t[c+1],d=nh(l,u,1)^t[a],b=sh(l,u,1)^t[a+1];for(let w=0;w<50;w+=10)n[o+w]^=d,n[o+w+1]^=b}let s=n[2],i=n[3];for(let o=0;o<24;o++){let a=oh[o],c=nh(s,i,a),l=sh(s,i,a),u=ih[o];s=n[u],i=n[u+1],n[u]=c,n[u+1]=l}for(let o=0;o<50;o+=10){for(let a=0;a<10;a++)t[a]=n[o+a];for(let a=0;a<10;a++)n[o+a]^=~t[(a+2)%10]&t[(a+4)%10]}n[0]^=lb[r],n[1]^=ub[r]}t.fill(0)}var xo=class extends zn{constructor(e,t,r,s=!1,i=24){if(super(),this.blockLen=e,this.suffix=t,this.outputLen=r,this.enableXOF=s,this.rounds=i,this.pos=0,this.posOut=0,this.finished=!1,this.destroyed=!1,We(r),0>=this.blockLen||this.blockLen>=200)throw new Error("Sha3 supports only keccak-f1600 function");this.state=new Uint8Array(200),this.state32=uo(this.state)}keccak(){db(this.state32,this.rounds),this.posOut=0,this.pos=0}update(e){sn(this);let{blockLen:t,state:r}=this;e=or(e);let s=e.length;for(let i=0;i<s;){let o=Math.min(t-this.pos,s-i);for(let a=0;a<o;a++)r[this.pos++]^=e[i++];this.pos===t&&this.keccak()}return this}finish(){if(this.finished)return;this.finished=!0;let{state:e,suffix:t,pos:r,blockLen:s}=this;e[r]^=t,(t&128)!==0&&r===s-1&&this.keccak(),e[s-1]^=128,this.keccak()}writeInto(e){sn(this,!1),ec(e),this.finish();let t=this.state,{blockLen:r}=this;for(let s=0,i=e.length;s<i;){this.posOut>=r&&this.keccak();let o=Math.min(r-this.posOut,i-s);e.set(t.subarray(this.posOut,this.posOut+o),s),this.posOut+=o,s+=o}return e}xofInto(e){if(!this.enableXOF)throw new Error("XOF is not possible for this instance");return this.writeInto(e)}xof(e){return We(e),this.xofInto(new Uint8Array(e))}digestInto(e){if(E0(e,this),this.finished)throw new Error("digest() was already called");return this.writeInto(e),this.destroy(),e}digest(){return this.digestInto(new Uint8Array(this.outputLen))}destroy(){this.destroyed=!0,this.state.fill(0)}_cloneInto(e){let{blockLen:t,suffix:r,outputLen:s,rounds:i,enableXOF:o}=this;return e||(e=new xo(t,r,s,o,i)),e.state32.set(this.state32),e.pos=this.pos,e.posOut=this.posOut,e.finished=this.finished,e.rounds=i,e.suffix=r,e.outputLen=s,e.enableXOF=o,e.destroyed=this.destroyed,e}},Xn=(n,e,t)=>Jn(()=>new xo(e,n,t)),K3=Xn(6,144,224/8),z3=Xn(6,136,256/8),J3=Xn(6,104,384/8),W3=Xn(6,72,512/8),j3=Xn(1,144,224/8),ch=Xn(1,136,256/8),Z3=Xn(1,104,384/8),q3=Xn(1,72,512/8),fh=(n,e,t)=>Jd((r={})=>new xo(e,n,r.dkLen===void 0?t:r.dkLen,!0)),Y3=fh(31,168,128/8),X3=fh(31,136,256/8);var lh=!1,uh=function(n){return ch(n)},dh=uh;function Z(n){let e=v(n,"data");return T(dh(e))}Z._=uh;Z.lock=function(){lh=!0};Z.register=function(n){if(lh)throw new TypeError("keccak256 is locked");dh=n};Object.freeze(Z);p();m();p();m();var hb=new Uint8Array([7,4,13,1,10,6,15,3,12,0,9,5,2,14,11,8]),xh=Uint8Array.from({length:16},(n,e)=>e),xb=xh.map(n=>(9*n+5)%16),Al=[xh],El=[xb];for(let n=0;n<4;n++)for(let e of[Al,El])e.push(e[n].map(t=>hb[t]));var ph=[[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(n=>new Uint8Array(n)),pb=Al.map((n,e)=>n.map(t=>ph[e][t])),mb=El.map((n,e)=>n.map(t=>ph[e][t])),bb=new Uint32Array([0,1518500249,1859775393,2400959708,2840853838]),gb=new Uint32Array([1352829926,1548603684,1836072691,2053994217,0]),v0=(n,e)=>n<<e|n>>>32-e;function hh(n,e,t,r){return n===0?e^t^r:n===1?e&t|~e&r:n===2?(e|~t)^r:n===3?e&r|t&~r:e^(t|~r)}var I0=new Uint32Array(16),wl=class extends Wn{constructor(){super(64,20,8,!0),this.h0=1732584193,this.h1=-271733879,this.h2=-1732584194,this.h3=271733878,this.h4=-1009589776}get(){let{h0:e,h1:t,h2:r,h3:s,h4:i}=this;return[e,t,r,s,i]}set(e,t,r,s,i){this.h0=e|0,this.h1=t|0,this.h2=r|0,this.h3=s|0,this.h4=i|0}process(e,t){for(let w=0;w<16;w++,t+=4)I0[w]=e.getUint32(t,!0);let r=this.h0|0,s=r,i=this.h1|0,o=i,a=this.h2|0,c=a,l=this.h3|0,u=l,d=this.h4|0,b=d;for(let w=0;w<5;w++){let k=4-w,A=bb[w],N=gb[w],B=Al[w],O=El[w],C=pb[w],Q=mb[w];for(let L=0;L<16;L++){let D=v0(r+hh(w,i,a,l)+I0[B[L]]+A,C[L])+d|0;r=d,d=l,l=v0(a,10)|0,a=i,i=D}for(let L=0;L<16;L++){let D=v0(s+hh(k,o,c,u)+I0[O[L]]+N,Q[L])+b|0;s=b,b=u,u=v0(c,10)|0,c=o,o=D}}this.set(this.h1+a+u|0,this.h2+l+b|0,this.h3+d+s|0,this.h4+r+o|0,this.h0+i+c|0)}roundClean(){I0.fill(0)}destroy(){this.destroyed=!0,this.buffer.fill(0),this.set(0,0,0,0,0)}},mh=Jn(()=>new wl);var bh=!1,gh=function(n){return mh(n)},yh=gh;function cr(n){let e=v(n,"data");return T(yh(e))}cr._=gh;cr.lock=function(){bh=!0};cr.register=function(n){if(bh)throw new TypeError("ripemd160 is locked");yh=n};Object.freeze(cr);p();m();var wh=!1,Ah=function(n,e,t,r,s){return Xd(n,e,t,r,s)},Eh=Ah;function st(n,e,t,r,s){let i=v(n,"password"),o=v(e,"salt");return T(Eh(i,o,t,r,s))}st._=Ah;st.lock=function(){wh=!0};st.register=function(n){if(wh)throw new Error("pbkdf2 is locked");Eh=n};Object.freeze(st);p();m();var kh=!1,Nh=function(n){return new Uint8Array($d(n))},Ph=Nh;function je(n){return Ph(n)}je._=Nh;je.lock=function(){kh=!0};je.register=function(n){if(kh)throw new Error("randomBytes is locked");Ph=n};Object.freeze(je);p();m();p();m();var se=(n,e)=>n<<e|n>>>32-e;function Bh(n,e,t,r,s,i){let o=n[e++]^t[r++],a=n[e++]^t[r++],c=n[e++]^t[r++],l=n[e++]^t[r++],u=n[e++]^t[r++],d=n[e++]^t[r++],b=n[e++]^t[r++],w=n[e++]^t[r++],k=n[e++]^t[r++],A=n[e++]^t[r++],N=n[e++]^t[r++],B=n[e++]^t[r++],O=n[e++]^t[r++],C=n[e++]^t[r++],Q=n[e++]^t[r++],L=n[e++]^t[r++],D=o,_=a,G=c,Y=l,J=u,W=d,de=b,me=w,Oe=k,S=A,F=N,z=B,re=O,X=C,he=Q,Ne=L;for(let Je=0;Je<8;Je+=2)J^=se(D+re|0,7),Oe^=se(J+D|0,9),re^=se(Oe+J|0,13),D^=se(re+Oe|0,18),S^=se(W+_|0,7),X^=se(S+W|0,9),_^=se(X+S|0,13),W^=se(_+X|0,18),he^=se(F+de|0,7),G^=se(he+F|0,9),de^=se(G+he|0,13),F^=se(de+G|0,18),Y^=se(Ne+z|0,7),me^=se(Y+Ne|0,9),z^=se(me+Y|0,13),Ne^=se(z+me|0,18),_^=se(D+Y|0,7),G^=se(_+D|0,9),Y^=se(G+_|0,13),D^=se(Y+G|0,18),de^=se(W+J|0,7),me^=se(de+W|0,9),J^=se(me+de|0,13),W^=se(J+me|0,18),z^=se(F+S|0,7),Oe^=se(z+F|0,9),S^=se(Oe+z|0,13),F^=se(S+Oe|0,18),re^=se(Ne+he|0,7),X^=se(re+Ne|0,9),he^=se(X+re|0,13),Ne^=se(he+X|0,18);s[i++]=o+D|0,s[i++]=a+_|0,s[i++]=c+G|0,s[i++]=l+Y|0,s[i++]=u+J|0,s[i++]=d+W|0,s[i++]=b+de|0,s[i++]=w+me|0,s[i++]=k+Oe|0,s[i++]=A+S|0,s[i++]=N+F|0,s[i++]=B+z|0,s[i++]=O+re|0,s[i++]=C+X|0,s[i++]=Q+he|0,s[i++]=L+Ne|0}function po(n,e,t,r,s){let i=r+0,o=r+16*s;for(let a=0;a<16;a++)t[o+a]=n[e+(2*s-1)*16+a];for(let a=0;a<s;a++,i+=16,e+=16)Bh(t,o,n,e,t,i),a>0&&(o+=16),Bh(t,i,n,e+=16,t,o)}function Rh(n,e,t){let r=P0({dkLen:32,asyncTick:10,maxmem:1073742848},t),{N:s,r:i,p:o,dkLen:a,asyncTick:c,maxmem:l,onProgress:u}=r;if(We(s),We(i),We(o),We(a),We(c),We(l),u!==void 0&&typeof u!="function")throw new Error("progressCb should be function");let d=128*i,b=d/4;if(s<=1||(s&s-1)!==0||s>=2**(d/8)||s>2**32)throw new Error("Scrypt: N must be larger than 1, a power of 2, less than 2^(128 * r / 8) and less than 2^32");if(o<0||o>(2**32-1)*32/d)throw new Error("Scrypt: p must be a positive integer less than or equal to ((2^32 - 1) * 32) / (128 * r)");if(a<0||a>(2**32-1)*32)throw new Error("Scrypt: dkLen should be positive integer less than or equal to (2^32 - 1) * 32");let w=d*(s+o);if(w>l)throw new Error(`Scrypt: parameters too large, ${w} (128 * r * (N + p)) > ${l} (maxmem)`);let k=tc(on,n,e,{c:1,dkLen:d*o}),A=uo(k),N=uo(new Uint8Array(d*s)),B=uo(new Uint8Array(d)),O=()=>{};if(u){let C=2*s*o,Q=Math.max(Math.floor(C/1e4),1),L=0;O=()=>{L++,u&&(!(L%Q)||L===C)&&u(L/C)}}return{N:s,r:i,p:o,dkLen:a,blockSize32:b,V:N,B32:A,B:k,tmp:B,blockMixCb:O,asyncTick:c}}function Th(n,e,t,r,s){let i=tc(on,n,t,{c:1,dkLen:e});return t.fill(0),r.fill(0),s.fill(0),i}function vh(n,e,t){let{N:r,r:s,p:i,dkLen:o,blockSize32:a,V:c,B32:l,B:u,tmp:d,blockMixCb:b}=Rh(n,e,t);for(let w=0;w<i;w++){let k=a*w;for(let A=0;A<a;A++)c[A]=l[k+A];for(let A=0,N=0;A<r-1;A++)po(c,N,c,N+=a,s),b();po(c,(r-1)*a,l,k,s),b();for(let A=0;A<r;A++){let N=l[k+a-16]%r;for(let B=0;B<a;B++)d[B]=l[k+B]^c[N*a+B];po(d,0,l,k,s),b()}}return Th(n,o,u,c,d)}async function Ih(n,e,t){let{N:r,r:s,p:i,dkLen:o,blockSize32:a,V:c,B32:l,B:u,tmp:d,blockMixCb:b,asyncTick:w}=Rh(n,e,t);for(let k=0;k<i;k++){let A=a*k;for(let B=0;B<a;B++)c[B]=l[A+B];let N=0;await N0(r-1,w,()=>{po(c,N,c,N+=a,s),b()}),po(c,(r-1)*a,l,A,s),b(),await N0(r,w,()=>{let B=l[A+a-16]%r;for(let O=0;O<a;O++)d[O]=l[A+O]^c[B*a+O];po(d,0,l,A,s),b()})}return Th(n,o,u,c,d)}var Ch=!1,Oh=!1,Sh=async function(n,e,t,r,s,i,o){return await Ih(n,e,{N:t,r,p:s,dkLen:i,onProgress:o})},Uh=function(n,e,t,r,s,i){return vh(n,e,{N:t,r,p:s,dkLen:i})},Lh=Sh,Dh=Uh;async function fr(n,e,t,r,s,i,o){let a=v(n,"passwd"),c=v(e,"salt");return T(await Lh(a,c,t,r,s,i,o))}fr._=Sh;fr.lock=function(){Oh=!0};fr.register=function(n){if(Oh)throw new Error("scrypt is locked");Lh=n};Object.freeze(fr);function lr(n,e,t,r,s,i){let o=v(n,"passwd"),a=v(e,"salt");return T(Dh(o,a,t,r,s,i))}lr._=Uh;lr.lock=function(){Ch=!0};lr.register=function(n){if(Ch)throw new Error("scryptSync is locked");Dh=n};Object.freeze(lr);p();m();var Fh=function(n){return yl("sha256").update(n).digest()},Mh=function(n){return yl("sha512").update(n).digest()},Gh=Fh,Hh=Mh,_h=!1,Vh=!1;function Pe(n){let e=v(n,"data");return T(Gh(e))}Pe._=Fh;Pe.lock=function(){_h=!0};Pe.register=function(n){if(_h)throw new Error("sha256 is locked");Gh=n};Object.freeze(Pe);function js(n){let e=v(n,"data");return T(Hh(e))}js._=Mh;js.lock=function(){Vh=!0};js.register=function(n){if(Vh)throw new Error("sha512 is locked");Hh=n};Object.freeze(Pe);p();m();p();m();p();m();var Bl={};Ad(Bl,{bitGet:()=>Pb,bitLen:()=>Nb,bitMask:()=>nc,bitSet:()=>Bb,bytesToHex:()=>Zs,bytesToNumberBE:()=>an,bytesToNumberLE:()=>S0,concatBytes:()=>mo,createHmacDrbg:()=>Pl,ensureBytes:()=>At,equalBytes:()=>Eb,hexToBytes:()=>qs,hexToNumber:()=>Nl,numberToBytesBE:()=>$n,numberToBytesLE:()=>U0,numberToHexUnpadded:()=>zh,numberToVarBytesBE:()=>Ab,utf8ToBytes:()=>kb,validateObject:()=>es});p();m();var Kh=BigInt(0),C0=BigInt(1),yb=BigInt(2),O0=n=>n instanceof Uint8Array,wb=Array.from({length:256},(n,e)=>e.toString(16).padStart(2,"0"));function Zs(n){if(!O0(n))throw new Error("Uint8Array expected");let e="";for(let t=0;t<n.length;t++)e+=wb[n[t]];return e}function zh(n){let e=n.toString(16);return e.length&1?`0${e}`:e}function Nl(n){if(typeof n!="string")throw new Error("hex string expected, got "+typeof n);return BigInt(n===""?"0":`0x${n}`)}function qs(n){if(typeof n!="string")throw new Error("hex string expected, got "+typeof n);let e=n.length;if(e%2)throw new Error("padded hex string expected, got unpadded hex of length "+e);let t=new Uint8Array(e/2);for(let r=0;r<t.length;r++){let s=r*2,i=n.slice(s,s+2),o=Number.parseInt(i,16);if(Number.isNaN(o)||o<0)throw new Error("Invalid byte sequence");t[r]=o}return t}function an(n){return Nl(Zs(n))}function S0(n){if(!O0(n))throw new Error("Uint8Array expected");return Nl(Zs(Uint8Array.from(n).reverse()))}function $n(n,e){return qs(n.toString(16).padStart(e*2,"0"))}function U0(n,e){return $n(n,e).reverse()}function Ab(n){return qs(zh(n))}function At(n,e,t){let r;if(typeof e=="string")try{r=qs(e)}catch(i){throw new Error(`${n} must be valid hex string, got "${e}". Cause: ${i}`)}else if(O0(e))r=Uint8Array.from(e);else throw new Error(`${n} must be hex string or Uint8Array`);let s=r.length;if(typeof t=="number"&&s!==t)throw new Error(`${n} expected ${t} bytes, got ${s}`);return r}function mo(...n){let e=new Uint8Array(n.reduce((r,s)=>r+s.length,0)),t=0;return n.forEach(r=>{if(!O0(r))throw new Error("Uint8Array expected");e.set(r,t),t+=r.length}),e}function Eb(n,e){if(n.length!==e.length)return!1;for(let t=0;t<n.length;t++)if(n[t]!==e[t])return!1;return!0}function kb(n){if(typeof n!="string")throw new Error(`utf8ToBytes expected string, got ${typeof n}`);return new Uint8Array(new TextEncoder().encode(n))}function Nb(n){let e;for(e=0;n>Kh;n>>=C0,e+=1);return e}function Pb(n,e){return n>>BigInt(e)&C0}var Bb=(n,e,t)=>n|(t?C0:Kh)<<BigInt(e),nc=n=>(yb<<BigInt(n-1))-C0,kl=n=>new Uint8Array(n),Qh=n=>Uint8Array.from(n);function Pl(n,e,t){if(typeof n!="number"||n<2)throw new Error("hashLen must be a number");if(typeof e!="number"||e<2)throw new Error("qByteLen must be a number");if(typeof t!="function")throw new Error("hmacFn must be a function");let r=kl(n),s=kl(n),i=0,o=()=>{r.fill(1),s.fill(0),i=0},a=(...d)=>t(s,r,...d),c=(d=kl())=>{s=a(Qh([0]),d),r=a(),d.length!==0&&(s=a(Qh([1]),d),r=a())},l=()=>{if(i++>=1e3)throw new Error("drbg: tried 1000 values");let d=0,b=[];for(;d<e;){r=a();let w=r.slice();b.push(w),d+=r.length}return mo(...b)};return(d,b)=>{o(),c(d);let w;for(;!(w=b(l()));)c();return o(),w}}var Rb={bigint:n=>typeof n=="bigint",function:n=>typeof n=="function",boolean:n=>typeof n=="boolean",string:n=>typeof n=="string",stringOrUint8Array:n=>typeof n=="string"||n instanceof Uint8Array,isSafeInteger:n=>Number.isSafeInteger(n),array:n=>Array.isArray(n),field:(n,e)=>e.Fp.isValid(n),hash:n=>typeof n=="function"&&Number.isSafeInteger(n.outputLen)};function es(n,e,t={}){let r=(s,i,o)=>{let a=Rb[i];if(typeof a!="function")throw new Error(`Invalid validator "${i}", expected function`);let c=n[s];if(!(o&&c===void 0)&&!a(c,n))throw new Error(`Invalid param ${String(s)}=${c} (${typeof c}), expected ${i}`)};for(let[s,i]of Object.entries(e))r(s,i,!1);for(let[s,i]of Object.entries(t))r(s,i,!0);return n}var Ce=BigInt(0),Ee=BigInt(1),Ys=BigInt(2),Tb=BigInt(3),Rl=BigInt(4),Jh=BigInt(5),Wh=BigInt(8),vb=BigInt(9),Ib=BigInt(16);function Ze(n,e){let t=n%e;return t>=Ce?t:e+t}function Cb(n,e,t){if(t<=Ce||e<Ce)throw new Error("Expected power/modulo > 0");if(t===Ee)return Ce;let r=Ee;for(;e>Ce;)e&Ee&&(r=r*n%t),n=n*n%t,e>>=Ee;return r}function Et(n,e,t){let r=n;for(;e-- >Ce;)r*=r,r%=t;return r}function L0(n,e){if(n===Ce||e<=Ce)throw new Error(`invert: expected positive integers, got n=${n} mod=${e}`);let t=Ze(n,e),r=e,s=Ce,i=Ee,o=Ee,a=Ce;for(;t!==Ce;){let l=r/t,u=r%t,d=s-o*l,b=i-a*l;r=t,t=u,s=o,i=a,o=d,a=b}if(r!==Ee)throw new Error("invert: does not exist");return Ze(s,e)}function Ob(n){let e=(n-Ee)/Ys,t,r,s;for(t=n-Ee,r=0;t%Ys===Ce;t/=Ys,r++);for(s=Ys;s<n&&Cb(s,e,n)!==n-Ee;s++);if(r===1){let o=(n+Ee)/Rl;return function(c,l){let u=c.pow(l,o);if(!c.eql(c.sqr(u),l))throw new Error("Cannot find square root");return u}}let i=(t+Ee)/Ys;return function(a,c){if(a.pow(c,e)===a.neg(a.ONE))throw new Error("Cannot find square root");let l=r,u=a.pow(a.mul(a.ONE,s),t),d=a.pow(c,i),b=a.pow(c,t);for(;!a.eql(b,a.ONE);){if(a.eql(b,a.ZERO))return a.ZERO;let w=1;for(let A=a.sqr(b);w<l&&!a.eql(A,a.ONE);w++)A=a.sqr(A);let k=a.pow(u,Ee<<BigInt(l-w-1));u=a.sqr(k),d=a.mul(d,k),b=a.mul(b,u),l=w}return d}}function Sb(n){if(n%Rl===Tb){let e=(n+Ee)/Rl;return function(r,s){let i=r.pow(s,e);if(!r.eql(r.sqr(i),s))throw new Error("Cannot find square root");return i}}if(n%Wh===Jh){let e=(n-Jh)/Wh;return function(r,s){let i=r.mul(s,Ys),o=r.pow(i,e),a=r.mul(s,o),c=r.mul(r.mul(a,Ys),o),l=r.mul(a,r.sub(c,r.ONE));if(!r.eql(r.sqr(l),s))throw new Error("Cannot find square root");return l}}return n%Ib,Ob(n)}var Ub=["create","isValid","is0","neg","inv","sqrt","sqr","eql","add","sub","mul","pow","div","addN","subN","mulN","sqrN"];function Tl(n){let e={ORDER:"bigint",MASK:"bigint",BYTES:"isSafeInteger",BITS:"isSafeInteger"},t=Ub.reduce((r,s)=>(r[s]="function",r),e);return es(n,t)}function Lb(n,e,t){if(t<Ce)throw new Error("Expected power > 0");if(t===Ce)return n.ONE;if(t===Ee)return e;let r=n.ONE,s=e;for(;t>Ce;)t&Ee&&(r=n.mul(r,s)),s=n.sqr(s),t>>=Ee;return r}function Db(n,e){let t=new Array(e.length),r=e.reduce((i,o,a)=>n.is0(o)?i:(t[a]=i,n.mul(i,o)),n.ONE),s=n.inv(r);return e.reduceRight((i,o,a)=>n.is0(o)?i:(t[a]=n.mul(i,t[a]),n.mul(i,o)),s),t}function vl(n,e){let t=e!==void 0?e:n.toString(2).length,r=Math.ceil(t/8);return{nBitLength:t,nByteLength:r}}function jh(n,e,t=!1,r={}){if(n<=Ce)throw new Error(`Expected Field ORDER > 0, got ${n}`);let{nBitLength:s,nByteLength:i}=vl(n,e);if(i>2048)throw new Error("Field lengths over 2048 bytes are not supported");let o=Sb(n),a=Object.freeze({ORDER:n,BITS:s,BYTES:i,MASK:nc(s),ZERO:Ce,ONE:Ee,create:c=>Ze(c,n),isValid:c=>{if(typeof c!="bigint")throw new Error(`Invalid field element: expected bigint, got ${typeof c}`);return Ce<=c&&c<n},is0:c=>c===Ce,isOdd:c=>(c&Ee)===Ee,neg:c=>Ze(-c,n),eql:(c,l)=>c===l,sqr:c=>Ze(c*c,n),add:(c,l)=>Ze(c+l,n),sub:(c,l)=>Ze(c-l,n),mul:(c,l)=>Ze(c*l,n),pow:(c,l)=>Lb(a,c,l),div:(c,l)=>Ze(c*L0(l,n),n),sqrN:c=>c*c,addN:(c,l)=>c+l,subN:(c,l)=>c-l,mulN:(c,l)=>c*l,inv:c=>L0(c,n),sqrt:r.sqrt||(c=>o(a,c)),invertBatch:c=>Db(a,c),cmov:(c,l,u)=>u?l:c,toBytes:c=>t?U0(c,i):$n(c,i),fromBytes:c=>{if(c.length!==i)throw new Error(`Fp.fromBytes: expected ${i}, got ${c.length}`);return t?S0(c):an(c)}});return Object.freeze(a)}function Zh(n){if(typeof n!="bigint")throw new Error("field order must be bigint");let e=n.toString(2).length;return Math.ceil(e/8)}function Il(n){let e=Zh(n);return e+Math.ceil(e/2)}function qh(n,e,t=!1){let r=n.length,s=Zh(e),i=Il(e);if(r<16||r<i||r>1024)throw new Error(`expected ${i}-1024 bytes of input, got ${r}`);let o=t?an(n):S0(n),a=Ze(o,e-Ee)+Ee;return t?U0(a,s):$n(a,s)}p();m();p();m();var Mb=BigInt(0),Cl=BigInt(1);function Yh(n,e){let t=(s,i)=>{let o=i.negate();return s?o:i},r=s=>{let i=Math.ceil(e/s)+1,o=2**(s-1);return{windows:i,windowSize:o}};return{constTimeNegate:t,unsafeLadder(s,i){let o=n.ZERO,a=s;for(;i>Mb;)i&Cl&&(o=o.add(a)),a=a.double(),i>>=Cl;return o},precomputeWindow(s,i){let{windows:o,windowSize:a}=r(i),c=[],l=s,u=l;for(let d=0;d<o;d++){u=l,c.push(u);for(let b=1;b<a;b++)u=u.add(l),c.push(u);l=u.double()}return c},wNAF(s,i,o){let{windows:a,windowSize:c}=r(s),l=n.ZERO,u=n.BASE,d=BigInt(2**s-1),b=2**s,w=BigInt(s);for(let k=0;k<a;k++){let A=k*c,N=Number(o&d);o>>=w,N>c&&(N-=b,o+=Cl);let B=A,O=A+Math.abs(N)-1,C=k%2!==0,Q=N<0;N===0?u=u.add(t(C,i[B])):l=l.add(t(Q,i[O]))}return{p:l,f:u}},wNAFCached(s,i,o,a){let c=s._WINDOW_SIZE||1,l=i.get(s);return l||(l=this.precomputeWindow(s,c),c!==1&&i.set(s,a(l))),this.wNAF(c,l,o)}}}function Ol(n){return Tl(n.Fp),es(n,{n:"bigint",h:"bigint",Gx:"field",Gy:"field"},{nBitLength:"isSafeInteger",nByteLength:"isSafeInteger"}),Object.freeze({...vl(n.n,n.nBitLength),...n,p:n.Fp.ORDER})}function Gb(n){let e=Ol(n);es(e,{a:"field",b:"field"},{allowedPrivateKeyLengths:"array",wrapPrivateKey:"boolean",isTorsionFree:"function",clearCofactor:"function",allowInfinityPoint:"boolean",fromBytes:"function",toBytes:"function"});let{endo:t,Fp:r,a:s}=e;if(t){if(!r.eql(s,r.ZERO))throw new Error("Endomorphism can only be defined for Koblitz curves that have a=0");if(typeof t!="object"||typeof t.beta!="bigint"||typeof t.splitScalar!="function")throw new Error("Expected endomorphism with beta: bigint and splitScalar: function")}return Object.freeze({...e})}var{bytesToNumberBE:Hb,hexToBytes:_b}=Bl,Xs={Err:class extends Error{constructor(e=""){super(e)}},_parseInt(n){let{Err:e}=Xs;if(n.length<2||n[0]!==2)throw new e("Invalid signature integer tag");let t=n[1],r=n.subarray(2,t+2);if(!t||r.length!==t)throw new e("Invalid signature integer: wrong length");if(r[0]&128)throw new e("Invalid signature integer: negative");if(r[0]===0&&!(r[1]&128))throw new e("Invalid signature integer: unnecessary leading zero");return{d:Hb(r),l:n.subarray(t+2)}},toSig(n){let{Err:e}=Xs,t=typeof n=="string"?_b(n):n;if(!(t instanceof Uint8Array))throw new Error("ui8a expected");let r=t.length;if(r<2||t[0]!=48)throw new e("Invalid signature tag");if(t[1]!==r-2)throw new e("Invalid signature: incorrect length");let{d:s,l:i}=Xs._parseInt(t.subarray(2)),{d:o,l:a}=Xs._parseInt(i);if(a.length)throw new e("Invalid signature: left bytes after parsing");return{r:s,s:o}},hexFromSig(n){let e=l=>Number.parseInt(l[0],16)&8?"00"+l:l,t=l=>{let u=l.toString(16);return u.length&1?`0${u}`:u},r=e(t(n.s)),s=e(t(n.r)),i=r.length/2,o=s.length/2,a=t(i),c=t(o);return`30${t(o+i+4)}02${c}${s}02${a}${r}`}},cn=BigInt(0),St=BigInt(1),r4=BigInt(2),Xh=BigInt(3),n4=BigInt(4);function Vb(n){let e=Gb(n),{Fp:t}=e,r=e.toBytes||((k,A,N)=>{let B=A.toAffine();return mo(Uint8Array.from([4]),t.toBytes(B.x),t.toBytes(B.y))}),s=e.fromBytes||(k=>{let A=k.subarray(1),N=t.fromBytes(A.subarray(0,t.BYTES)),B=t.fromBytes(A.subarray(t.BYTES,2*t.BYTES));return{x:N,y:B}});function i(k){let{a:A,b:N}=e,B=t.sqr(k),O=t.mul(B,k);return t.add(t.add(O,t.mul(k,A)),N)}if(!t.eql(t.sqr(e.Gy),i(e.Gx)))throw new Error("bad generator point: equation left != right");function o(k){return typeof k=="bigint"&&cn<k&&k<e.n}function a(k){if(!o(k))throw new Error("Expected valid bigint: 0 < bigint < curve.n")}function c(k){let{allowedPrivateKeyLengths:A,nByteLength:N,wrapPrivateKey:B,n:O}=e;if(A&&typeof k!="bigint"){if(k instanceof Uint8Array&&(k=Zs(k)),typeof k!="string"||!A.includes(k.length))throw new Error("Invalid key");k=k.padStart(N*2,"0")}let C;try{C=typeof k=="bigint"?k:an(At("private key",k,N))}catch{throw new Error(`private key must be ${N} bytes, hex or bigint, not ${typeof k}`)}return B&&(C=Ze(C,O)),a(C),C}let l=new Map;function u(k){if(!(k instanceof d))throw new Error("ProjectivePoint expected")}class d{constructor(A,N,B){if(this.px=A,this.py=N,this.pz=B,A==null||!t.isValid(A))throw new Error("x required");if(N==null||!t.isValid(N))throw new Error("y required");if(B==null||!t.isValid(B))throw new Error("z required")}static fromAffine(A){let{x:N,y:B}=A||{};if(!A||!t.isValid(N)||!t.isValid(B))throw new Error("invalid affine point");if(A instanceof d)throw new Error("projective point not allowed");let O=C=>t.eql(C,t.ZERO);return O(N)&&O(B)?d.ZERO:new d(N,B,t.ONE)}get x(){return this.toAffine().x}get y(){return this.toAffine().y}static normalizeZ(A){let N=t.invertBatch(A.map(B=>B.pz));return A.map((B,O)=>B.toAffine(N[O])).map(d.fromAffine)}static fromHex(A){let N=d.fromAffine(s(At("pointHex",A)));return N.assertValidity(),N}static fromPrivateKey(A){return d.BASE.multiply(c(A))}_setWindowSize(A){this._WINDOW_SIZE=A,l.delete(this)}assertValidity(){if(this.is0()){if(e.allowInfinityPoint&&!t.is0(this.py))return;throw new Error("bad point: ZERO")}let{x:A,y:N}=this.toAffine();if(!t.isValid(A)||!t.isValid(N))throw new Error("bad point: x or y not FE");let B=t.sqr(N),O=i(A);if(!t.eql(B,O))throw new Error("bad point: equation left != right");if(!this.isTorsionFree())throw new Error("bad point: not in prime-order subgroup")}hasEvenY(){let{y:A}=this.toAffine();if(t.isOdd)return!t.isOdd(A);throw new Error("Field doesn't support isOdd")}equals(A){u(A);let{px:N,py:B,pz:O}=this,{px:C,py:Q,pz:L}=A,D=t.eql(t.mul(N,L),t.mul(C,O)),_=t.eql(t.mul(B,L),t.mul(Q,O));return D&&_}negate(){return new d(this.px,t.neg(this.py),this.pz)}double(){let{a:A,b:N}=e,B=t.mul(N,Xh),{px:O,py:C,pz:Q}=this,L=t.ZERO,D=t.ZERO,_=t.ZERO,G=t.mul(O,O),Y=t.mul(C,C),J=t.mul(Q,Q),W=t.mul(O,C);return W=t.add(W,W),_=t.mul(O,Q),_=t.add(_,_),L=t.mul(A,_),D=t.mul(B,J),D=t.add(L,D),L=t.sub(Y,D),D=t.add(Y,D),D=t.mul(L,D),L=t.mul(W,L),_=t.mul(B,_),J=t.mul(A,J),W=t.sub(G,J),W=t.mul(A,W),W=t.add(W,_),_=t.add(G,G),G=t.add(_,G),G=t.add(G,J),G=t.mul(G,W),D=t.add(D,G),J=t.mul(C,Q),J=t.add(J,J),G=t.mul(J,W),L=t.sub(L,G),_=t.mul(J,Y),_=t.add(_,_),_=t.add(_,_),new d(L,D,_)}add(A){u(A);let{px:N,py:B,pz:O}=this,{px:C,py:Q,pz:L}=A,D=t.ZERO,_=t.ZERO,G=t.ZERO,Y=e.a,J=t.mul(e.b,Xh),W=t.mul(N,C),de=t.mul(B,Q),me=t.mul(O,L),Oe=t.add(N,B),S=t.add(C,Q);Oe=t.mul(Oe,S),S=t.add(W,de),Oe=t.sub(Oe,S),S=t.add(N,O);let F=t.add(C,L);return S=t.mul(S,F),F=t.add(W,me),S=t.sub(S,F),F=t.add(B,O),D=t.add(Q,L),F=t.mul(F,D),D=t.add(de,me),F=t.sub(F,D),G=t.mul(Y,S),D=t.mul(J,me),G=t.add(D,G),D=t.sub(de,G),G=t.add(de,G),_=t.mul(D,G),de=t.add(W,W),de=t.add(de,W),me=t.mul(Y,me),S=t.mul(J,S),de=t.add(de,me),me=t.sub(W,me),me=t.mul(Y,me),S=t.add(S,me),W=t.mul(de,S),_=t.add(_,W),W=t.mul(F,S),D=t.mul(Oe,D),D=t.sub(D,W),W=t.mul(Oe,de),G=t.mul(F,G),G=t.add(G,W),new d(D,_,G)}subtract(A){return this.add(A.negate())}is0(){return this.equals(d.ZERO)}wNAF(A){return w.wNAFCached(this,l,A,N=>{let B=t.invertBatch(N.map(O=>O.pz));return N.map((O,C)=>O.toAffine(B[C])).map(d.fromAffine)})}multiplyUnsafe(A){let N=d.ZERO;if(A===cn)return N;if(a(A),A===St)return this;let{endo:B}=e;if(!B)return w.unsafeLadder(this,A);let{k1neg:O,k1:C,k2neg:Q,k2:L}=B.splitScalar(A),D=N,_=N,G=this;for(;C>cn||L>cn;)C&St&&(D=D.add(G)),L&St&&(_=_.add(G)),G=G.double(),C>>=St,L>>=St;return O&&(D=D.negate()),Q&&(_=_.negate()),_=new d(t.mul(_.px,B.beta),_.py,_.pz),D.add(_)}multiply(A){a(A);let N=A,B,O,{endo:C}=e;if(C){let{k1neg:Q,k1:L,k2neg:D,k2:_}=C.splitScalar(N),{p:G,f:Y}=this.wNAF(L),{p:J,f:W}=this.wNAF(_);G=w.constTimeNegate(Q,G),J=w.constTimeNegate(D,J),J=new d(t.mul(J.px,C.beta),J.py,J.pz),B=G.add(J),O=Y.add(W)}else{let{p:Q,f:L}=this.wNAF(N);B=Q,O=L}return d.normalizeZ([B,O])[0]}multiplyAndAddUnsafe(A,N,B){let O=d.BASE,C=(L,D)=>D===cn||D===St||!L.equals(O)?L.multiplyUnsafe(D):L.multiply(D),Q=C(this,N).add(C(A,B));return Q.is0()?void 0:Q}toAffine(A){let{px:N,py:B,pz:O}=this,C=this.is0();A==null&&(A=C?t.ONE:t.inv(O));let Q=t.mul(N,A),L=t.mul(B,A),D=t.mul(O,A);if(C)return{x:t.ZERO,y:t.ZERO};if(!t.eql(D,t.ONE))throw new Error("invZ was invalid");return{x:Q,y:L}}isTorsionFree(){let{h:A,isTorsionFree:N}=e;if(A===St)return!0;if(N)return N(d,this);throw new Error("isTorsionFree() has not been declared for the elliptic curve")}clearCofactor(){let{h:A,clearCofactor:N}=e;return A===St?this:N?N(d,this):this.multiplyUnsafe(e.h)}toRawBytes(A=!0){return this.assertValidity(),r(d,this,A)}toHex(A=!0){return Zs(this.toRawBytes(A))}}d.BASE=new d(e.Gx,e.Gy,t.ONE),d.ZERO=new d(t.ZERO,t.ONE,t.ZERO);let b=e.nBitLength,w=Yh(d,e.endo?Math.ceil(b/2):b);return{CURVE:e,ProjectivePoint:d,normPrivateKeyToScalar:c,weierstrassEquation:i,isWithinCurveOrder:o}}function Qb(n){let e=Ol(n);return es(e,{hash:"hash",hmac:"function",randomBytes:"function"},{bits2int:"function",bits2int_modN:"function",lowS:"boolean"}),Object.freeze({lowS:!0,...e})}function $h(n){let e=Qb(n),{Fp:t,n:r}=e,s=t.BYTES+1,i=2*t.BYTES+1;function o(S){return cn<S&&S<t.ORDER}function a(S){return Ze(S,r)}function c(S){return L0(S,r)}let{ProjectivePoint:l,normPrivateKeyToScalar:u,weierstrassEquation:d,isWithinCurveOrder:b}=Vb({...e,toBytes(S,F,z){let re=F.toAffine(),X=t.toBytes(re.x),he=mo;return z?he(Uint8Array.from([F.hasEvenY()?2:3]),X):he(Uint8Array.from([4]),X,t.toBytes(re.y))},fromBytes(S){let F=S.length,z=S[0],re=S.subarray(1);if(F===s&&(z===2||z===3)){let X=an(re);if(!o(X))throw new Error("Point is not on curve");let he=d(X),Ne=t.sqrt(he),Je=(Ne&St)===St;return(z&1)===1!==Je&&(Ne=t.neg(Ne)),{x:X,y:Ne}}else if(F===i&&z===4){let X=t.fromBytes(re.subarray(0,t.BYTES)),he=t.fromBytes(re.subarray(t.BYTES,2*t.BYTES));return{x:X,y:he}}else throw new Error(`Point of length ${F} was invalid. Expected ${s} compressed bytes or ${i} uncompressed bytes`)}}),w=S=>Zs($n(S,e.nByteLength));function k(S){let F=r>>St;return S>F}function A(S){return k(S)?a(-S):S}let N=(S,F,z)=>an(S.slice(F,z));class B{constructor(F,z,re){this.r=F,this.s=z,this.recovery=re,this.assertValidity()}static fromCompact(F){let z=e.nByteLength;return F=At("compactSignature",F,z*2),new B(N(F,0,z),N(F,z,2*z))}static fromDER(F){let{r:z,s:re}=Xs.toSig(At("DER",F));return new B(z,re)}assertValidity(){if(!b(this.r))throw new Error("r must be 0 < r < CURVE.n");if(!b(this.s))throw new Error("s must be 0 < s < CURVE.n")}addRecoveryBit(F){return new B(this.r,this.s,F)}recoverPublicKey(F){let{r:z,s:re,recovery:X}=this,he=_(At("msgHash",F));if(X==null||![0,1,2,3].includes(X))throw new Error("recovery id invalid");let Ne=X===2||X===3?z+e.n:z;if(Ne>=t.ORDER)throw new Error("recovery id 2 or 3 invalid");let Je=(X&1)===0?"02":"03",Ln=l.fromHex(Je+w(Ne)),Dn=c(Ne),Ji=a(-he*Dn),Fa=a(re*Dn),Fn=l.BASE.multiplyAndAddUnsafe(Ln,Ji,Fa);if(!Fn)throw new Error("point at infinify");return Fn.assertValidity(),Fn}hasHighS(){return k(this.s)}normalizeS(){return this.hasHighS()?new B(this.r,a(-this.s),this.recovery):this}toDERRawBytes(){return qs(this.toDERHex())}toDERHex(){return Xs.hexFromSig({r:this.r,s:this.s})}toCompactRawBytes(){return qs(this.toCompactHex())}toCompactHex(){return w(this.r)+w(this.s)}}let O={isValidPrivateKey(S){try{return u(S),!0}catch{return!1}},normPrivateKeyToScalar:u,randomPrivateKey:()=>{let S=Il(e.n);return qh(e.randomBytes(S),e.n)},precompute(S=8,F=l.BASE){return F._setWindowSize(S),F.multiply(BigInt(3)),F}};function C(S,F=!0){return l.fromPrivateKey(S).toRawBytes(F)}function Q(S){let F=S instanceof Uint8Array,z=typeof S=="string",re=(F||z)&&S.length;return F?re===s||re===i:z?re===2*s||re===2*i:S instanceof l}function L(S,F,z=!0){if(Q(S))throw new Error("first arg must be private key");if(!Q(F))throw new Error("second arg must be public key");return l.fromHex(F).multiply(u(S)).toRawBytes(z)}let D=e.bits2int||function(S){let F=an(S),z=S.length*8-e.nBitLength;return z>0?F>>BigInt(z):F},_=e.bits2int_modN||function(S){return a(D(S))},G=nc(e.nBitLength);function Y(S){if(typeof S!="bigint")throw new Error("bigint expected");if(!(cn<=S&&S<G))throw new Error(`bigint expected < 2^${e.nBitLength}`);return $n(S,e.nByteLength)}function J(S,F,z=W){if(["recovered","canonical"].some(vs=>vs in z))throw new Error("sign() legacy options not supported");let{hash:re,randomBytes:X}=e,{lowS:he,prehash:Ne,extraEntropy:Je}=z;he==null&&(he=!0),S=At("msgHash",S),Ne&&(S=At("prehashed msgHash",re(S)));let Ln=_(S),Dn=u(F),Ji=[Y(Dn),Y(Ln)];if(Je!=null){let vs=Je===!0?X(t.BYTES):Je;Ji.push(At("extraEntropy",vs))}let Fa=mo(...Ji),Fn=Ln;function jf(vs){let Wi=D(vs);if(!b(Wi))return;let gd=c(Wi),kr=l.BASE.multiply(Wi).toAffine(),ji=a(kr.x);if(ji===cn)return;let i0=a(gd*a(Fn+ji*Dn));if(i0===cn)return;let yd=(kr.x===ji?0:2)|Number(kr.y&St),wd=i0;return he&&k(i0)&&(wd=A(i0),yd^=1),new B(ji,wd,yd)}return{seed:Fa,k2sig:jf}}let W={lowS:e.lowS,prehash:!1},de={lowS:e.lowS,prehash:!1};function me(S,F,z=W){let{seed:re,k2sig:X}=J(S,F,z),he=e;return Pl(he.hash.outputLen,he.nByteLength,he.hmac)(re,X)}l.BASE._setWindowSize(8);function Oe(S,F,z,re=de){let X=S;if(F=At("msgHash",F),z=At("publicKey",z),"strict"in re)throw new Error("options.strict was renamed to lowS");let{lowS:he,prehash:Ne}=re,Je,Ln;try{if(typeof X=="string"||X instanceof Uint8Array)try{Je=B.fromDER(X)}catch(kr){if(!(kr instanceof Xs.Err))throw kr;Je=B.fromCompact(X)}else if(typeof X=="object"&&typeof X.r=="bigint"&&typeof X.s=="bigint"){let{r:kr,s:ji}=X;Je=new B(kr,ji)}else throw new Error("PARSE");Ln=l.fromHex(z)}catch(kr){if(kr.message==="PARSE")throw new Error("signature must be Signature instance, Uint8Array or hex string");return!1}if(he&&Je.hasHighS())return!1;Ne&&(F=e.hash(F));let{r:Dn,s:Ji}=Je,Fa=_(F),Fn=c(Ji),jf=a(Fa*Fn),vs=a(Dn*Fn),Wi=l.BASE.multiplyAndAddUnsafe(Ln,jf,vs)?.toAffine();return Wi?a(Wi.x)===Dn:!1}return{CURVE:e,getPublicKey:C,getSharedSecret:L,sign:me,verify:Oe,ProjectivePoint:l,Signature:B,utils:O}}p();m();function Kb(n){return{hash:n,hmac:(e,...t)=>Ws(n,e,zd(...t)),randomBytes:Wd}}function ex(n,e){let t=r=>$h({...n,...Kb(r)});return Object.freeze({...t(e),create:t})}var nx=BigInt("0xfffffffffffffffffffffffffffffffffffffffffffffffffffffffefffffc2f"),tx=BigInt("0xfffffffffffffffffffffffffffffffebaaedce6af48a03bbfd25e8cd0364141"),zb=BigInt(1),Sl=BigInt(2),rx=(n,e)=>(n+e/Sl)/e;function Jb(n){let e=nx,t=BigInt(3),r=BigInt(6),s=BigInt(11),i=BigInt(22),o=BigInt(23),a=BigInt(44),c=BigInt(88),l=n*n*n%e,u=l*l*n%e,d=Et(u,t,e)*u%e,b=Et(d,t,e)*u%e,w=Et(b,Sl,e)*l%e,k=Et(w,s,e)*w%e,A=Et(k,i,e)*k%e,N=Et(A,a,e)*A%e,B=Et(N,c,e)*N%e,O=Et(B,a,e)*A%e,C=Et(O,t,e)*u%e,Q=Et(C,o,e)*k%e,L=Et(Q,r,e)*l%e,D=Et(L,Sl,e);if(!Ul.eql(Ul.sqr(D),n))throw new Error("Cannot find square root");return D}var Ul=jh(nx,void 0,void 0,{sqrt:Jb}),fn=ex({a:BigInt(0),b:BigInt(7),Fp:Ul,n:tx,Gx:BigInt("55066263022277343669578718895168534326250603453777594175500187360389116729240"),Gy:BigInt("32670510020758816978083085130507043184471273380659243275938904335757337482424"),h:BigInt(1),lowS:!0,endo:{beta:BigInt("0x7ae96a2b657c07106e64479eac3434e99cf0497512f58995c1396c28719501ee"),splitScalar:n=>{let e=tx,t=BigInt("0x3086d221a7d46bcde86c90e49284eb15"),r=-zb*BigInt("0xe4437ed6010e88286f547fa90abfe4c3"),s=BigInt("0x114ca50f7a8e2f3f657c1108d9d44cfd8"),i=t,o=BigInt("0x100000000000000000000000000000000"),a=rx(i*n,e),c=rx(-r*n,e),l=Ze(n-a*t-c*s,e),u=Ze(-a*r-c*i,e),d=l>o,b=u>o;if(d&&(l=e-l),b&&(u=e-u),l>o||u>o)throw new Error("splitScalar: Endomorphism failed, k="+n);return{k1neg:d,k1:l,k2neg:b,k2:u}}}},on),m4=BigInt(0);var b4=fn.ProjectivePoint;p();m();p();m();p();m();var ur="0x0000000000000000000000000000000000000000";p();m();var bo="0x0000000000000000000000000000000000000000000000000000000000000000";p();m();var Ll=BigInt("0xfffffffffffffffffffffffffffffffebaaedce6af48a03bbfd25e8cd0364141"),Dl=BigInt("1000000000000000000"),Fl=BigInt("0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff"),Ml=BigInt("0x8000000000000000000000000000000000000000000000000000000000000000")*BigInt(-1),Gl=BigInt("0x7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff");p();m();var Hl="\u039E",sc=`Ethereum Signed Message:
`;var sx=BigInt(0),ix=BigInt(1),ox=BigInt(2),ax=BigInt(27),cx=BigInt(28),D0=BigInt(35),go={};function fx(n){return Ie(pe(n),32)}var yo,wo,Ao,$s,dr=class{constructor(e,t,r,s){y(this,yo,void 0);y(this,wo,void 0);y(this,Ao,void 0);y(this,$s,void 0);De(e,go,"Signature"),h(this,yo,t),h(this,wo,r),h(this,Ao,s),h(this,$s,null)}get r(){return f(this,yo)}set r(e){x(ft(e)===32,"invalid r","value",e),h(this,yo,T(e))}get s(){return f(this,wo)}set s(e){x(ft(e)===32,"invalid s","value",e);let t=T(e);x(parseInt(t.substring(0,3))<8,"non-canonical s","value",t),h(this,wo,t)}get v(){return f(this,Ao)}set v(e){let t=H(e,"value");x(t===27||t===28,"invalid v","v",e),h(this,Ao,t)}get networkV(){return f(this,$s)}get legacyChainId(){let e=this.networkV;return e==null?null:dr.getChainId(e)}get yParity(){return this.v===27?0:1}get yParityAndS(){let e=v(this.s);return this.yParity&&(e[0]|=128),T(e)}get compactSerialized(){return K([this.r,this.yParityAndS])}get serialized(){return K([this.r,this.s,this.yParity?"0x1c":"0x1b"])}[Symbol.for("nodejs.util.inspect.custom")](){return`Signature { r: "${this.r}", s: "${this.s}", yParity: ${this.yParity}, networkV: ${this.networkV} }`}clone(){let e=new dr(go,this.r,this.s,this.v);return this.networkV&&h(e,$s,this.networkV),e}toJSON(){let e=this.networkV;return{_type:"signature",networkV:e!=null?e.toString():null,r:this.r,s:this.s,v:this.v}}static getChainId(e){let t=U(e,"v");return t==ax||t==cx?sx:(x(t>=D0,"invalid EIP-155 v","v",e),(t-D0)/ox)}static getChainIdV(e,t){return U(e)*ox+BigInt(35+t-27)}static getNormalizedV(e){let t=U(e);return t===sx||t===ax?27:t===ix||t===cx?28:(x(t>=D0,"invalid v","v",e),t&ix?27:28)}static from(e){function t(l,u){x(l,u,"signature",e)}if(e==null)return new dr(go,bo,bo,27);if(typeof e=="string"){let l=v(e,"signature");if(l.length===64){let u=T(l.slice(0,32)),d=l.slice(32,64),b=d[0]&128?28:27;return d[0]&=127,new dr(go,u,T(d),b)}if(l.length===65){let u=T(l.slice(0,32)),d=l.slice(32,64);t((d[0]&128)===0,"non-canonical s");let b=dr.getNormalizedV(l[64]);return new dr(go,u,T(d),b)}t(!1,"invalid raw signature length")}if(e instanceof dr)return e.clone();let r=e.r;t(r!=null,"missing r");let s=fx(r),i=function(l,u){if(l!=null)return fx(l);if(u!=null){t(q(u,32),"invalid yParityAndS");let d=v(u);return d[0]&=127,T(d)}t(!1,"missing s")}(e.s,e.yParityAndS);t((v(i)[0]&128)==0,"non-canonical s");let{networkV:o,v:a}=function(l,u,d){if(l!=null){let b=U(l);return{networkV:b>=D0?b:void 0,v:dr.getNormalizedV(b)}}if(u!=null)return t(q(u,32),"invalid yParityAndS"),{v:v(u)[0]&128?28:27};if(d!=null){switch(H(d,"sig.yParity")){case 0:return{v:27};case 1:return{v:28}}t(!1,"invalid yParity")}t(!1,"missing v")}(e.v,e.yParityAndS,e.yParity),c=new dr(go,s,i,a);return o&&h(c,$s,o),t(e.yParity==null||H(e.yParity,"sig.yParity")===c.yParity,"yParity mismatch"),t(e.yParityAndS==null||e.yParityAndS===c.yParityAndS,"yParityAndS mismatch"),c}},Me=dr;yo=new WeakMap,wo=new WeakMap,Ao=new WeakMap,$s=new WeakMap;var ln,ei=class{constructor(e){y(this,ln,void 0);x(ft(e)===32,"invalid private key","privateKey","[REDACTED]"),h(this,ln,T(e))}get privateKey(){return f(this,ln)}get publicKey(){return ei.computePublicKey(f(this,ln))}get compressedPublicKey(){return ei.computePublicKey(f(this,ln),!0)}sign(e){x(ft(e)===32,"invalid digest length","digest",e);let t=fn.sign(xe(e),xe(f(this,ln)),{lowS:!0});return Me.from({r:Se(t.r,32),s:Se(t.s,32),v:t.recovery?28:27})}computeSharedSecret(e){let t=ei.computePublicKey(e);return T(fn.getSharedSecret(xe(f(this,ln)),v(t),!1))}static computePublicKey(e,t){let r=v(e,"key");if(r.length===32){let i=fn.getPublicKey(r,!!t);return T(i)}if(r.length===64){let i=new Uint8Array(65);i[0]=4,i.set(r,1),r=i}let s=fn.ProjectivePoint.fromHex(r);return T(s.toRawBytes(t))}static recoverPublicKey(e,t){x(ft(e)===32,"invalid digest length","digest",e);let r=Me.from(t),s=fn.Signature.fromCompact(xe(K([r.r,r.s])));s=s.addRecoveryBit(r.yParity);let i=s.recoverPublicKey(xe(e));return x(i!=null,"invalid signautre for digest","signature",t),"0x"+i.toHex(!1)}static addPoints(e,t,r){let s=fn.ProjectivePoint.fromHex(ei.computePublicKey(e).substring(2)),i=fn.ProjectivePoint.fromHex(ei.computePublicKey(t).substring(2));return"0x"+s.add(i).toHex(!!r)}},Ge=ei;ln=new WeakMap;function lx(){ar.lock(),Z.lock(),st.lock(),je.lock(),cr.lock(),fr.lock(),lr.lock(),Pe.lock(),js.lock(),je.lock()}var Wb=BigInt(0),jb=BigInt(36);function ux(n){n=n.toLowerCase();let e=n.substring(2).split(""),t=new Uint8Array(40);for(let s=0;s<40;s++)t[s]=e[s].charCodeAt(0);let r=v(Z(t));for(let s=0;s<40;s+=2)r[s>>1]>>4>=8&&(e[s]=e[s].toUpperCase()),(r[s>>1]&15)>=8&&(e[s+1]=e[s+1].toUpperCase());return"0x"+e.join("")}var _l={};for(let n=0;n<10;n++)_l[String(n)]=String(n);for(let n=0;n<26;n++)_l[String.fromCharCode(65+n)]=String(10+n);var dx=15;function hx(n){n=n.toUpperCase(),n=n.substring(4)+n.substring(0,2)+"00";let e=n.split("").map(r=>_l[r]).join("");for(;e.length>=dx;){let r=e.substring(0,dx);e=parseInt(r,10)%97+e.substring(r.length)}let t=String(98-parseInt(e,10)%97);for(;t.length<2;)t="0"+t;return t}var Zb=function(){let n={};for(let e=0;e<36;e++){let t="0123456789abcdefghijklmnopqrstuvwxyz"[e];n[t]=BigInt(e)}return n}();function qb(n){n=n.toLowerCase();let e=Wb;for(let t=0;t<n.length;t++)e=e*jb+Zb[n[t]];return e}function V(n){if(x(typeof n=="string","invalid address","address",n),n.match(/^(0x)?[0-9a-fA-F]{40}$/)){n.startsWith("0x")||(n="0x"+n);let e=ux(n);return x(!n.match(/([A-F].*[a-f])|([a-f].*[A-F])/)||e===n,"bad address checksum","address",n),e}if(n.match(/^XE[0-9]{2}[0-9A-Za-z]{30,31}$/)){x(n.substring(2,4)===hx(n),"bad icap checksum","address",n);let e=qb(n.substring(4)).toString(16);for(;e.length<40;)e="0"+e;return ux("0x"+e)}x(!1,"invalid address","address",n)}function Vl(n){let e=BigInt(V(n)).toString(36).toUpperCase();for(;e.length<30;)e="0"+e;return"XE"+hx("XE00"+e)+e}p();m();function ti(n){let e=V(n.from),r=U(n.nonce,"tx.nonce").toString(16);return r==="0"?r="0x":r.length%2?r="0x0"+r:r="0x"+r,V(ne(Z(Ot([e,r])),12))}function Ql(n,e,t){let r=V(n),s=v(e,"salt"),i=v(t,"initCodeHash");return x(s.length===32,"salt must be 32 bytes","salt",e),x(i.length===32,"initCodeHash must be 32 bytes","initCodeHash",t),V(ne(Z(K(["0xff",r,s,i])),12))}p();m();function Eo(n){return n&&typeof n.getAddress=="function"}function zl(n){try{return V(n),!0}catch{}return!1}async function Kl(n,e){let t=await e;return(t==null||t==="0x0000000000000000000000000000000000000000")&&(E(typeof n!="string","unconfigured name","UNCONFIGURED_NAME",{value:n}),x(!1,"invalid AddressLike value; did not resolve to a value address","target",n)),V(t)}function be(n,e){if(typeof n=="string")return n.match(/^0x[0-9a-f]{40}$/i)?V(n):(E(e!=null,"ENS resolution requires a provider","UNSUPPORTED_OPERATION",{operation:"resolveName"}),Kl(n,e.resolveName(n)));if(Eo(n))return Kl(n,n.getAddress());if(n&&typeof n.then=="function")return Kl(n,n);x(!1,"unsupported addressable value","target",n)}p();m();var hr={};function M(n,e){let t=!1;return e<0&&(t=!0,e*=-1),new le(hr,`${t?"":"u"}int${e}`,n,{signed:t,width:e})}function ie(n,e){return new le(hr,`bytes${e||""}`,n,{size:e})}var xx=Symbol.for("_ethers_typed"),ri,xr=class{constructor(e,t,r,s){g(this,"type");g(this,"value");y(this,ri,void 0);g(this,"_typedSymbol");s==null&&(s=null),De(hr,e,"Typed"),I(this,{_typedSymbol:xx,type:t,value:r}),h(this,ri,s),this.format()}format(){if(this.type==="array")throw new Error("");if(this.type==="dynamicArray")throw new Error("");return this.type==="tuple"?`tuple(${this.value.map(e=>e.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 this.type==="string"}get tupleName(){if(this.type!=="tuple")throw TypeError("not a tuple");return f(this,ri)}get arrayLength(){if(this.type!=="array")throw TypeError("not an array");return f(this,ri)===!0?-1:f(this,ri)===!1?this.value.length:null}static from(e,t){return new xr(hr,e,t)}static uint8(e){return M(e,8)}static uint16(e){return M(e,16)}static uint24(e){return M(e,24)}static uint32(e){return M(e,32)}static uint40(e){return M(e,40)}static uint48(e){return M(e,48)}static uint56(e){return M(e,56)}static uint64(e){return M(e,64)}static uint72(e){return M(e,72)}static uint80(e){return M(e,80)}static uint88(e){return M(e,88)}static uint96(e){return M(e,96)}static uint104(e){return M(e,104)}static uint112(e){return M(e,112)}static uint120(e){return M(e,120)}static uint128(e){return M(e,128)}static uint136(e){return M(e,136)}static uint144(e){return M(e,144)}static uint152(e){return M(e,152)}static uint160(e){return M(e,160)}static uint168(e){return M(e,168)}static uint176(e){return M(e,176)}static uint184(e){return M(e,184)}static uint192(e){return M(e,192)}static uint200(e){return M(e,200)}static uint208(e){return M(e,208)}static uint216(e){return M(e,216)}static uint224(e){return M(e,224)}static uint232(e){return M(e,232)}static uint240(e){return M(e,240)}static uint248(e){return M(e,248)}static uint256(e){return M(e,256)}static uint(e){return M(e,256)}static int8(e){return M(e,-8)}static int16(e){return M(e,-16)}static int24(e){return M(e,-24)}static int32(e){return M(e,-32)}static int40(e){return M(e,-40)}static int48(e){return M(e,-48)}static int56(e){return M(e,-56)}static int64(e){return M(e,-64)}static int72(e){return M(e,-72)}static int80(e){return M(e,-80)}static int88(e){return M(e,-88)}static int96(e){return M(e,-96)}static int104(e){return M(e,-104)}static int112(e){return M(e,-112)}static int120(e){return M(e,-120)}static int128(e){return M(e,-128)}static int136(e){return M(e,-136)}static int144(e){return M(e,-144)}static int152(e){return M(e,-152)}static int160(e){return M(e,-160)}static int168(e){return M(e,-168)}static int176(e){return M(e,-176)}static int184(e){return M(e,-184)}static int192(e){return M(e,-192)}static int200(e){return M(e,-200)}static int208(e){return M(e,-208)}static int216(e){return M(e,-216)}static int224(e){return M(e,-224)}static int232(e){return M(e,-232)}static int240(e){return M(e,-240)}static int248(e){return M(e,-248)}static int256(e){return M(e,-256)}static int(e){return M(e,-256)}static bytes1(e){return ie(e,1)}static bytes2(e){return ie(e,2)}static bytes3(e){return ie(e,3)}static bytes4(e){return ie(e,4)}static bytes5(e){return ie(e,5)}static bytes6(e){return ie(e,6)}static bytes7(e){return ie(e,7)}static bytes8(e){return ie(e,8)}static bytes9(e){return ie(e,9)}static bytes10(e){return ie(e,10)}static bytes11(e){return ie(e,11)}static bytes12(e){return ie(e,12)}static bytes13(e){return ie(e,13)}static bytes14(e){return ie(e,14)}static bytes15(e){return ie(e,15)}static bytes16(e){return ie(e,16)}static bytes17(e){return ie(e,17)}static bytes18(e){return ie(e,18)}static bytes19(e){return ie(e,19)}static bytes20(e){return ie(e,20)}static bytes21(e){return ie(e,21)}static bytes22(e){return ie(e,22)}static bytes23(e){return ie(e,23)}static bytes24(e){return ie(e,24)}static bytes25(e){return ie(e,25)}static bytes26(e){return ie(e,26)}static bytes27(e){return ie(e,27)}static bytes28(e){return ie(e,28)}static bytes29(e){return ie(e,29)}static bytes30(e){return ie(e,30)}static bytes31(e){return ie(e,31)}static bytes32(e){return ie(e,32)}static address(e){return new xr(hr,"address",e)}static bool(e){return new xr(hr,"bool",!!e)}static bytes(e){return new xr(hr,"bytes",e)}static string(e){return new xr(hr,"string",e)}static array(e,t){throw new Error("not implemented yet")}static tuple(e,t){throw new Error("not implemented yet")}static overrides(e){return new xr(hr,"overrides",Object.assign({},e))}static isTyped(e){return e&&typeof e=="object"&&"_typedSymbol"in e&&e._typedSymbol===xx}static dereference(e,t){if(xr.isTyped(e)){if(e.type!==t)throw new Error(`invalid type: expecetd ${t}, got ${e.type}`);return e.value}return e}},le=xr;ri=new WeakMap;var F0=class extends Te{constructor(e){super("address","address",e,!1)}defaultValue(){return"0x0000000000000000000000000000000000000000"}encode(e,t){let r=le.dereference(t,"string");try{r=V(r)}catch(s){return this._throwError(s.message,t)}return e.writeValue(r)}decode(e){return V(Se(e.readValue(),20))}};p();m();p();m();var M0=class extends Te{constructor(t){super(t.name,t.type,"_",t.dynamic);g(this,"coder");this.coder=t}defaultValue(){return this.coder.defaultValue()}encode(t,r){return this.coder.encode(t,r)}decode(t){return this.coder.decode(t)}};function Jl(n,e,t){let r=[];if(Array.isArray(t))r=t;else if(t&&typeof t=="object"){let c={};r=e.map(l=>{let u=l.localName;return E(u,"cannot encode object for signature with missing names","INVALID_ARGUMENT",{argument:"values",info:{coder:l},value:t}),E(!c[u],"cannot encode object for signature with duplicate names","INVALID_ARGUMENT",{argument:"values",info:{coder:l},value:t}),c[u]=!0,t[u]})}else x(!1,"invalid tuple value","tuple",t);x(e.length===r.length,"types/value length mismatch","tuple",t);let s=new Js,i=new Js,o=[];e.forEach((c,l)=>{let u=r[l];if(c.dynamic){let d=i.length;c.encode(i,u);let b=s.writeUpdatableValue();o.push(w=>{b(w+d)})}else c.encode(s,u)}),o.forEach(c=>{c(s.length)});let a=n.appendWriter(s);return a+=n.appendWriter(i),a}function Wl(n,e){let t=[],r=[],s=n.subReader(0);return e.forEach(i=>{let o=null;if(i.dynamic){let a=n.readIndex(),c=s.subReader(a);try{o=i.decode(c)}catch(l){if(oe(l,"BUFFER_OVERRUN"))throw l;o=l,o.baseType=i.name,o.name=i.localName,o.type=i.type}}else try{o=i.decode(n)}catch(a){if(oe(a,"BUFFER_OVERRUN"))throw a;o=a,o.baseType=i.name,o.name=i.localName,o.type=i.type}if(o==null)throw new Error("investigate");t.push(o),r.push(i.localName||null)}),sr.fromItems(t,r)}var G0=class extends Te{constructor(t,r,s){let i=t.type+"["+(r>=0?r:"")+"]",o=r===-1||t.dynamic;super("array",i,s,o);g(this,"coder");g(this,"length");I(this,{coder:t,length:r})}defaultValue(){let t=this.coder.defaultValue(),r=[];for(let s=0;s<this.length;s++)r.push(t);return r}encode(t,r){let s=le.dereference(r,"array");Array.isArray(s)||this._throwError("expected array value",s);let i=this.length;i===-1&&(i=s.length,t.writeValue(s.length)),Is(s.length,i,"coder array"+(this.localName?" "+this.localName:""));let o=[];for(let a=0;a<s.length;a++)o.push(this.coder);return Jl(t,o,s)}decode(t){let r=this.length;r===-1&&(r=t.readIndex(),E(r*Fe<=t.dataLength,"insufficient data length","BUFFER_OVERRUN",{buffer:t.bytes,offset:r*Fe,length:t.dataLength}));let s=[];for(let i=0;i<r;i++)s.push(new M0(this.coder));return Wl(t,s)}};p();m();var H0=class extends Te{constructor(e){super("bool","bool",e,!1)}defaultValue(){return!1}encode(e,t){let r=le.dereference(t,"bool");return e.writeValue(r?1:0)}decode(e){return!!e.readValue()}};p();m();var ic=class extends Te{constructor(e,t){super(e,e,t,!0)}defaultValue(){return"0x"}encode(e,t){t=xe(t);let r=e.writeValue(t.length);return r+=e.writeBytes(t),r}decode(e){return e.readBytes(e.readIndex(),!0)}},_0=class extends ic{constructor(e){super("bytes",e)}decode(e){return T(super.decode(e))}};p();m();var V0=class extends Te{constructor(t,r){let s="bytes"+String(t);super(s,s,r,!1);g(this,"size");I(this,{size:t},{size:"number"})}defaultValue(){return"0x0000000000000000000000000000000000000000000000000000000000000000".substring(0,2+this.size*2)}encode(t,r){let s=xe(le.dereference(r,this.type));return s.length!==this.size&&this._throwError("incorrect data length",r),t.writeBytes(s)}decode(t){return T(t.readBytes(this.size))}};p();m();var Yb=new Uint8Array([]),Q0=class extends Te{constructor(e){super("null","",e,!1)}defaultValue(){return null}encode(e,t){return t!=null&&this._throwError("not null",t),e.writeBytes(Yb)}decode(e){return e.readBytes(0),null}};p();m();var Xb=BigInt(0),$b=BigInt(1),eg=BigInt("0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff"),K0=class extends Te{constructor(t,r,s){let i=(r?"int":"uint")+t*8;super(i,i,s,!1);g(this,"size");g(this,"signed");I(this,{size:t,signed:r},{size:"number",signed:"boolean"})}defaultValue(){return 0}encode(t,r){let s=U(le.dereference(r,this.type)),i=bt(eg,Fe*8);if(this.signed){let o=bt(i,this.size*8-1);(s>o||s<-(o+$b))&&this._throwError("value out-of-bounds",r),s=Yr(s,8*Fe)}else(s<Xb||s>bt(i,this.size*8))&&this._throwError("value out-of-bounds",r);return t.writeValue(s)}decode(t){let r=bt(t.readValue(),this.size*8);return this.signed&&(r=qr(r,this.size*8)),r}};p();m();var z0=class extends ic{constructor(e){super("string",e)}defaultValue(){return""}encode(e,t){return super.encode(e,ae(le.dereference(t,"string")))}decode(e){return rt(super.decode(e))}};p();m();var ni=class extends Te{constructor(t,r){let s=!1,i=[];t.forEach(a=>{a.dynamic&&(s=!0),i.push(a.type)});let o="tuple("+i.join(",")+")";super("tuple",o,r,s);g(this,"coders");I(this,{coders:Object.freeze(t.slice())})}defaultValue(){let t=[];this.coders.forEach(s=>{t.push(s.defaultValue())});let r=this.coders.reduce((s,i)=>{let o=i.localName;return o&&(s[o]||(s[o]=0),s[o]++),s},{});return this.coders.forEach((s,i)=>{let o=s.localName;!o||r[o]!==1||(o==="length"&&(o="_length"),t[o]==null&&(t[o]=t[i]))}),Object.freeze(t)}encode(t,r){let s=le.dereference(r,"tuple");return Jl(t,this.coders,s)}decode(t){return Wl(t,this.coders)}};p();m();p();m();p();m();function He(n){return Z(ae(n))}p();m();p();m();var tg="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",px=new Map([[8217,"apostrophe"],[8260,"fraction slash"],[12539,"middle dot"]]),mx=4;function rg(n){let e=0;function t(){return n[e++]<<8|n[e++]}let r=t(),s=1,i=[0,1];for(let L=1;L<r;L++)i.push(s+=t());let o=t(),a=e;e+=o;let c=0,l=0;function u(){return c==0&&(l=l<<8|n[e++],c=8),l>>--c&1}let d=31,b=2**d,w=b>>>1,k=w>>1,A=b-1,N=0;for(let L=0;L<d;L++)N=N<<1|u();let B=[],O=0,C=b;for(;;){let L=Math.floor(((N-O+1)*s-1)/C),D=0,_=r;for(;_-D>1;){let J=D+_>>>1;L<i[J]?_=J:D=J}if(D==0)break;B.push(D);let G=O+Math.floor(C*i[D]/s),Y=O+Math.floor(C*i[D+1]/s)-1;for(;((G^Y)&w)==0;)N=N<<1&A|u(),G=G<<1&A,Y=Y<<1&A|1;for(;G&~Y&k;)N=N&w|N<<1&A>>>1|u(),G=G<<1^w,Y=(Y^w)<<1|w|1;O=G,C=1+Y-G}let Q=r-4;return B.map(L=>{switch(L-Q){case 3:return Q+65792+(n[a++]<<16|n[a++]<<8|n[a++]);case 2:return Q+256+(n[a++]<<8|n[a++]);case 1:return Q+n[a++];default:return L-1}})}function ng(n){let e=0;return()=>n[e++]}function wx(n){return ng(rg(sg(n)))}function sg(n){let e=[];[..."ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/"].forEach((s,i)=>e[s.charCodeAt(0)]=i);let t=n.length,r=new Uint8Array(6*t>>3);for(let s=0,i=0,o=0,a=0;s<t;s++)a=a<<6|e[n.charCodeAt(s)],o+=6,o>=8&&(r[i++]=a>>(o-=8));return r}function ig(n){return n&1?~n>>1:n>>1}function og(n,e){let t=Array(n);for(let r=0,s=0;r<n;r++)t[r]=s+=ig(e());return t}function cc(n,e=0){let t=[];for(;;){let r=n(),s=n();if(!s)break;e+=r;for(let i=0;i<s;i++)t.push(e+i);e+=s+1}return t}function Ax(n){return fc(()=>{let e=cc(n);if(e.length)return e})}function Ex(n){let e=[];for(;;){let t=n();if(t==0)break;e.push(ag(t,n))}for(;;){let t=n()-1;if(t<0)break;e.push(cg(t,n))}return e.flat()}function fc(n){let e=[];for(;;){let t=n(e.length);if(!t)break;e.push(t)}return e}function kx(n,e,t){let r=Array(n).fill().map(()=>[]);for(let s=0;s<e;s++)og(n,t).forEach((i,o)=>r[o].push(i));return r}function ag(n,e){let t=1+e(),r=e(),s=fc(e);return kx(s.length,1+n,e).flatMap((o,a)=>{let[c,...l]=o;return Array(s[a]).fill().map((u,d)=>{let b=d*r;return[c+d*t,l.map(w=>w+b)]})})}function cg(n,e){let t=1+e();return kx(t,1+n,e).map(s=>[s[0],s.slice(1)])}function fg(n){let e=[],t=cc(n);return s(r([]),[]),e;function r(i){let o=n(),a=fc(()=>{let c=cc(n).map(l=>t[l]);if(c.length)return r(c)});return{S:o,B:a,Q:i}}function s({S:i,B:o},a,c){if(!(i&4&&c===a[a.length-1])){i&2&&(c=a[a.length-1]),i&1&&e.push(a);for(let l of o)for(let u of l.Q)s(l,[...a,u],c)}}}function lg(n){return n.toString(16).toUpperCase().padStart(2,"0")}function Nx(n){return`{${lg(n)}}`}function ug(n){let e=[];for(let t=0,r=n.length;t<r;){let s=n.codePointAt(t);t+=s<65536?1:2,e.push(s)}return e}function Po(n){let t=n.length;if(t<4096)return String.fromCodePoint(...n);let r=[];for(let s=0;s<t;)r.push(String.fromCodePoint(...n.slice(s,s+=4096)));return r.join("")}function dg(n,e){let t=n.length,r=t-e.length;for(let s=0;r==0&&s<t;s++)r=n[s]-e[s];return r}var hg="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",lc=44032,W0=4352,j0=4449,Z0=4519,Px=19,Bx=21,Bo=28,q0=Bx*Bo,xg=Px*q0,pg=lc+xg,mg=W0+Px,bg=j0+Bx,gg=Z0+Bo;function oc(n){return n>>24&255}function Rx(n){return n&16777215}var Zl,bx,ql,J0;function yg(){let n=wx(hg);Zl=new Map(Ax(n).flatMap((e,t)=>e.map(r=>[r,t+1<<24]))),bx=new Set(cc(n)),ql=new Map,J0=new Map;for(let[e,t]of Ex(n)){if(!bx.has(e)&&t.length==2){let[r,s]=t,i=J0.get(r);i||(i=new Map,J0.set(r,i)),i.set(s,e)}ql.set(e,t.reverse())}}function Tx(n){return n>=lc&&n<pg}function wg(n,e){if(n>=W0&&n<mg&&e>=j0&&e<bg)return lc+(n-W0)*q0+(e-j0)*Bo;if(Tx(n)&&e>Z0&&e<gg&&(n-lc)%Bo==0)return n+(e-Z0);{let t=J0.get(n);return t&&(t=t.get(e),t)?t:-1}}function vx(n){Zl||yg();let e=[],t=[],r=!1;function s(i){let o=Zl.get(i);o&&(r=!0,i|=o),e.push(i)}for(let i of n)for(;;){if(i<128)e.push(i);else if(Tx(i)){let o=i-lc,a=o/q0|0,c=o%q0/Bo|0,l=o%Bo;s(W0+a),s(j0+c),l>0&&s(Z0+l)}else{let o=ql.get(i);o?t.push(...o):s(i)}if(!t.length)break;i=t.pop()}if(r&&e.length>1){let i=oc(e[0]);for(let o=1;o<e.length;o++){let a=oc(e[o]);if(a==0||i<=a){i=a;continue}let c=o-1;for(;;){let l=e[c+1];if(e[c+1]=e[c],e[c]=l,!c||(i=oc(e[--c]),i<=a))break}i=oc(e[o])}}return e}function Ag(n){let e=[],t=[],r=-1,s=0;for(let i of n){let o=oc(i),a=Rx(i);if(r==-1)o==0?r=a:e.push(a);else if(s>0&&s>=o)o==0?(e.push(r,...t),t.length=0,r=a):t.push(a),s=o;else{let c=wg(r,a);c>=0?r=c:s==0&&o==0?(e.push(r),r=a):(t.push(a),s=o)}}return r>=0&&e.push(r,...t),e}function Ix(n){return vx(n).map(Rx)}function Eg(n){return Ag(vx(n))}var gx=45;var Cx=".",Ox=65039,Sx=1,Y0=n=>Array.from(n);function uc(n,e){return n.P.has(e)||n.Q.has(e)}var Yl=class extends Array{get is_emoji(){return!0}},Xl,Ux,ii,$l,Lx,kg,No,jl,ko,si,yx,eu;function tu(){if(Xl)return;let n=wx(tg),e=()=>cc(n),t=()=>new Set(e()),r=(u,d)=>d.forEach(b=>u.add(b));Xl=new Map(Ex(n)),Ux=t(),ii=e(),$l=new Set(e().map(u=>ii[u])),ii=new Set(ii),Lx=t(),kg=t();let s=Ax(n),i=n(),o=()=>{let u=new Set;return e().forEach(d=>r(u,s[d])),r(u,e()),u};No=fc(u=>{let d=fc(n).map(b=>b+96);if(d.length){let b=u>=i;d[0]-=32,d=Po(d),b&&(d=`Restricted[${d}]`);let w=o(),k=o(),A=!n();return{N:d,P:w,Q:k,M:A,R:b}}}),jl=t(),ko=new Map;let a=e().concat(Y0(jl)).sort((u,d)=>u-d);a.forEach((u,d)=>{let b=n(),w=a[d]=b?a[d-b]:{V:[],M:new Map};w.V.push(u),jl.has(u)||ko.set(u,w)});for(let{V:u,M:d}of new Set(ko.values())){let b=[];for(let k of u){let A=No.filter(B=>uc(B,k)),N=b.find(({G:B})=>A.some(O=>B.has(O)));N||(N={G:new Set,V:[]},b.push(N)),N.V.push(k),r(N.G,A)}let w=b.flatMap(k=>Y0(k.G));for(let{G:k,V:A}of b){let N=new Set(w.filter(B=>!k.has(B)));for(let B of A)d.set(B,N)}}si=new Set;let c=new Set,l=u=>si.has(u)?c.add(u):si.add(u);for(let u of No){for(let d of u.P)l(d);for(let d of u.Q)l(d)}for(let u of si)!ko.has(u)&&!c.has(u)&&ko.set(u,Sx);r(si,Ix(si)),yx=fg(n).map(u=>Yl.from(u)).sort(dg),eu=new Map;for(let u of yx){let d=[eu];for(let b of u){let w=d.map(k=>{let A=k.get(b);return A||(A=new Map,k.set(b,A)),A});b===Ox?d.push(...w):d=w}for(let b of d)b.V=u}}function ru(n){return(Dx(n)?"":`${nu(X0([n]))} `)+Nx(n)}function nu(n){return`"${n}"\u200E`}function Ng(n){if(n.length>=4&&n[2]==gx&&n[3]==gx)throw new Error(`invalid label extension: "${Po(n.slice(0,4))}"`)}function Pg(n){for(let t=n.lastIndexOf(95);t>0;)if(n[--t]!==95)throw new Error("underscore allowed only at start")}function Bg(n){let e=n[0],t=px.get(e);if(t)throw ac(`leading ${t}`);let r=n.length,s=-1;for(let i=1;i<r;i++){e=n[i];let o=px.get(e);if(o){if(s==i)throw ac(`${t} + ${o}`);s=i+1,t=o}}if(s==r)throw ac(`trailing ${t}`)}function X0(n,e=1/0,t=Nx){let r=[];Rg(n[0])&&r.push("\u25CC"),n.length>e&&(e>>=1,n=[...n.slice(0,e),8230,...n.slice(-e)]);let s=0,i=n.length;for(let o=0;o<i;o++){let a=n[o];Dx(a)&&(r.push(Po(n.slice(s,o))),r.push(t(a)),s=o+1)}return r.push(Po(n.slice(s,i))),r.join("")}function Rg(n){return tu(),ii.has(n)}function Dx(n){return tu(),Lx.has(n)}function Fx(n){return Cg(Tg(n,Eg,Ug))}function Tg(n,e,t){if(!n)return[];tu();let r=0;return n.split(Cx).map(s=>{let i=ug(s),o={input:i,offset:r};r+=i.length+1;try{let a=o.tokens=Sg(i,e,t),c=a.length,l;if(!c)throw new Error("empty label");let u=o.output=a.flat();if(Pg(u),!(o.emoji=c>1||a[0].is_emoji)&&u.every(b=>b<128))Ng(u),l="ASCII";else{let b=a.flatMap(w=>w.is_emoji?[]:w);if(!b.length)l="Emoji";else{if(ii.has(u[0]))throw ac("leading combining mark");for(let A=1;A<c;A++){let N=a[A];if(!N.is_emoji&&ii.has(N[0]))throw ac(`emoji + combining mark: "${Po(a[A-1])} + ${X0([N[0]])}"`)}Bg(u);let w=Y0(new Set(b)),[k]=Ig(w);Og(k,b),vg(k,w),l=k.N}}o.type=l}catch(a){o.error=a}return o})}function vg(n,e){let t,r=[];for(let s of e){let i=ko.get(s);if(i===Sx)return;if(i){let o=i.M.get(s);if(t=t?t.filter(a=>o.has(a)):Y0(o),!t.length)return}else r.push(s)}if(t){for(let s of t)if(r.every(i=>uc(s,i)))throw new Error(`whole-script confusable: ${n.N}/${s.N}`)}}function Ig(n){let e=No;for(let t of n){let r=e.filter(s=>uc(s,t));if(!r.length)throw No.some(s=>uc(s,t))?Gx(e[0],t):Mx(t);if(e=r,r.length==1)break}return e}function Cg(n){return n.map(({input:e,error:t,output:r})=>{if(t){let s=t.message;throw new Error(n.length==1?s:`Invalid label ${nu(X0(e,63))}: ${s}`)}return Po(r)}).join(Cx)}function Mx(n){return new Error(`disallowed character: ${ru(n)}`)}function Gx(n,e){let t=ru(e),r=No.find(s=>s.P.has(e));return r&&(t=`${r.N} ${t}`),new Error(`illegal mixture: ${n.N} + ${t}`)}function ac(n){return new Error(`illegal placement: ${n}`)}function Og(n,e){for(let t of e)if(!uc(n,t))throw Gx(n,t);if(n.M){let t=Ix(e);for(let r=1,s=t.length;r<s;r++)if($l.has(t[r])){let i=r+1;for(let o;i<s&&$l.has(o=t[i]);i++)for(let a=r;a<i;a++)if(t[a]==o)throw new Error(`duplicate non-spacing marks: ${ru(o)}`);if(i-r>mx)throw new Error(`excessive non-spacing marks: ${nu(X0(t.slice(r-1,i)))} (${i-r}/${mx})`);r=i}}}function Sg(n,e,t){let r=[],s=[];for(n=n.slice().reverse();n.length;){let i=Lg(n);if(i)s.length&&(r.push(e(s)),s=[]),r.push(t(i));else{let o=n.pop();if(si.has(o))s.push(o);else{let a=Xl.get(o);if(a)s.push(...a);else if(!Ux.has(o))throw Mx(o)}}}return s.length&&r.push(e(s)),r}function Ug(n){return n.filter(e=>e!=Ox)}function Lg(n,e){let t=eu,r,s=n.length;for(;s&&(t=t.get(n[--s]),!!t);){let{V:i}=t;i&&(r=i,e&&e.push(...n.slice(s).reverse()),n.length=s)}return r}var _x=new Uint8Array(32);_x.fill(0);function Hx(n){return x(n.length!==0,"invalid ENS name; empty component","comp",n),n}function su(n){let e=ae($0(n)),t=[];if(n.length===0)return t;let r=0;for(let s=0;s<e.length;s++)e[s]===46&&(t.push(Hx(e.slice(r,s))),r=s+1);return x(r<e.length,"invalid ENS name; empty component","name",n),t.push(Hx(e.slice(r))),t}function $0(n){try{if(n.length===0)throw new Error("empty label");return Fx(n)}catch(e){x(!1,`invalid ENS name (${e.message})`,"name",n)}}function iu(n){try{return su(n).length!==0}catch{}return!1}function ts(n){x(typeof n=="string","invalid ENS name; not a string","name",n),x(n.length,"invalid ENS name (empty label)","name",n);let e=_x,t=su(n);for(;t.length;)e=Z(K([e,Z(t.pop())]));return T(e)}function dc(n,e){let t=e??63;return x(t<=255,"DNS encoded label cannot exceed 255","length",t),T(K(su(n).map(r=>{x(r.length<=t,`label ${JSON.stringify(n)} exceeds ${t} bytes`,"name",n);let s=new Uint8Array(r.length+1);return s.set(r,1),s[0]=s.length-1,s})))+"00"}p();m();p();m();p();m();function ou(n,e){return{address:V(n),storageKeys:e.map((t,r)=>(x(q(t,32),"invalid slot",`storageKeys[${r}]`,t),t.toLowerCase()))}}function _e(n){if(Array.isArray(n))return n.map((t,r)=>Array.isArray(t)?(x(t.length===2,"invalid slot set",`value[${r}]`,t),ou(t[0],t[1])):(x(t!=null&&typeof t=="object","invalid address-slot set","value",n),ou(t.address,t.storageKeys)));x(n!=null&&typeof n=="object","invalid access list","value",n);let e=Object.keys(n).map(t=>{let r=n[t].reduce((s,i)=>(s[i]=!0,s),{});return ou(t,Object.keys(r).sort())});return e.sort((t,r)=>t.address.localeCompare(r.address)),e}p();m();function pr(n){let e;return typeof n=="string"?e=Ge.computePublicKey(n,!1):e=n.publicKey,V(Z("0x"+e.substring(4)).substring(26))}function un(n,e){return pr(Ge.recoverPublicKey(n,e))}p();m();var Le=BigInt(0),Dg=BigInt(2),Fg=BigInt(27),Mg=BigInt(28),Gg=BigInt(35),Hg=BigInt("0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff"),au=4096*32;function Vx(n,e){let t=n.toString(16);for(;t.length<2;)t="0"+t;return t+=Pe(e).substring(4),"0x"+t}function tf(n){return n==="0x"?null:V(n)}function cu(n,e){try{return _e(n)}catch(t){x(!1,t.message,e,n)}}function hc(n,e){return n==="0x"?0:H(n,e)}function Be(n,e){if(n==="0x")return Le;let t=U(n,e);return x(t<=Hg,"value exceeds uint size",e,t),t}function ge(n,e){let t=U(n,"value"),r=pe(t);return x(r.length<=32,"value too large",`tx.${e}`,t),r}function fu(n){return _e(n).map(e=>[e.address,e.storageKeys])}function _g(n,e){x(Array.isArray(n),`invalid ${e}`,"value",n);for(let t=0;t<n.length;t++)x(q(n[t],32),"invalid ${ param } hash",`value[${t}]`,n[t]);return n}function Vg(n){let e=Qn(n);x(Array.isArray(e)&&(e.length===9||e.length===6),"invalid field count for legacy transaction","data",n);let t={type:0,nonce:hc(e[0],"nonce"),gasPrice:Be(e[1],"gasPrice"),gasLimit:Be(e[2],"gasLimit"),to:tf(e[3]),value:Be(e[4],"value"),data:T(e[5]),chainId:Le};if(e.length===6)return t;let r=Be(e[6],"v"),s=Be(e[7],"r"),i=Be(e[8],"s");if(s===Le&&i===Le)t.chainId=r;else{let o=(r-Gg)/Dg;o<Le&&(o=Le),t.chainId=o,x(o!==Le||r===Fg||r===Mg,"non-canonical legacy v","v",e[6]),t.signature=Me.from({r:Ie(e[7],32),s:Ie(e[8],32),v:r})}return t}function Qg(n,e){let t=[ge(n.nonce,"nonce"),ge(n.gasPrice||0,"gasPrice"),ge(n.gasLimit,"gasLimit"),n.to||"0x",ge(n.value,"value"),n.data],r=Le;if(n.chainId!=Le)r=U(n.chainId,"tx.chainId"),x(!e||e.networkV==null||e.legacyChainId===r,"tx.chainId/sig.v mismatch","sig",e);else if(n.signature){let i=n.signature.legacyChainId;i!=null&&(r=i)}if(!e)return r!==Le&&(t.push(pe(r)),t.push("0x"),t.push("0x")),Ot(t);let s=BigInt(27+e.yParity);return r!==Le?s=Me.getChainIdV(r,e.v):BigInt(e.v)!==s&&x(!1,"tx.chainId/sig.v mismatch","sig",e),t.push(pe(s)),t.push(pe(e.r)),t.push(pe(e.s)),Ot(t)}function lu(n,e){let t;try{if(t=hc(e[0],"yParity"),t!==0&&t!==1)throw new Error("bad yParity")}catch{x(!1,"invalid yParity","yParity",e[0])}let r=Ie(e[1],32),s=Ie(e[2],32),i=Me.from({r,s,yParity:t});n.signature=i}function Kg(n){let e=Qn(v(n).slice(1));x(Array.isArray(e)&&(e.length===9||e.length===12),"invalid field count for transaction type: 2","data",T(n));let t={type:2,chainId:Be(e[0],"chainId"),nonce:hc(e[1],"nonce"),maxPriorityFeePerGas:Be(e[2],"maxPriorityFeePerGas"),maxFeePerGas:Be(e[3],"maxFeePerGas"),gasPrice:null,gasLimit:Be(e[4],"gasLimit"),to:tf(e[5]),value:Be(e[6],"value"),data:T(e[7]),accessList:cu(e[8],"accessList")};return e.length===9||lu(t,e.slice(9)),t}function zg(n,e){let t=[ge(n.chainId,"chainId"),ge(n.nonce,"nonce"),ge(n.maxPriorityFeePerGas||0,"maxPriorityFeePerGas"),ge(n.maxFeePerGas||0,"maxFeePerGas"),ge(n.gasLimit,"gasLimit"),n.to||"0x",ge(n.value,"value"),n.data,fu(n.accessList||[])];return e&&(t.push(ge(e.yParity,"yParity")),t.push(pe(e.r)),t.push(pe(e.s))),K(["0x02",Ot(t)])}function Jg(n){let e=Qn(v(n).slice(1));x(Array.isArray(e)&&(e.length===8||e.length===11),"invalid field count for transaction type: 1","data",T(n));let t={type:1,chainId:Be(e[0],"chainId"),nonce:hc(e[1],"nonce"),gasPrice:Be(e[2],"gasPrice"),gasLimit:Be(e[3],"gasLimit"),to:tf(e[4]),value:Be(e[5],"value"),data:T(e[6]),accessList:cu(e[7],"accessList")};return e.length===8||lu(t,e.slice(8)),t}function Wg(n,e){let t=[ge(n.chainId,"chainId"),ge(n.nonce,"nonce"),ge(n.gasPrice||0,"gasPrice"),ge(n.gasLimit,"gasLimit"),n.to||"0x",ge(n.value,"value"),n.data,fu(n.accessList||[])];return e&&(t.push(ge(e.yParity,"recoveryParam")),t.push(pe(e.r)),t.push(pe(e.s))),K(["0x01",Ot(t)])}function jg(n){let e=Qn(v(n).slice(1)),t="3",r=null;if(e.length===4&&Array.isArray(e[0])){t="3 (network format)";let i=e[1],o=e[2],a=e[3];x(Array.isArray(i),"invalid network format: blobs not an array","fields[1]",i),x(Array.isArray(o),"invalid network format: commitments not an array","fields[2]",o),x(Array.isArray(a),"invalid network format: proofs not an array","fields[3]",a),x(i.length===o.length,"invalid network format: blobs/commitments length mismatch","fields",e),x(i.length===a.length,"invalid network format: blobs/proofs length mismatch","fields",e),r=[];for(let c=0;c<e[1].length;c++)r.push({data:i[c],commitment:o[c],proof:a[c]});e=e[0]}x(Array.isArray(e)&&(e.length===11||e.length===14),`invalid field count for transaction type: ${t}`,"data",T(n));let s={type:3,chainId:Be(e[0],"chainId"),nonce:hc(e[1],"nonce"),maxPriorityFeePerGas:Be(e[2],"maxPriorityFeePerGas"),maxFeePerGas:Be(e[3],"maxFeePerGas"),gasPrice:null,gasLimit:Be(e[4],"gasLimit"),to:tf(e[5]),value:Be(e[6],"value"),data:T(e[7]),accessList:cu(e[8],"accessList"),maxFeePerBlobGas:Be(e[9],"maxFeePerBlobGas"),blobVersionedHashes:e[10]};r&&(s.blobs=r),x(s.to!=null,`invalid address for transaction type: ${t}`,"data",n),x(Array.isArray(s.blobVersionedHashes),"invalid blobVersionedHashes: must be an array","data",n);for(let i=0;i<s.blobVersionedHashes.length;i++)x(q(s.blobVersionedHashes[i],32),`invalid blobVersionedHash at index ${i}: must be length 32`,"data",n);return e.length===11||lu(s,e.slice(11)),s}function Zg(n,e,t){let r=[ge(n.chainId,"chainId"),ge(n.nonce,"nonce"),ge(n.maxPriorityFeePerGas||0,"maxPriorityFeePerGas"),ge(n.maxFeePerGas||0,"maxFeePerGas"),ge(n.gasLimit,"gasLimit"),n.to||ur,ge(n.value,"value"),n.data,fu(n.accessList||[]),ge(n.maxFeePerBlobGas||0,"maxFeePerBlobGas"),_g(n.blobVersionedHashes||[],"blobVersionedHashes")];return e&&(r.push(ge(e.yParity,"yParity")),r.push(pe(e.r)),r.push(pe(e.s)),t)?K(["0x03",Ot([r,t.map(s=>s.data),t.map(s=>s.commitment),t.map(s=>s.proof)])]):K(["0x03",Ot(r)])}var Pr,Ro,To,vo,Io,Co,Oo,So,Uo,Lo,Do,Fo,oi,rs,hn,ns,Mo,ef,dn=class{constructor(){y(this,Mo);y(this,Pr,void 0);y(this,Ro,void 0);y(this,To,void 0);y(this,vo,void 0);y(this,Io,void 0);y(this,Co,void 0);y(this,Oo,void 0);y(this,So,void 0);y(this,Uo,void 0);y(this,Lo,void 0);y(this,Do,void 0);y(this,Fo,void 0);y(this,oi,void 0);y(this,rs,void 0);y(this,hn,void 0);y(this,ns,void 0);h(this,Pr,null),h(this,Ro,null),h(this,vo,0),h(this,Io,Le),h(this,Co,null),h(this,Oo,null),h(this,So,null),h(this,To,"0x"),h(this,Uo,Le),h(this,Lo,Le),h(this,Do,null),h(this,Fo,null),h(this,oi,null),h(this,rs,null),h(this,ns,null),h(this,hn,null)}get type(){return f(this,Pr)}set type(e){switch(e){case null:h(this,Pr,null);break;case 0:case"legacy":h(this,Pr,0);break;case 1:case"berlin":case"eip-2930":h(this,Pr,1);break;case 2:case"london":case"eip-1559":h(this,Pr,2);break;case 3:case"cancun":case"eip-4844":h(this,Pr,3);break;default:x(!1,"unsupported transaction type","type",e)}}get typeName(){switch(this.type){case 0:return"legacy";case 1:return"eip-2930";case 2:return"eip-1559";case 3:return"eip-4844"}return null}get to(){let e=f(this,Ro);return e==null&&this.type===3?ur:e}set to(e){h(this,Ro,e==null?null:V(e))}get nonce(){return f(this,vo)}set nonce(e){h(this,vo,H(e,"value"))}get gasLimit(){return f(this,Io)}set gasLimit(e){h(this,Io,U(e))}get gasPrice(){let e=f(this,Co);return e==null&&(this.type===0||this.type===1)?Le:e}set gasPrice(e){h(this,Co,e==null?null:U(e,"gasPrice"))}get maxPriorityFeePerGas(){let e=f(this,Oo);return e??(this.type===2||this.type===3?Le:null)}set maxPriorityFeePerGas(e){h(this,Oo,e==null?null:U(e,"maxPriorityFeePerGas"))}get maxFeePerGas(){let e=f(this,So);return e??(this.type===2||this.type===3?Le:null)}set maxFeePerGas(e){h(this,So,e==null?null:U(e,"maxFeePerGas"))}get data(){return f(this,To)}set data(e){h(this,To,T(e))}get value(){return f(this,Uo)}set value(e){h(this,Uo,U(e,"value"))}get chainId(){return f(this,Lo)}set chainId(e){h(this,Lo,U(e))}get signature(){return f(this,Do)||null}set signature(e){h(this,Do,e==null?null:Me.from(e))}get accessList(){let e=f(this,Fo)||null;return e??(this.type===1||this.type===2||this.type===3?[]:null)}set accessList(e){h(this,Fo,e==null?null:_e(e))}get maxFeePerBlobGas(){let e=f(this,oi);return e==null&&this.type===3?Le:e}set maxFeePerBlobGas(e){h(this,oi,e==null?null:U(e,"maxFeePerBlobGas"))}get blobVersionedHashes(){let e=f(this,rs);return e==null&&this.type===3?[]:e}set blobVersionedHashes(e){if(e!=null){x(Array.isArray(e),"blobVersionedHashes must be an Array","value",e),e=e.slice();for(let t=0;t<e.length;t++)x(q(e[t],32),"invalid blobVersionedHash",`value[${t}]`,e[t])}h(this,rs,e)}get blobs(){return f(this,ns)==null?null:f(this,ns).map(e=>Object.assign({},e))}set blobs(e){if(e==null){h(this,ns,null);return}let t=[],r=[];for(let s=0;s<e.length;s++){let i=e[s];if(qt(i)){E(f(this,hn),"adding a raw blob requires a KZG library","UNSUPPORTED_OPERATION",{operation:"set blobs()"});let o=v(i);if(x(o.length<=au,"blob is too large",`blobs[${s}]`,i),o.length!==au){let l=new Uint8Array(au);l.set(o),o=l}let a=f(this,hn).blobToKzgCommitment(o),c=T(f(this,hn).computeBlobKzgProof(o,a));t.push({data:T(o),commitment:T(a),proof:c}),r.push(Vx(1,a))}else{let o=T(i.commitment);t.push({data:T(i.data),commitment:o,proof:T(i.proof)}),r.push(Vx(1,o))}}h(this,ns,t),h(this,rs,r)}get kzg(){return f(this,hn)}set kzg(e){h(this,hn,e)}get hash(){return this.signature==null?null:Z(R(this,Mo,ef).call(this,!0,!1))}get unsignedHash(){return Z(this.unsignedSerialized)}get from(){return this.signature==null?null:un(this.unsignedHash,this.signature)}get fromPublicKey(){return this.signature==null?null:Ge.recoverPublicKey(this.unsignedHash,this.signature)}isSigned(){return this.signature!=null}get serialized(){return R(this,Mo,ef).call(this,!0,!0)}get unsignedSerialized(){return R(this,Mo,ef).call(this,!1,!1)}inferType(){let e=this.inferTypes();return e.indexOf(2)>=0?2:e.pop()}inferTypes(){let e=this.gasPrice!=null,t=this.maxFeePerGas!=null||this.maxPriorityFeePerGas!=null,r=this.accessList!=null,s=f(this,oi)!=null||f(this,rs);this.maxFeePerGas!=null&&this.maxPriorityFeePerGas!=null&&E(this.maxFeePerGas>=this.maxPriorityFeePerGas,"priorityFee cannot be more than maxFee","BAD_DATA",{value:this}),E(!t||this.type!==0&&this.type!==1,"transaction type cannot have maxFeePerGas or maxPriorityFeePerGas","BAD_DATA",{value:this}),E(this.type!==0||!r,"legacy transaction cannot have accessList","BAD_DATA",{value:this});let i=[];return this.type!=null?i.push(this.type):t?i.push(2):e?(i.push(1),r||i.push(0)):r?(i.push(1),i.push(2)):(s&&this.to||(i.push(0),i.push(1),i.push(2)),i.push(3)),i.sort(),i}isLegacy(){return this.type===0}isBerlin(){return this.type===1}isLondon(){return this.type===2}isCancun(){return this.type===3}clone(){return dn.from(this)}toJSON(){let e=t=>t==null?null:t.toString();return{type:this.type,to:this.to,data:this.data,nonce:this.nonce,gasLimit:e(this.gasLimit),gasPrice:e(this.gasPrice),maxPriorityFeePerGas:e(this.maxPriorityFeePerGas),maxFeePerGas:e(this.maxFeePerGas),value:e(this.value),chainId:e(this.chainId),sig:this.signature?this.signature.toJSON():null,accessList:this.accessList}}static from(e){if(e==null)return new dn;if(typeof e=="string"){let r=v(e);if(r[0]>=127)return dn.from(Vg(r));switch(r[0]){case 1:return dn.from(Jg(r));case 2:return dn.from(Kg(r));case 3:return dn.from(jg(r))}E(!1,"unsupported transaction type","UNSUPPORTED_OPERATION",{operation:"from"})}let t=new dn;return e.type!=null&&(t.type=e.type),e.to!=null&&(t.to=e.to),e.nonce!=null&&(t.nonce=e.nonce),e.gasLimit!=null&&(t.gasLimit=e.gasLimit),e.gasPrice!=null&&(t.gasPrice=e.gasPrice),e.maxPriorityFeePerGas!=null&&(t.maxPriorityFeePerGas=e.maxPriorityFeePerGas),e.maxFeePerGas!=null&&(t.maxFeePerGas=e.maxFeePerGas),e.maxFeePerBlobGas!=null&&(t.maxFeePerBlobGas=e.maxFeePerBlobGas),e.data!=null&&(t.data=e.data),e.value!=null&&(t.value=e.value),e.chainId!=null&&(t.chainId=e.chainId),e.signature!=null&&(t.signature=Me.from(e.signature)),e.accessList!=null&&(t.accessList=e.accessList),e.blobVersionedHashes!=null&&(t.blobVersionedHashes=e.blobVersionedHashes),e.kzg!=null&&(t.kzg=e.kzg),e.blobs!=null&&(t.blobs=e.blobs),e.hash!=null&&(x(t.isSigned(),"unsigned transaction cannot define '.hash'","tx",e),x(t.hash===e.hash,"hash mismatch","tx",e)),e.from!=null&&(x(t.isSigned(),"unsigned transaction cannot define '.from'","tx",e),x(t.from.toLowerCase()===(e.from||"").toLowerCase(),"from mismatch","tx",e)),t}},kt=dn;Pr=new WeakMap,Ro=new WeakMap,To=new WeakMap,vo=new WeakMap,Io=new WeakMap,Co=new WeakMap,Oo=new WeakMap,So=new WeakMap,Uo=new WeakMap,Lo=new WeakMap,Do=new WeakMap,Fo=new WeakMap,oi=new WeakMap,rs=new WeakMap,hn=new WeakMap,ns=new WeakMap,Mo=new WeakSet,ef=function(e,t){E(!e||this.signature!=null,"cannot serialize unsigned transaction; maybe you meant .unsignedSerialized","UNSUPPORTED_OPERATION",{operation:".serialized"});let r=e?this.signature:null;switch(this.inferType()){case 0:return Qg(this,r);case 1:return Wg(this,r);case 2:return zg(this,r);case 3:return Zg(this,r,t?this.blobs:null)}E(!1,"unsupported transaction type","UNSUPPORTED_OPERATION",{operation:".serialized"})};function Go(n){return typeof n=="string"&&(n=ae(n)),Z(K([ae(sc),ae(String(n.length)),n]))}function uu(n,e){let t=Go(n);return un(t,e)}p();m();var qg=new RegExp("^bytes([0-9]+)$"),Yg=new RegExp("^(u?int)([0-9]*)$"),Xg=new RegExp("^(.*)\\[([0-9]*)\\]$");function Qx(n,e,t){switch(n){case"address":return t?v(Ie(e,32)):v(V(e));case"string":return ae(e);case"bytes":return v(e);case"bool":return e=e?"0x01":"0x00",t?v(Ie(e,32)):v(e)}let r=n.match(Yg);if(r){let s=r[1]==="int",i=parseInt(r[2]||"256");return x((!r[2]||r[2]===String(i))&&i%8===0&&i!==0&&i<=256,"invalid number type","type",n),t&&(i=256),s&&(e=Yr(e,i)),v(Ie(pe(e),i/8))}if(r=n.match(qg),r){let s=parseInt(r[1]);return x(String(s)===r[1]&&s!==0&&s<=32,"invalid bytes type","type",n),x(ft(e)===s,`invalid value for ${n}`,"value",e),t?v(Zr(e,32)):e}if(r=n.match(Xg),r&&Array.isArray(e)){let s=r[1],i=parseInt(r[2]||String(e.length));x(i===e.length,`invalid array length for ${n}`,"value",e);let o=[];return e.forEach(function(a){o.push(Qx(s,a,!0))}),v(K(o))}x(!1,"invalid type","type",n)}function xc(n,e){x(n.length===e.length,"wrong number of values; expected ${ types.length }","values",e);let t=[];return n.forEach(function(r,s){t.push(Qx(r,e[s]))}),T(K(t))}function du(n,e){return Z(xc(n,e))}function hu(n,e){return Pe(xc(n,e))}p();m();var Wx=new Uint8Array(32);Wx.fill(0);var $g=BigInt(-1),jx=BigInt(0),Zx=BigInt(1),e1=BigInt("0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff");function t1(n){let e=v(n),t=e.length%32;return t?K([e,Wx.slice(t)]):T(e)}var r1=Se(Zx,32),n1=Se(jx,32),Kx={name:"string",version:"string",chainId:"uint256",verifyingContract:"address",salt:"bytes32"},xu=["name","version","chainId","verifyingContract","salt"];function zx(n){return function(e){return x(typeof e=="string",`invalid domain value for ${JSON.stringify(n)}`,`domain.${n}`,e),e}}var s1={name:zx("name"),version:zx("version"),chainId:function(n){let e=U(n,"domain.chainId");return x(e>=0,"invalid chain ID","domain.chainId",n),Number.isSafeInteger(e)?Number(e):lt(e)},verifyingContract:function(n){try{return V(n).toLowerCase()}catch{}x(!1,'invalid domain value "verifyingContract"',"domain.verifyingContract",n)},salt:function(n){let e=v(n,"domain.salt");return x(e.length===32,'invalid domain value "salt"',"domain.salt",n),T(e)}};function pu(n){{let e=n.match(/^(u?)int(\d+)$/);if(e){let t=e[1]==="",r=parseInt(e[2]);x(r%8===0&&r!==0&&r<=256&&e[2]===String(r),"invalid numeric width","type",n);let s=bt(e1,t?r-1:r),i=t?(s+Zx)*$g:jx;return function(o){let a=U(o,"value");return x(a>=i&&a<=s,`value out-of-bounds for ${n}`,"value",a),Se(t?Yr(a,256):a,32)}}}{let e=n.match(/^bytes(\d+)$/);if(e){let t=parseInt(e[1]);return x(t!==0&&t<=32&&e[1]===String(t),"invalid bytes width","type",n),function(r){let s=v(r);return x(s.length===t,`invalid length for ${n}`,"value",r),t1(r)}}}switch(n){case"address":return function(e){return Ie(V(e),32)};case"bool":return function(e){return e?r1:n1};case"bytes":return function(e){return Z(e)};case"string":return function(e){return He(e)}}return null}function Jx(n,e){return`${n}(${e.map(({name:t,type:r})=>r+" "+t).join(",")})`}function rf(n){let e=n.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:n}}var pc,xn,Ho,nf,qx,Ut=class{constructor(e){y(this,nf);g(this,"primaryType");y(this,pc,void 0);y(this,xn,void 0);y(this,Ho,void 0);h(this,xn,new Map),h(this,Ho,new Map);let t=new Map,r=new Map,s=new Map,i={};Object.keys(e).forEach(c=>{i[c]=e[c].map(({name:l,type:u})=>{let{base:d,index:b}=rf(u);return d==="int"&&!e.int&&(d="int256"),d==="uint"&&!e.uint&&(d="uint256"),{name:l,type:d+(b||"")}}),t.set(c,new Set),r.set(c,[]),s.set(c,new Set)}),h(this,pc,JSON.stringify(i));for(let c in i){let l=new Set;for(let u of i[c]){x(!l.has(u.name),`duplicate variable name ${JSON.stringify(u.name)} in ${JSON.stringify(c)}`,"types",e),l.add(u.name);let d=rf(u.type).base;x(d!==c,`circular type reference to ${JSON.stringify(d)}`,"types",e),!pu(d)&&(x(r.has(d),`unknown type ${JSON.stringify(d)}`,"types",e),r.get(d).push(c),t.get(c).add(d))}}let o=Array.from(r.keys()).filter(c=>r.get(c).length===0);x(o.length!==0,"missing primary type","types",e),x(o.length===1,`ambiguous primary types or unused types: ${o.map(c=>JSON.stringify(c)).join(", ")}`,"types",e),I(this,{primaryType:o[0]});function a(c,l){x(!l.has(c),`circular type reference to ${JSON.stringify(c)}`,"types",e),l.add(c);for(let u of t.get(c))if(!!r.has(u)){a(u,l);for(let d of l)s.get(d).add(u)}l.delete(c)}a(this.primaryType,new Set);for(let[c,l]of s){let u=Array.from(l);u.sort(),f(this,xn).set(c,Jx(c,i[c])+u.map(d=>Jx(d,i[d])).join(""))}}get types(){return JSON.parse(f(this,pc))}getEncoder(e){let t=f(this,Ho).get(e);return t||(t=R(this,nf,qx).call(this,e),f(this,Ho).set(e,t)),t}encodeType(e){let t=f(this,xn).get(e);return x(t,`unknown type: ${JSON.stringify(e)}`,"name",e),t}encodeData(e,t){return this.getEncoder(e)(t)}hashStruct(e,t){return Z(this.encodeData(e,t))}encode(e){return this.encodeData(this.primaryType,e)}hash(e){return this.hashStruct(this.primaryType,e)}_visit(e,t,r){if(pu(e))return r(e,t);let s=rf(e).array;if(s)return x(s.count===-1||s.count===t.length,`array length mismatch; expected length ${s.count}`,"value",t),t.map(o=>this._visit(s.prefix,o,r));let i=this.types[e];if(i)return i.reduce((o,{name:a,type:c})=>(o[a]=this._visit(c,t[a],r),o),{});x(!1,`unknown type: ${e}`,"type",e)}visit(e,t){return this._visit(this.primaryType,e,t)}static from(e){return new Ut(e)}static getPrimaryType(e){return Ut.from(e).primaryType}static hashStruct(e,t,r){return Ut.from(t).hashStruct(e,r)}static hashDomain(e){let t=[];for(let r in e){if(e[r]==null)continue;let s=Kx[r];x(s,`invalid typed-data domain key: ${JSON.stringify(r)}`,"domain",e),t.push({name:r,type:s})}return t.sort((r,s)=>xu.indexOf(r.name)-xu.indexOf(s.name)),Ut.hashStruct("EIP712Domain",{EIP712Domain:t},e)}static encode(e,t,r){return K(["0x1901",Ut.hashDomain(e),Ut.from(t).hash(r)])}static hash(e,t,r){return Z(Ut.encode(e,t,r))}static async resolveNames(e,t,r,s){e=Object.assign({},e);for(let a in e)e[a]==null&&delete e[a];let i={};e.verifyingContract&&!q(e.verifyingContract,20)&&(i[e.verifyingContract]="0x");let o=Ut.from(t);o.visit(r,(a,c)=>(a==="address"&&!q(c,20)&&(i[c]="0x"),c));for(let a in i)i[a]=await s(a);return e.verifyingContract&&i[e.verifyingContract]&&(e.verifyingContract=i[e.verifyingContract]),r=o.visit(r,(a,c)=>a==="address"&&i[c]?i[c]:c),{domain:e,value:r}}static getPayload(e,t,r){Ut.hashDomain(e);let s={},i=[];xu.forEach(c=>{let l=e[c];l!=null&&(s[c]=s1[c](l),i.push({name:c,type:Kx[c]}))});let o=Ut.from(t);t=o.types;let a=Object.assign({},t);return x(a.EIP712Domain==null,"types must not contain EIP712Domain type","types.EIP712Domain",t),a.EIP712Domain=i,o.encode(r),{types:a,domain:s,primaryType:o.primaryType,message:o.visit(r,(c,l)=>{if(c.match(/^bytes(\d*)/))return T(v(l));if(c.match(/^u?int/))return U(l).toString();switch(c){case"address":return l.toLowerCase();case"bool":return!!l;case"string":return x(typeof l=="string","invalid string","value",l),l}x(!1,"unsupported type","type",c)})}}},Lt=Ut;pc=new WeakMap,xn=new WeakMap,Ho=new WeakMap,nf=new WeakSet,qx=function(e){{let s=pu(e);if(s)return s}let t=rf(e).array;if(t){let s=t.prefix,i=this.getEncoder(s);return o=>{x(t.count===-1||t.count===o.length,`array length mismatch; expected length ${t.count}`,"value",o);let a=o.map(i);return f(this,xn).has(s)&&(a=a.map(Z)),Z(K(a))}}let r=this.types[e];if(r){let s=He(f(this,xn).get(e));return i=>{let o=r.map(({name:a,type:c})=>{let l=this.getEncoder(c)(i[a]);return f(this,xn).has(c)?Z(l):l});return o.unshift(s),K(o)}}x(!1,`unknown type: ${e}`,"type",e)};function mu(n,e,t,r){return un(Lt.hash(n,e,t),r)}function it(n){let e=new Set;return n.forEach(t=>e.add(t)),Object.freeze(e)}var i1="external public payable override",o1=it(i1.split(" ")),op="constant external internal payable private public pure view override",a1=it(op.split(" ")),ap="constructor error event fallback function receive struct",cp=it(ap.split(" ")),fp="calldata memory storage payable indexed",c1=it(fp.split(" ")),f1="tuple returns",l1=[ap,fp,f1,op].join(" "),u1=it(l1.split(" ")),d1={"(":"OPEN_PAREN",")":"CLOSE_PAREN","[":"OPEN_BRACKET","]":"CLOSE_BRACKET",",":"COMMA","@":"AT"},h1=new RegExp("^(\\s*)"),x1=new RegExp("^([0-9]+)"),p1=new RegExp("^([a-zA-Z$_][a-zA-Z0-9$_]*)"),lp=new RegExp("^([a-zA-Z$_][a-zA-Z0-9$_]*)$"),up=new RegExp("^(address|bool|bytes([0-9]*)|string|u?int([0-9]*))$"),Ve,mr,bc,bu,of=class{constructor(e){y(this,bc);y(this,Ve,void 0);y(this,mr,void 0);h(this,Ve,0),h(this,mr,e.slice())}get offset(){return f(this,Ve)}get length(){return f(this,mr).length-f(this,Ve)}clone(){return new of(f(this,mr))}reset(){h(this,Ve,0)}popKeyword(e){let t=this.peek();if(t.type!=="KEYWORD"||!e.has(t.text))throw new Error(`expected keyword ${t.text}`);return this.pop().text}popType(e){if(this.peek().type!==e){let t=this.peek();throw new Error(`expected ${e}; got ${t.type} ${JSON.stringify(t.text)}`)}return this.pop().text}popParen(){let e=this.peek();if(e.type!=="OPEN_PAREN")throw new Error("bad start");let t=R(this,bc,bu).call(this,f(this,Ve)+1,e.match+1);return h(this,Ve,e.match+1),t}popParams(){let e=this.peek();if(e.type!=="OPEN_PAREN")throw new Error("bad start");let t=[];for(;f(this,Ve)<e.match-1;){let r=this.peek().linkNext;t.push(R(this,bc,bu).call(this,f(this,Ve)+1,r)),h(this,Ve,r)}return h(this,Ve,e.match+1),t}peek(){if(f(this,Ve)>=f(this,mr).length)throw new Error("out-of-bounds");return f(this,mr)[f(this,Ve)]}peekKeyword(e){let t=this.peekType("KEYWORD");return t!=null&&e.has(t)?t:null}peekType(e){if(this.length===0)return null;let t=this.peek();return t.type===e?t.text:null}pop(){let e=this.peek();return jr(this,Ve)._++,e}toString(){let e=[];for(let t=f(this,Ve);t<f(this,mr).length;t++){let r=f(this,mr)[t];e.push(`${r.type}:${r.text}`)}return`<TokenString ${e.join(" ")}>`}},br=of;Ve=new WeakMap,mr=new WeakMap,bc=new WeakSet,bu=function(e=0,t=0){return new of(f(this,mr).slice(e,t).map(r=>Object.freeze(Object.assign({},r,{match:r.match-e,linkBack:r.linkBack-e,linkNext:r.linkNext-e}))))};function ss(n){let e=[],t=o=>{let a=i<n.length?JSON.stringify(n[i]):"$EOI";throw new Error(`invalid token ${a} at ${i}: ${o}`)},r=[],s=[],i=0;for(;i<n.length;){let o=n.substring(i),a=o.match(h1);a&&(i+=a[1].length,o=n.substring(i));let c={depth:r.length,linkBack:-1,linkNext:-1,match:-1,type:"",text:"",offset:i,value:-1};e.push(c);let l=d1[o[0]]||"";if(l){if(c.type=l,c.text=o[0],i++,l==="OPEN_PAREN")r.push(e.length-1),s.push(e.length-1);else if(l=="CLOSE_PAREN")r.length===0&&t("no matching open bracket"),c.match=r.pop(),e[c.match].match=e.length-1,c.depth--,c.linkBack=s.pop(),e[c.linkBack].linkNext=e.length-1;else if(l==="COMMA")c.linkBack=s.pop(),e[c.linkBack].linkNext=e.length-1,s.push(e.length-1);else if(l==="OPEN_BRACKET")c.type="BRACKET";else if(l==="CLOSE_BRACKET"){let u=e.pop().text;if(e.length>0&&e[e.length-1].type==="NUMBER"){let d=e.pop().text;u=d+u,e[e.length-1].value=H(d)}if(e.length===0||e[e.length-1].type!=="BRACKET")throw new Error("missing opening bracket");e[e.length-1].text+=u}continue}if(a=o.match(p1),a){if(c.text=a[1],i+=c.text.length,u1.has(c.text)){c.type="KEYWORD";continue}if(c.text.match(up)){c.type="TYPE";continue}c.type="ID";continue}if(a=o.match(x1),a){c.text=a[1],c.type="NUMBER",i+=c.text.length;continue}throw new Error(`unexpected token ${JSON.stringify(o[0])} at position ${i}`)}return new br(e.map(o=>Object.freeze(o)))}function Yx(n,e){let t=[];for(let r in e.keys())n.has(r)&&t.push(r);if(t.length>1)throw new Error(`conflicting types: ${t.join(", ")}`)}function af(n,e){if(e.peekKeyword(cp)){let t=e.pop().text;if(t!==n)throw new Error(`expected ${n}, got ${t}`)}return e.popType("ID")}function mn(n,e){let t=new Set;for(;;){let r=n.peekType("KEYWORD");if(r==null||e&&!e.has(r))break;if(n.pop(),t.has(r))throw new Error(`duplicate keywords: ${JSON.stringify(r)}`);t.add(r)}return Object.freeze(t)}function dp(n){let e=mn(n,a1);return Yx(e,it("constant payable nonpayable".split(" "))),Yx(e,it("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 pn(n,e){return n.popParams().map(t=>ke.from(t,e))}function hp(n){if(n.peekType("AT")){if(n.pop(),n.peekType("NUMBER"))return U(n.pop().text);throw new Error("invalid gas")}return null}function ai(n){if(n.length)throw new Error(`unexpected tokens at offset ${n.offset}: ${n.toString()}`)}var m1=new RegExp(/^(.*)\[([0-9]*)\]$/);function Xx(n){let e=n.match(up);if(x(e,"invalid type","type",n),n==="uint")return"uint256";if(n==="int")return"int256";if(e[2]){let t=parseInt(e[2]);x(t!==0&&t<=32,"invalid bytes length","type",n)}else if(e[3]){let t=parseInt(e[3]);x(t!==0&&t<=256&&t%8===0,"invalid numeric width","type",n)}return n}var ye={},ht=Symbol.for("_ethers_internal"),$x="_ParamTypeInternal",ep="_ErrorInternal",tp="_EventInternal",rp="_ConstructorInternal",np="_FallbackInternal",sp="_FunctionInternal",ip="_StructInternal",_o,sf,Dt=class{constructor(e,t,r,s,i,o,a,c){y(this,_o);g(this,"name");g(this,"type");g(this,"baseType");g(this,"indexed");g(this,"components");g(this,"arrayLength");g(this,"arrayChildren");if(De(e,ye,"ParamType"),Object.defineProperty(this,ht,{value:$x}),o&&(o=Object.freeze(o.slice())),s==="array"){if(a==null||c==null)throw new Error("")}else if(a!=null||c!=null)throw new Error("");if(s==="tuple"){if(o==null)throw new Error("")}else if(o!=null)throw new Error("");I(this,{name:t,type:r,baseType:s,indexed:i,components:o,arrayLength:a,arrayChildren:c})}format(e){if(e==null&&(e="sighash"),e==="json"){let r=this.name||"";if(this.isArray()){let i=JSON.parse(this.arrayChildren.format("json"));return i.name=r,i.type+=`[${this.arrayLength<0?"":String(this.arrayLength)}]`,JSON.stringify(i)}let s={type:this.baseType==="tuple"?"tuple":this.type,name:r};return typeof this.indexed=="boolean"&&(s.indexed=this.indexed),this.isTuple()&&(s.components=this.components.map(i=>JSON.parse(i.format(e)))),JSON.stringify(s)}let t="";return this.isArray()?(t+=this.arrayChildren.format(e),t+=`[${this.arrayLength<0?"":String(this.arrayLength)}]`):this.isTuple()?t+="("+this.components.map(r=>r.format(e)).join(e==="full"?", ":",")+")":t+=this.type,e!=="sighash"&&(this.indexed===!0&&(t+=" indexed"),e==="full"&&this.name&&(t+=" "+this.name)),t}isArray(){return this.baseType==="array"}isTuple(){return this.baseType==="tuple"}isIndexable(){return this.indexed!=null}walk(e,t){if(this.isArray()){if(!Array.isArray(e))throw new Error("invalid array value");if(this.arrayLength!==-1&&e.length!==this.arrayLength)throw new Error("array is wrong length");let r=this;return e.map(s=>r.arrayChildren.walk(s,t))}if(this.isTuple()){if(!Array.isArray(e))throw new Error("invalid tuple value");if(e.length!==this.components.length)throw new Error("array is wrong length");let r=this;return e.map((s,i)=>r.components[i].walk(s,t))}return t(this.type,e)}async walkAsync(e,t){let r=[],s=[e];return R(this,_o,sf).call(this,r,e,t,i=>{s[0]=i}),r.length&&await Promise.all(r),s[0]}static from(e,t){if(Dt.isParamType(e))return e;if(typeof e=="string")try{return Dt.from(ss(e),t)}catch{x(!1,"invalid param type","obj",e)}else if(e instanceof br){let a="",c="",l=null;mn(e,it(["tuple"])).has("tuple")||e.peekType("OPEN_PAREN")?(c="tuple",l=e.popParams().map(A=>Dt.from(A)),a=`tuple(${l.map(A=>A.format()).join(",")})`):(a=Xx(e.popType("TYPE")),c=a);let u=null,d=null;for(;e.length&&e.peekType("BRACKET");){let A=e.pop();u=new Dt(ye,"",a,c,null,l,d,u),d=A.value,a+=A.text,c="array",l=null}let b=null;if(mn(e,c1).has("indexed")){if(!t)throw new Error("");b=!0}let k=e.peekType("ID")?e.pop().text:"";if(e.length)throw new Error("leftover tokens");return new Dt(ye,k,a,c,b,l,d,u)}let r=e.name;x(!r||typeof r=="string"&&r.match(lp),"invalid name","obj.name",r);let s=e.indexed;s!=null&&(x(t,"parameter cannot be indexed","obj.indexed",e.indexed),s=!!s);let i=e.type,o=i.match(m1);if(o){let a=parseInt(o[2]||"-1"),c=Dt.from({type:o[1],components:e.components});return new Dt(ye,r||"",i,"array",s,null,a,c)}if(i==="tuple"||i.startsWith("tuple(")||i.startsWith("(")){let a=e.components!=null?e.components.map(l=>Dt.from(l)):null;return new Dt(ye,r||"",i,"tuple",s,a,null,null)}return i=Xx(e.type),new Dt(ye,r||"",i,i,s,null,null,null)}static isParamType(e){return e&&e[ht]===$x}},ke=Dt;_o=new WeakSet,sf=function(e,t,r,s){if(this.isArray()){if(!Array.isArray(t))throw new Error("invalid array value");if(this.arrayLength!==-1&&t.length!==this.arrayLength)throw new Error("array is wrong length");let o=this.arrayChildren,a=t.slice();a.forEach((c,l)=>{var u;R(u=o,_o,sf).call(u,e,c,r,d=>{a[l]=d})}),s(a);return}if(this.isTuple()){let o=this.components,a;if(Array.isArray(t))a=t.slice();else{if(t==null||typeof t!="object")throw new Error("invalid tuple value");a=o.map(c=>{if(!c.name)throw new Error("cannot use object value with unnamed components");if(!(c.name in t))throw new Error(`missing value for component ${c.name}`);return t[c.name]})}if(a.length!==this.components.length)throw new Error("array is wrong length");a.forEach((c,l)=>{var u;R(u=o[l],_o,sf).call(u,e,c,r,d=>{a[l]=d})}),s(a);return}let i=r(this.type,t);i.then?e.push(async function(){s(await i)}()):s(i)};var Nt=class{constructor(e,t,r){g(this,"type");g(this,"inputs");De(e,ye,"Fragment"),r=Object.freeze(r.slice()),I(this,{type:t,inputs:r})}static from(e){if(typeof e=="string"){try{Nt.from(JSON.parse(e))}catch{}return Nt.from(ss(e))}if(e instanceof br)switch(e.peekKeyword(cp)){case"constructor":return ot.from(e);case"error":return ve.from(e);case"event":return qe.from(e);case"fallback":case"receive":return dt.from(e);case"function":return Ye.from(e);case"struct":return Ft.from(e)}else if(typeof e=="object"){switch(e.type){case"constructor":return ot.from(e);case"error":return ve.from(e);case"event":return qe.from(e);case"fallback":case"receive":return dt.from(e);case"function":return Ye.from(e);case"struct":return Ft.from(e)}E(!1,`unsupported type: ${e.type}`,"UNSUPPORTED_OPERATION",{operation:"Fragment.from"})}x(!1,"unsupported frgament object","obj",e)}static isConstructor(e){return ot.isFragment(e)}static isError(e){return ve.isFragment(e)}static isEvent(e){return qe.isFragment(e)}static isFunction(e){return Ye.isFragment(e)}static isStruct(e){return Ft.isFragment(e)}},bn=class extends Nt{constructor(t,r,s,i){super(t,r,i);g(this,"name");x(typeof s=="string"&&s.match(lp),"invalid identifier","name",s),i=Object.freeze(i.slice()),I(this,{name:s})}};function mc(n,e){return"("+e.map(t=>t.format(n)).join(n==="full"?", ":",")+")"}var ve=class extends bn{constructor(e,t,r){super(e,"error",t,r),Object.defineProperty(this,ht,{value:ep})}get selector(){return He(this.format("sighash")).substring(0,10)}format(e){if(e==null&&(e="sighash"),e==="json")return JSON.stringify({type:"error",name:this.name,inputs:this.inputs.map(r=>JSON.parse(r.format(e)))});let t=[];return e!=="sighash"&&t.push("error"),t.push(this.name+mc(e,this.inputs)),t.join(" ")}static from(e){if(ve.isFragment(e))return e;if(typeof e=="string")return ve.from(ss(e));if(e instanceof br){let t=af("error",e),r=pn(e);return ai(e),new ve(ye,t,r)}return new ve(ye,e.name,e.inputs?e.inputs.map(ke.from):[])}static isFragment(e){return e&&e[ht]===ep}},qe=class extends bn{constructor(t,r,s,i){super(t,"event",r,s);g(this,"anonymous");Object.defineProperty(this,ht,{value:tp}),I(this,{anonymous:i})}get topicHash(){return He(this.format("sighash"))}format(t){if(t==null&&(t="sighash"),t==="json")return JSON.stringify({type:"event",anonymous:this.anonymous,name:this.name,inputs:this.inputs.map(s=>JSON.parse(s.format(t)))});let r=[];return t!=="sighash"&&r.push("event"),r.push(this.name+mc(t,this.inputs)),t!=="sighash"&&this.anonymous&&r.push("anonymous"),r.join(" ")}static getTopicHash(t,r){return r=(r||[]).map(i=>ke.from(i)),new qe(ye,t,r,!1).topicHash}static from(t){if(qe.isFragment(t))return t;if(typeof t=="string")try{return qe.from(ss(t))}catch{x(!1,"invalid event fragment","obj",t)}else if(t instanceof br){let r=af("event",t),s=pn(t,!0),i=!!mn(t,it(["anonymous"])).has("anonymous");return ai(t),new qe(ye,r,s,i)}return new qe(ye,t.name,t.inputs?t.inputs.map(r=>ke.from(r,!0)):[],!!t.anonymous)}static isFragment(t){return t&&t[ht]===tp}},ot=class extends Nt{constructor(t,r,s,i,o){super(t,r,s);g(this,"payable");g(this,"gas");Object.defineProperty(this,ht,{value:rp}),I(this,{payable:i,gas:o})}format(t){if(E(t!=null&&t!=="sighash","cannot format a constructor for sighash","UNSUPPORTED_OPERATION",{operation:"format(sighash)"}),t==="json")return JSON.stringify({type:"constructor",stateMutability:this.payable?"payable":"undefined",payable:this.payable,gas:this.gas!=null?this.gas:void 0,inputs:this.inputs.map(s=>JSON.parse(s.format(t)))});let r=[`constructor${mc(t,this.inputs)}`];return this.payable&&r.push("payable"),this.gas!=null&&r.push(`@${this.gas.toString()}`),r.join(" ")}static from(t){if(ot.isFragment(t))return t;if(typeof t=="string")try{return ot.from(ss(t))}catch{x(!1,"invalid constuctor fragment","obj",t)}else if(t instanceof br){mn(t,it(["constructor"]));let r=pn(t),s=!!mn(t,o1).has("payable"),i=hp(t);return ai(t),new ot(ye,"constructor",r,s,i)}return new ot(ye,"constructor",t.inputs?t.inputs.map(ke.from):[],!!t.payable,t.gas!=null?t.gas:null)}static isFragment(t){return t&&t[ht]===rp}},dt=class extends Nt{constructor(t,r,s){super(t,"fallback",r);g(this,"payable");Object.defineProperty(this,ht,{value:np}),I(this,{payable:s})}format(t){let r=this.inputs.length===0?"receive":"fallback";if(t==="json"){let s=this.payable?"payable":"nonpayable";return JSON.stringify({type:r,stateMutability:s})}return`${r}()${this.payable?" payable":""}`}static from(t){if(dt.isFragment(t))return t;if(typeof t=="string")try{return dt.from(ss(t))}catch{x(!1,"invalid fallback fragment","obj",t)}else if(t instanceof br){let r=t.toString(),s=t.peekKeyword(it(["fallback","receive"]));if(x(s,"type must be fallback or receive","obj",r),t.popKeyword(it(["fallback","receive"]))==="receive"){let c=pn(t);return x(c.length===0,"receive cannot have arguments","obj.inputs",c),mn(t,it(["payable"])),ai(t),new dt(ye,[],!0)}let o=pn(t);o.length?x(o.length===1&&o[0].type==="bytes","invalid fallback inputs","obj.inputs",o.map(c=>c.format("minimal")).join(", ")):o=[ke.from("bytes")];let a=dp(t);if(x(a==="nonpayable"||a==="payable","fallback cannot be constants","obj.stateMutability",a),mn(t,it(["returns"])).has("returns")){let c=pn(t);x(c.length===1&&c[0].type==="bytes","invalid fallback outputs","obj.outputs",c.map(l=>l.format("minimal")).join(", "))}return ai(t),new dt(ye,o,a==="payable")}if(t.type==="receive")return new dt(ye,[],!0);if(t.type==="fallback"){let r=[ke.from("bytes")],s=t.stateMutability==="payable";return new dt(ye,r,s)}x(!1,"invalid fallback description","obj",t)}static isFragment(t){return t&&t[ht]===np}},Ye=class extends bn{constructor(t,r,s,i,o,a){super(t,"function",r,i);g(this,"constant");g(this,"outputs");g(this,"stateMutability");g(this,"payable");g(this,"gas");Object.defineProperty(this,ht,{value:sp}),o=Object.freeze(o.slice()),I(this,{constant:s==="view"||s==="pure",gas:a,outputs:o,payable:s==="payable",stateMutability:s})}get selector(){return He(this.format("sighash")).substring(0,10)}format(t){if(t==null&&(t="sighash"),t==="json")return JSON.stringify({type:"function",name:this.name,constant:this.constant,stateMutability:this.stateMutability!=="nonpayable"?this.stateMutability:void 0,payable:this.payable,gas:this.gas!=null?this.gas:void 0,inputs:this.inputs.map(s=>JSON.parse(s.format(t))),outputs:this.outputs.map(s=>JSON.parse(s.format(t)))});let r=[];return t!=="sighash"&&r.push("function"),r.push(this.name+mc(t,this.inputs)),t!=="sighash"&&(this.stateMutability!=="nonpayable"&&r.push(this.stateMutability),this.outputs&&this.outputs.length&&(r.push("returns"),r.push(mc(t,this.outputs))),this.gas!=null&&r.push(`@${this.gas.toString()}`)),r.join(" ")}static getSelector(t,r){return r=(r||[]).map(i=>ke.from(i)),new Ye(ye,t,"view",r,[],null).selector}static from(t){if(Ye.isFragment(t))return t;if(typeof t=="string")try{return Ye.from(ss(t))}catch{x(!1,"invalid function fragment","obj",t)}else if(t instanceof br){let s=af("function",t),i=pn(t),o=dp(t),a=[];mn(t,it(["returns"])).has("returns")&&(a=pn(t));let c=hp(t);return ai(t),new Ye(ye,s,o,i,a,c)}let r=t.stateMutability;return r==null&&(r="payable",typeof t.constant=="boolean"?(r="view",t.constant||(r="payable",typeof t.payable=="boolean"&&!t.payable&&(r="nonpayable"))):typeof t.payable=="boolean"&&!t.payable&&(r="nonpayable")),new Ye(ye,t.name,r,t.inputs?t.inputs.map(ke.from):[],t.outputs?t.outputs.map(ke.from):[],t.gas!=null?t.gas:null)}static isFragment(t){return t&&t[ht]===sp}},Ft=class extends bn{constructor(e,t,r){super(e,"struct",t,r),Object.defineProperty(this,ht,{value:ip})}format(){throw new Error("@TODO")}static from(e){if(typeof e=="string")try{return Ft.from(ss(e))}catch{x(!1,"invalid struct fragment","obj",e)}else if(e instanceof br){let t=af("struct",e),r=pn(e);return ai(e),new Ft(ye,t,r)}return new Ft(ye,e.name,e.inputs?e.inputs.map(ke.from):[])}static isFragment(e){return e&&e[ht]===ip}};var gr=new Map;gr.set(0,"GENERIC_PANIC");gr.set(1,"ASSERT_FALSE");gr.set(17,"OVERFLOW");gr.set(18,"DIVIDE_BY_ZERO");gr.set(33,"ENUM_RANGE_ERROR");gr.set(34,"BAD_STORAGE_DATA");gr.set(49,"STACK_UNDERFLOW");gr.set(50,"ARRAY_RANGE_ERROR");gr.set(65,"OUT_OF_MEMORY");gr.set(81,"UNINITIALIZED_FUNCTION_CALL");var b1=new RegExp(/^bytes([0-9]*)$/),g1=new RegExp(/^(u?int)([0-9]*)$/),gu=null,xp=1024;function y1(n,e,t,r){let s="missing revert data",i=null,o=null,a=null;if(t){s="execution reverted";let l=v(t);if(t=T(t),l.length===0)s+=" (no data present; likely require(false) occurred",i="require(false)";else if(l.length%32!==4)s+=" (could not decode reason; invalid data length)";else if(T(l.slice(0,4))==="0x08c379a0")try{i=r.decode(["string"],l.slice(4))[0],a={signature:"Error(string)",name:"Error",args:[i]},s+=`: ${JSON.stringify(i)}`}catch{s+=" (could not decode reason; invalid string data)"}else if(T(l.slice(0,4))==="0x4e487b71")try{let u=Number(r.decode(["uint256"],l.slice(4))[0]);a={signature:"Panic(uint256)",name:"Panic",args:[u]},i=`Panic due to ${gr.get(u)||"UNKNOWN"}(${u})`,s+=`: ${i}`}catch{s+=" (could not decode panic code)"}else s+=" (unknown custom error)"}let c={to:e.to?V(e.to):null,data:e.data||"0x"};return e.from&&(c.from=V(e.from)),ee(s,"CALL_EXCEPTION",{action:n,data:t,reason:i,transaction:c,invocation:o,revert:a})}var is,Vo,cf=class{constructor(){y(this,is)}getDefaultValue(e){let t=e.map(s=>R(this,is,Vo).call(this,ke.from(s)));return new ni(t,"_").defaultValue()}encode(e,t){Is(t.length,e.length,"types/values length mismatch");let r=e.map(o=>R(this,is,Vo).call(this,ke.from(o))),s=new ni(r,"_"),i=new Js;return s.encode(i,t),i.data}decode(e,t,r){let s=e.map(o=>R(this,is,Vo).call(this,ke.from(o)));return new ni(s,"_").decode(new g0(t,r,xp))}static _setDefaultMaxInflation(e){x(typeof e=="number"&&Number.isInteger(e),"invalid defaultMaxInflation factor","value",e),xp=e}static defaultAbiCoder(){return gu==null&&(gu=new cf),gu}static getBuiltinCallException(e,t,r){return y1(e,t,r,cf.defaultAbiCoder())}},Mt=cf;is=new WeakSet,Vo=function(e){if(e.isArray())return new G0(R(this,is,Vo).call(this,e.arrayChildren),e.arrayLength,e.name);if(e.isTuple())return new ni(e.components.map(r=>R(this,is,Vo).call(this,r)),e.name);switch(e.baseType){case"address":return new F0(e.name);case"bool":return new H0(e.name);case"string":return new z0(e.name);case"bytes":return new _0(e.name);case"":return new Q0(e.name)}let t=e.type.match(g1);if(t){let r=parseInt(t[2]||"256");return x(r!==0&&r<=256&&r%8===0,"invalid "+t[1]+" bit length","param",e),new K0(r/8,t[1]==="int",e.name)}if(t=e.type.match(b1),t){let r=parseInt(t[1]);return x(r!==0&&r<=32,"invalid bytes length","param",e),new V0(r,e.name)}x(!1,"invalid type","type",e.type)};p();m();function yu(n){let e=ae(n);if(e.length>31)throw new Error("bytes32 string must be less than 32 bytes");return Zr(e,32)}function wu(n){let e=v(n,"bytes");if(e.length!==32)throw new Error("invalid bytes32 - not 32 bytes long");if(e[31]!==0)throw new Error("invalid bytes32 string - no null terminator");let t=31;for(;e[t-1]===0;)t--;return rt(e.slice(0,t))}p();m();var zo=class{constructor(e,t,r){g(this,"fragment");g(this,"name");g(this,"signature");g(this,"topic");g(this,"args");let s=e.name,i=e.format();I(this,{fragment:e,name:s,signature:i,topic:t,args:r})}},Jo=class{constructor(e,t,r,s){g(this,"fragment");g(this,"name");g(this,"args");g(this,"signature");g(this,"selector");g(this,"value");let i=e.name,o=e.format();I(this,{fragment:e,name:i,args:r,signature:o,selector:t,value:s})}},Wo=class{constructor(e,t,r){g(this,"fragment");g(this,"name");g(this,"args");g(this,"signature");g(this,"selector");let s=e.name,i=e.format();I(this,{fragment:e,name:s,args:r,signature:i,selector:t})}},fi=class{constructor(e){g(this,"hash");g(this,"_isIndexed");I(this,{hash:e,_isIndexed:!0})}static isIndexed(e){return!!(e&&e._isIndexed)}},pp={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"},mp={"0x08c379a0":{signature:"Error(string)",name:"Error",inputs:["string"],reason:n=>`reverted with reason string ${JSON.stringify(n)}`},"0x4e487b71":{signature:"Panic(uint256)",name:"Panic",inputs:["uint256"],reason:n=>{let e="unknown panic code";return n>=0&&n<=255&&pp[n.toString()]&&(e=pp[n.toString()]),`reverted with panic code 0x${n.toString(16)} (${e})`}}},Br,Rr,Tr,Xe,Qo,ff,Ko,lf,ci=class{constructor(e){y(this,Qo);y(this,Ko);g(this,"fragments");g(this,"deploy");g(this,"fallback");g(this,"receive");y(this,Br,void 0);y(this,Rr,void 0);y(this,Tr,void 0);y(this,Xe,void 0);let t=[];typeof e=="string"?t=JSON.parse(e):t=e,h(this,Tr,new Map),h(this,Br,new Map),h(this,Rr,new Map);let r=[];for(let o of t)try{r.push(Nt.from(o))}catch(a){console.log(`[Warning] Invalid Fragment ${JSON.stringify(o)}:`,a.message)}I(this,{fragments:Object.freeze(r)});let s=null,i=!1;h(this,Xe,this.getAbiCoder()),this.fragments.forEach((o,a)=>{let c;switch(o.type){case"constructor":if(this.deploy){console.log("duplicate definition - constructor");return}I(this,{deploy:o});return;case"fallback":o.inputs.length===0?i=!0:(x(!s||o.payable!==s.payable,"conflicting fallback fragments",`fragments[${a}]`,o),s=o,i=s.payable);return;case"function":c=f(this,Tr);break;case"event":c=f(this,Rr);break;case"error":c=f(this,Br);break;default:return}let l=o.format();c.has(l)||c.set(l,o)}),this.deploy||I(this,{deploy:ot.from("constructor()")}),I(this,{fallback:s,receive:i})}format(e){let t=e?"minimal":"full";return this.fragments.map(s=>s.format(t))}formatJson(){let e=this.fragments.map(t=>t.format("json"));return JSON.stringify(e.map(t=>JSON.parse(t)))}getAbiCoder(){return Mt.defaultAbiCoder()}getFunctionName(e){let t=R(this,Qo,ff).call(this,e,null,!1);return x(t,"no matching function","key",e),t.name}hasFunction(e){return!!R(this,Qo,ff).call(this,e,null,!1)}getFunction(e,t){return R(this,Qo,ff).call(this,e,t||null,!0)}forEachFunction(e){let t=Array.from(f(this,Tr).keys());t.sort((r,s)=>r.localeCompare(s));for(let r=0;r<t.length;r++){let s=t[r];e(f(this,Tr).get(s),r)}}getEventName(e){let t=R(this,Ko,lf).call(this,e,null,!1);return x(t,"no matching event","key",e),t.name}hasEvent(e){return!!R(this,Ko,lf).call(this,e,null,!1)}getEvent(e,t){return R(this,Ko,lf).call(this,e,t||null,!0)}forEachEvent(e){let t=Array.from(f(this,Rr).keys());t.sort((r,s)=>r.localeCompare(s));for(let r=0;r<t.length;r++){let s=t[r];e(f(this,Rr).get(s),r)}}getError(e,t){if(q(e)){let s=e.toLowerCase();if(mp[s])return ve.from(mp[s].signature);for(let i of f(this,Br).values())if(s===i.selector)return i;return null}if(e.indexOf("(")===-1){let s=[];for(let[i,o]of f(this,Br))i.split("(")[0]===e&&s.push(o);if(s.length===0)return e==="Error"?ve.from("error Error(string)"):e==="Panic"?ve.from("error Panic(uint256)"):null;if(s.length>1){let i=s.map(o=>JSON.stringify(o.format())).join(", ");x(!1,`ambiguous error description (i.e. ${i})`,"name",e)}return s[0]}if(e=ve.from(e).format(),e==="Error(string)")return ve.from("error Error(string)");if(e==="Panic(uint256)")return ve.from("error Panic(uint256)");let r=f(this,Br).get(e);return r||null}forEachError(e){let t=Array.from(f(this,Br).keys());t.sort((r,s)=>r.localeCompare(s));for(let r=0;r<t.length;r++){let s=t[r];e(f(this,Br).get(s),r)}}_decodeParams(e,t){return f(this,Xe).decode(e,t)}_encodeParams(e,t){return f(this,Xe).encode(e,t)}encodeDeploy(e){return this._encodeParams(this.deploy.inputs,e||[])}decodeErrorResult(e,t){if(typeof e=="string"){let r=this.getError(e);x(r,"unknown error","fragment",e),e=r}return x(ne(t,0,4)===e.selector,`data signature does not match error ${e.name}.`,"data",t),this._decodeParams(e.inputs,ne(t,4))}encodeErrorResult(e,t){if(typeof e=="string"){let r=this.getError(e);x(r,"unknown error","fragment",e),e=r}return K([e.selector,this._encodeParams(e.inputs,t||[])])}decodeFunctionData(e,t){if(typeof e=="string"){let r=this.getFunction(e);x(r,"unknown function","fragment",e),e=r}return x(ne(t,0,4)===e.selector,`data signature does not match function ${e.name}.`,"data",t),this._decodeParams(e.inputs,ne(t,4))}encodeFunctionData(e,t){if(typeof e=="string"){let r=this.getFunction(e);x(r,"unknown function","fragment",e),e=r}return K([e.selector,this._encodeParams(e.inputs,t||[])])}decodeFunctionResult(e,t){if(typeof e=="string"){let i=this.getFunction(e);x(i,"unknown function","fragment",e),e=i}let r="invalid length for result data",s=xe(t);if(s.length%32===0)try{return f(this,Xe).decode(e.outputs,s)}catch{r="could not decode result data"}E(!1,r,"BAD_DATA",{value:T(s),info:{method:e.name,signature:e.format()}})}makeError(e,t){let r=v(e,"data"),s=Mt.getBuiltinCallException("call",t,r),i="execution reverted (unknown custom error)";if(s.message.startsWith(i)){let a=T(r.slice(0,4)),c=this.getError(a);if(c)try{let l=f(this,Xe).decode(c.inputs,r.slice(4));s.revert={name:c.name,signature:c.format(),args:l},s.reason=s.revert.signature,s.message=`execution reverted: ${s.reason}`}catch{s.message="execution reverted (coult not decode custom error)"}}let o=this.parseTransaction(t);return o&&(s.invocation={method:o.name,signature:o.signature,args:o.args}),s}encodeFunctionResult(e,t){if(typeof e=="string"){let r=this.getFunction(e);x(r,"unknown function","fragment",e),e=r}return T(f(this,Xe).encode(e.outputs,t||[]))}encodeFilterTopics(e,t){if(typeof e=="string"){let i=this.getEvent(e);x(i,"unknown event","eventFragment",e),e=i}E(t.length<=e.inputs.length,`too many arguments for ${e.format()}`,"UNEXPECTED_ARGUMENT",{count:t.length,expectedCount:e.inputs.length});let r=[];e.anonymous||r.push(e.topicHash);let s=(i,o)=>i.type==="string"?He(o):i.type==="bytes"?Z(T(o)):(i.type==="bool"&&typeof o=="boolean"?o=o?"0x01":"0x00":i.type.match(/^u?int/)?o=Se(o):i.type.match(/^bytes/)?o=Zr(o,32):i.type==="address"&&f(this,Xe).encode(["address"],[o]),Ie(T(o),32));for(t.forEach((i,o)=>{let a=e.inputs[o];if(!a.indexed){x(i==null,"cannot filter non-indexed parameters; must be null","contract."+a.name,i);return}i==null?r.push(null):a.baseType==="array"||a.baseType==="tuple"?x(!1,"filtering with tuples or arrays not supported","contract."+a.name,i):Array.isArray(i)?r.push(i.map(c=>s(a,c))):r.push(s(a,i))});r.length&&r[r.length-1]===null;)r.pop();return r}encodeEventLog(e,t){if(typeof e=="string"){let o=this.getEvent(e);x(o,"unknown event","eventFragment",e),e=o}let r=[],s=[],i=[];return e.anonymous||r.push(e.topicHash),x(t.length===e.inputs.length,"event arguments/values mismatch","values",t),e.inputs.forEach((o,a)=>{let c=t[a];if(o.indexed)if(o.type==="string")r.push(He(c));else if(o.type==="bytes")r.push(Z(c));else{if(o.baseType==="tuple"||o.baseType==="array")throw new Error("not implemented");r.push(f(this,Xe).encode([o.type],[c]))}else s.push(o),i.push(c)}),{data:f(this,Xe).encode(s,i),topics:r}}decodeEventLog(e,t,r){if(typeof e=="string"){let w=this.getEvent(e);x(w,"unknown event","eventFragment",e),e=w}if(r!=null&&!e.anonymous){let w=e.topicHash;x(q(r[0],32)&&r[0].toLowerCase()===w,"fragment/topic mismatch","topics[0]",r[0]),r=r.slice(1)}let s=[],i=[],o=[];e.inputs.forEach((w,k)=>{w.indexed?w.type==="string"||w.type==="bytes"||w.baseType==="tuple"||w.baseType==="array"?(s.push(ke.from({type:"bytes32",name:w.name})),o.push(!0)):(s.push(w),o.push(!1)):(i.push(w),o.push(!1))});let a=r!=null?f(this,Xe).decode(s,K(r)):null,c=f(this,Xe).decode(i,t,!0),l=[],u=[],d=0,b=0;return e.inputs.forEach((w,k)=>{let A=null;if(w.indexed)if(a==null)A=new fi(null);else if(o[k])A=new fi(a[b++]);else try{A=a[b++]}catch(N){A=N}else try{A=c[d++]}catch(N){A=N}l.push(A),u.push(w.name||null)}),sr.fromItems(l,u)}parseTransaction(e){let t=v(e.data,"tx.data"),r=U(e.value!=null?e.value:0,"tx.value"),s=this.getFunction(T(t.slice(0,4)));if(!s)return null;let i=f(this,Xe).decode(s.inputs,t.slice(4));return new Jo(s,s.selector,i,r)}parseCallResult(e){throw new Error("@TODO")}parseLog(e){let t=this.getEvent(e.topics[0]);return!t||t.anonymous?null:new zo(t,t.topicHash,this.decodeEventLog(t,e.data,e.topics))}parseError(e){let t=T(e),r=this.getError(ne(t,0,4));if(!r)return null;let s=f(this,Xe).decode(r.inputs,ne(t,4));return new Wo(r,r.selector,s)}static from(e){return e instanceof ci?e:typeof e=="string"?new ci(JSON.parse(e)):typeof e.formatJson=="function"?new ci(e.formatJson()):typeof e.format=="function"?new ci(e.format("json")):new ci(e)}},gn=ci;Br=new WeakMap,Rr=new WeakMap,Tr=new WeakMap,Xe=new WeakMap,Qo=new WeakSet,ff=function(e,t,r){if(q(e)){let i=e.toLowerCase();for(let o of f(this,Tr).values())if(i===o.selector)return o;return null}if(e.indexOf("(")===-1){let i=[];for(let[o,a]of f(this,Tr))o.split("(")[0]===e&&i.push(a);if(t){let o=t.length>0?t[t.length-1]:null,a=t.length,c=!0;le.isTyped(o)&&o.type==="overrides"&&(c=!1,a--);for(let l=i.length-1;l>=0;l--){let u=i[l].inputs.length;u!==a&&(!c||u!==a-1)&&i.splice(l,1)}for(let l=i.length-1;l>=0;l--){let u=i[l].inputs;for(let d=0;d<t.length;d++)if(!!le.isTyped(t[d])){if(d>=u.length){if(t[d].type==="overrides")continue;i.splice(l,1);break}if(t[d].type!==u[d].baseType){i.splice(l,1);break}}}}if(i.length===1&&t&&t.length!==i[0].inputs.length){let o=t[t.length-1];(o==null||Array.isArray(o)||typeof o!="object")&&i.splice(0,1)}if(i.length===0)return null;if(i.length>1&&r){let o=i.map(a=>JSON.stringify(a.format())).join(", ");x(!1,`ambiguous function description (i.e. matches ${o})`,"key",e)}return i[0]}let s=f(this,Tr).get(Ye.from(e).format());return s||null},Ko=new WeakSet,lf=function(e,t,r){if(q(e)){let i=e.toLowerCase();for(let o of f(this,Rr).values())if(i===o.topicHash)return o;return null}if(e.indexOf("(")===-1){let i=[];for(let[o,a]of f(this,Rr))o.split("(")[0]===e&&i.push(a);if(t){for(let o=i.length-1;o>=0;o--)i[o].inputs.length<t.length&&i.splice(o,1);for(let o=i.length-1;o>=0;o--){let a=i[o].inputs;for(let c=0;c<t.length;c++)if(!!le.isTyped(t[c])&&t[c].type!==a[c].baseType){i.splice(o,1);break}}}if(i.length===0)return null;if(i.length>1&&r){let o=i.map(a=>JSON.stringify(a.format())).join(", ");x(!1,`ambiguous event description (i.e. matches ${o})`,"key",e)}return i[0]}let s=f(this,Rr).get(qe.from(e).format());return s||null};p();m();p();m();p();m();var bp=BigInt(0);function jo(n){return n??null}function Re(n){return n==null?null:n.toString()}var as=class{constructor(e,t,r){g(this,"gasPrice");g(this,"maxFeePerGas");g(this,"maxPriorityFeePerGas");I(this,{gasPrice:jo(e),maxFeePerGas:jo(t),maxPriorityFeePerGas:jo(r)})}toJSON(){let{gasPrice:e,maxFeePerGas:t,maxPriorityFeePerGas:r}=this;return{_type:"FeeData",gasPrice:Re(e),maxFeePerGas:Re(t),maxPriorityFeePerGas:Re(r)}}};function Gt(n){let e={};n.to&&(e.to=n.to),n.from&&(e.from=n.from),n.data&&(e.data=T(n.data));let t="chainId,gasLimit,gasPrice,maxFeePerBlobGas,maxFeePerGas,maxPriorityFeePerGas,value".split(/,/);for(let s of t)!(s in n)||n[s]==null||(e[s]=U(n[s],`request.${s}`));let r="type,nonce".split(/,/);for(let s of r)!(s in n)||n[s]==null||(e[s]=H(n[s],`request.${s}`));return n.accessList&&(e.accessList=_e(n.accessList)),"blockTag"in n&&(e.blockTag=n.blockTag),"enableCcipRead"in n&&(e.enableCcipRead=!!n.enableCcipRead),"customData"in n&&(e.customData=n.customData),"blobVersionedHashes"in n&&n.blobVersionedHashes&&(e.blobVersionedHashes=n.blobVersionedHashes.slice()),"kzg"in n&&(e.kzg=n.kzg),"blobs"in n&&n.blobs&&(e.blobs=n.blobs.map(s=>qt(s)?T(s):Object.assign({},s))),e}var yn,li=class{constructor(e,t){g(this,"provider");g(this,"number");g(this,"hash");g(this,"timestamp");g(this,"parentHash");g(this,"parentBeaconBlockRoot");g(this,"nonce");g(this,"difficulty");g(this,"gasLimit");g(this,"gasUsed");g(this,"stateRoot");g(this,"receiptsRoot");g(this,"blobGasUsed");g(this,"excessBlobGas");g(this,"miner");g(this,"prevRandao");g(this,"extraData");g(this,"baseFeePerGas");y(this,yn,void 0);h(this,yn,e.transactions.map(r=>typeof r!="string"?new vr(r,t):r)),I(this,{provider:t,hash:jo(e.hash),number:e.number,timestamp:e.timestamp,parentHash:e.parentHash,parentBeaconBlockRoot:e.parentBeaconBlockRoot,nonce:e.nonce,difficulty:e.difficulty,gasLimit:e.gasLimit,gasUsed:e.gasUsed,blobGasUsed:e.blobGasUsed,excessBlobGas:e.excessBlobGas,miner:e.miner,prevRandao:jo(e.prevRandao),extraData:e.extraData,baseFeePerGas:jo(e.baseFeePerGas),stateRoot:e.stateRoot,receiptsRoot:e.receiptsRoot})}get transactions(){return f(this,yn).map(e=>typeof e=="string"?e:e.hash)}get prefetchedTransactions(){let e=f(this,yn).slice();return e.length===0?[]:(E(typeof e[0]=="object","transactions were not prefetched with block request","UNSUPPORTED_OPERATION",{operation:"transactionResponses()"}),e)}toJSON(){let{baseFeePerGas:e,difficulty:t,extraData:r,gasLimit:s,gasUsed:i,hash:o,miner:a,prevRandao:c,nonce:l,number:u,parentHash:d,parentBeaconBlockRoot:b,stateRoot:w,receiptsRoot:k,timestamp:A,transactions:N}=this;return{_type:"Block",baseFeePerGas:Re(e),difficulty:Re(t),extraData:r,gasLimit:Re(s),gasUsed:Re(i),blobGasUsed:Re(this.blobGasUsed),excessBlobGas:Re(this.excessBlobGas),hash:o,miner:a,prevRandao:c,nonce:l,number:u,parentHash:d,timestamp:A,parentBeaconBlockRoot:b,stateRoot:w,receiptsRoot:k,transactions:N}}[Symbol.iterator](){let e=0,t=this.transactions;return{next:()=>e<this.length?{value:t[e++],done:!1}:{value:void 0,done:!0}}}get length(){return f(this,yn).length}get date(){return this.timestamp==null?null:new Date(this.timestamp*1e3)}async getTransaction(e){let t;if(typeof e=="number")t=f(this,yn)[e];else{let r=e.toLowerCase();for(let s of f(this,yn))if(typeof s=="string"){if(s!==r)continue;t=s;break}else{if(s.hash!==r)continue;t=s;break}}if(t==null)throw new Error("no such tx");return typeof t=="string"?await this.provider.getTransaction(t):t}getPrefetchedTransaction(e){let t=this.prefetchedTransactions;if(typeof e=="number")return t[e];e=e.toLowerCase();for(let r of t)if(r.hash===e)return r;x(!1,"no matching transaction","indexOrHash",e)}isMined(){return!!this.hash}isLondon(){return!!this.baseFeePerGas}orphanedEvent(){if(!this.isMined())throw new Error("");return w1(this)}};yn=new WeakMap;var Pt=class{constructor(e,t){g(this,"provider");g(this,"transactionHash");g(this,"blockHash");g(this,"blockNumber");g(this,"removed");g(this,"address");g(this,"data");g(this,"topics");g(this,"index");g(this,"transactionIndex");this.provider=t;let r=Object.freeze(e.topics.slice());I(this,{transactionHash:e.transactionHash,blockHash:e.blockHash,blockNumber:e.blockNumber,removed:e.removed,address:e.address,data:e.data,topics:r,index:e.index,transactionIndex:e.transactionIndex})}toJSON(){let{address:e,blockHash:t,blockNumber:r,data:s,index:i,removed:o,topics:a,transactionHash:c,transactionIndex:l}=this;return{_type:"log",address:e,blockHash:t,blockNumber:r,data:s,index:i,removed:o,topics:a,transactionHash:c,transactionIndex:l}}async getBlock(){let e=await this.provider.getBlock(this.blockHash);return E(!!e,"failed to find transaction","UNKNOWN_ERROR",{}),e}async getTransaction(){let e=await this.provider.getTransaction(this.transactionHash);return E(!!e,"failed to find transaction","UNKNOWN_ERROR",{}),e}async getTransactionReceipt(){let e=await this.provider.getTransactionReceipt(this.transactionHash);return E(!!e,"failed to find transaction receipt","UNKNOWN_ERROR",{}),e}removedEvent(){return A1(this)}},gc,wn=class{constructor(e,t){g(this,"provider");g(this,"to");g(this,"from");g(this,"contractAddress");g(this,"hash");g(this,"index");g(this,"blockHash");g(this,"blockNumber");g(this,"logsBloom");g(this,"gasUsed");g(this,"blobGasUsed");g(this,"cumulativeGasUsed");g(this,"gasPrice");g(this,"blobGasPrice");g(this,"type");g(this,"status");g(this,"root");y(this,gc,void 0);h(this,gc,Object.freeze(e.logs.map(s=>new Pt(s,t))));let r=bp;e.effectiveGasPrice!=null?r=e.effectiveGasPrice:e.gasPrice!=null&&(r=e.gasPrice),I(this,{provider:t,to:e.to,from:e.from,contractAddress:e.contractAddress,hash:e.hash,index:e.index,blockHash:e.blockHash,blockNumber:e.blockNumber,logsBloom:e.logsBloom,gasUsed:e.gasUsed,cumulativeGasUsed:e.cumulativeGasUsed,blobGasUsed:e.blobGasUsed,gasPrice:r,blobGasPrice:e.blobGasPrice,type:e.type,status:e.status,root:e.root})}get logs(){return f(this,gc)}toJSON(){let{to:e,from:t,contractAddress:r,hash:s,index:i,blockHash:o,blockNumber:a,logsBloom:c,logs:l,status:u,root:d}=this;return{_type:"TransactionReceipt",blockHash:o,blockNumber:a,contractAddress:r,cumulativeGasUsed:Re(this.cumulativeGasUsed),from:t,gasPrice:Re(this.gasPrice),blobGasUsed:Re(this.blobGasUsed),blobGasPrice:Re(this.blobGasPrice),gasUsed:Re(this.gasUsed),hash:s,index:i,logs:l,logsBloom:c,root:d,status:u,to:e}}get length(){return this.logs.length}[Symbol.iterator](){let e=0;return{next:()=>e<this.length?{value:this.logs[e++],done:!1}:{value:void 0,done:!0}}}get fee(){return this.gasUsed*this.gasPrice}async getBlock(){let e=await this.provider.getBlock(this.blockHash);if(e==null)throw new Error("TODO");return e}async getTransaction(){let e=await this.provider.getTransaction(this.hash);if(e==null)throw new Error("TODO");return e}async getResult(){return await this.provider.getTransactionResult(this.hash)}async confirmations(){return await this.provider.getBlockNumber()-this.blockNumber+1}removedEvent(){return yp(this)}reorderedEvent(e){return E(!e||e.isMined(),"unmined 'other' transction cannot be orphaned","UNSUPPORTED_OPERATION",{operation:"reorderedEvent(other)"}),gp(this,e)}};gc=new WeakMap;var os,Au=class{constructor(e,t){g(this,"provider");g(this,"blockNumber");g(this,"blockHash");g(this,"index");g(this,"hash");g(this,"type");g(this,"to");g(this,"from");g(this,"nonce");g(this,"gasLimit");g(this,"gasPrice");g(this,"maxPriorityFeePerGas");g(this,"maxFeePerGas");g(this,"maxFeePerBlobGas");g(this,"data");g(this,"value");g(this,"chainId");g(this,"signature");g(this,"accessList");g(this,"blobVersionedHashes");y(this,os,void 0);this.provider=t,this.blockNumber=e.blockNumber!=null?e.blockNumber:null,this.blockHash=e.blockHash!=null?e.blockHash:null,this.hash=e.hash,this.index=e.index,this.type=e.type,this.from=e.from,this.to=e.to||null,this.gasLimit=e.gasLimit,this.nonce=e.nonce,this.data=e.data,this.value=e.value,this.gasPrice=e.gasPrice,this.maxPriorityFeePerGas=e.maxPriorityFeePerGas!=null?e.maxPriorityFeePerGas:null,this.maxFeePerGas=e.maxFeePerGas!=null?e.maxFeePerGas:null,this.maxFeePerBlobGas=e.maxFeePerBlobGas!=null?e.maxFeePerBlobGas:null,this.chainId=e.chainId,this.signature=e.signature,this.accessList=e.accessList!=null?e.accessList:null,this.blobVersionedHashes=e.blobVersionedHashes!=null?e.blobVersionedHashes:null,h(this,os,-1)}toJSON(){let{blockNumber:e,blockHash:t,index:r,hash:s,type:i,to:o,from:a,nonce:c,data:l,signature:u,accessList:d,blobVersionedHashes:b}=this;return{_type:"TransactionResponse",accessList:d,blockNumber:e,blockHash:t,blobVersionedHashes:b,chainId:Re(this.chainId),data:l,from:a,gasLimit:Re(this.gasLimit),gasPrice:Re(this.gasPrice),hash:s,maxFeePerGas:Re(this.maxFeePerGas),maxPriorityFeePerGas:Re(this.maxPriorityFeePerGas),maxFeePerBlobGas:Re(this.maxFeePerBlobGas),nonce:c,signature:u,to:o,index:r,type:i,value:Re(this.value)}}async getBlock(){let e=this.blockNumber;if(e==null){let r=await this.getTransaction();r&&(e=r.blockNumber)}if(e==null)return null;let t=this.provider.getBlock(e);if(t==null)throw new Error("TODO");return t}async getTransaction(){return this.provider.getTransaction(this.hash)}async confirmations(){if(this.blockNumber==null){let{tx:t,blockNumber:r}=await ue({tx:this.getTransaction(),blockNumber:this.provider.getBlockNumber()});return t==null||t.blockNumber==null?0:r-t.blockNumber+1}return await this.provider.getBlockNumber()-this.blockNumber+1}async wait(e,t){let r=e??1,s=t??0,i=f(this,os),o=-1,a=i===-1,c=async()=>{if(a)return null;let{blockNumber:b,nonce:w}=await ue({blockNumber:this.provider.getBlockNumber(),nonce:this.provider.getTransactionCount(this.from)});if(w<this.nonce){i=b;return}if(a)return null;let k=await this.getTransaction();if(!(k&&k.blockNumber!=null))for(o===-1&&(o=i-3,o<f(this,os)&&(o=f(this,os)));o<=b;){if(a)return null;let A=await this.provider.getBlock(o,!0);if(A==null)return;for(let N of A)if(N===this.hash)return;for(let N=0;N<A.length;N++){let B=await A.getTransaction(N);if(B.from===this.from&&B.nonce===this.nonce){if(a)return null;let O=await this.provider.getTransactionReceipt(B.hash);if(O==null||b-O.blockNumber+1<r)return;let C="replaced";B.data===this.data&&B.to===this.to&&B.value===this.value?C="repriced":B.data==="0x"&&B.from===B.to&&B.value===bp&&(C="cancelled"),E(!1,"transaction was replaced","TRANSACTION_REPLACED",{cancelled:C==="replaced"||C==="cancelled",reason:C,replacement:B.replaceableTransaction(i),hash:B.hash,receipt:O})}}o++}},l=b=>{if(b==null||b.status!==0)return b;E(!1,"transaction execution reverted","CALL_EXCEPTION",{action:"sendTransaction",data:null,reason:null,invocation:null,revert:null,transaction:{to:b.to,from:b.from,data:""},receipt:b})},u=await this.provider.getTransactionReceipt(this.hash);if(r===0)return l(u);if(u){if(await u.confirmations()>=r)return l(u)}else if(await c(),r===0)return null;return await new Promise((b,w)=>{let k=[],A=()=>{k.forEach(B=>B())};if(k.push(()=>{a=!0}),s>0){let B=setTimeout(()=>{A(),w(ee("wait for transaction timeout","TIMEOUT"))},s);k.push(()=>{clearTimeout(B)})}let N=async B=>{if(await B.confirmations()>=r){A();try{b(l(B))}catch(O){w(O)}}};if(k.push(()=>{this.provider.off(this.hash,N)}),this.provider.on(this.hash,N),i>=0){let B=async()=>{try{await c()}catch(O){if(oe(O,"TRANSACTION_REPLACED")){A(),w(O);return}}a||this.provider.once("block",B)};k.push(()=>{this.provider.off("block",B)}),this.provider.once("block",B)}})}isMined(){return this.blockHash!=null}isLegacy(){return this.type===0}isBerlin(){return this.type===1}isLondon(){return this.type===2}isCancun(){return this.type===3}removedEvent(){return E(this.isMined(),"unmined transaction canot be orphaned","UNSUPPORTED_OPERATION",{operation:"removeEvent()"}),yp(this)}reorderedEvent(e){return E(this.isMined(),"unmined transaction canot be orphaned","UNSUPPORTED_OPERATION",{operation:"removeEvent()"}),E(!e||e.isMined(),"unmined 'other' transaction canot be orphaned","UNSUPPORTED_OPERATION",{operation:"removeEvent()"}),gp(this,e)}replaceableTransaction(e){x(Number.isInteger(e)&&e>=0,"invalid startBlock","startBlock",e);let t=new Au(this,this.provider);return h(t,os,e),t}},vr=Au;os=new WeakMap;function w1(n){return{orphan:"drop-block",hash:n.hash,number:n.number}}function gp(n,e){return{orphan:"reorder-transaction",tx:n,other:e}}function yp(n){return{orphan:"drop-transaction",tx:n}}function A1(n){return{orphan:"drop-log",log:{transactionHash:n.transactionHash,blockHash:n.blockHash,blockNumber:n.blockNumber,address:n.address,data:n.data,topics:Object.freeze(n.topics.slice()),index:n.index}}}p();m();var An=class extends Pt{constructor(t,r,s){super(t,t.provider);g(this,"interface");g(this,"fragment");g(this,"args");let i=r.decodeEventLog(s,t.data,t.topics);I(this,{args:i,fragment:s,interface:r})}get eventName(){return this.fragment.name}get eventSignature(){return this.fragment.format()}},cs=class extends Pt{constructor(t,r){super(t,t.provider);g(this,"error");I(this,{error:r})}},Zo,qo=class extends wn{constructor(t,r,s){super(s,r);y(this,Zo,void 0);h(this,Zo,t)}get logs(){return super.logs.map(t=>{let r=t.topics.length?f(this,Zo).getEvent(t.topics[0]):null;if(r)try{return new An(t,f(this,Zo),r)}catch(s){return new cs(t,s)}return t})}};Zo=new WeakMap;var yc,En=class extends vr{constructor(t,r,s){super(s,r);y(this,yc,void 0);h(this,yc,t)}async wait(t,r){let s=await super.wait(t,r);return s==null?null:new qo(f(this,yc),this.provider,s)}};yc=new WeakMap;var fs=class extends Xr{constructor(t,r,s,i){super(t,r,s);g(this,"log");I(this,{log:i})}async getBlock(){return await this.log.getBlock()}async getTransaction(){return await this.log.getTransaction()}async getTransactionReceipt(){return await this.log.getTransactionReceipt()}},ui=class extends fs{constructor(e,t,r,s,i){super(e,t,r,new An(i,e.interface,s));let o=e.interface.decodeEventLog(s,this.log.data,this.log.topics);I(this,{args:o,fragment:s})}get eventName(){return this.fragment.name}get eventSignature(){return this.fragment.format()}};var wp=BigInt(0);function Ep(n){return n&&typeof n.call=="function"}function kp(n){return n&&typeof n.estimateGas=="function"}function hf(n){return n&&typeof n.resolveName=="function"}function Np(n){return n&&typeof n.sendTransaction=="function"}function Pp(n){if(n!=null){if(hf(n))return n;if(n.provider)return n.provider}}var Ec,Eu=class{constructor(e,t,r){y(this,Ec,void 0);g(this,"fragment");if(I(this,{fragment:t}),t.inputs.length<r.length)throw new Error("too many arguments");let s=hi(e.runner,"resolveName"),i=hf(s)?s:null;h(this,Ec,async function(){let o=await Promise.all(t.inputs.map((a,c)=>r[c]==null?null:a.walkAsync(r[c],(u,d)=>u==="address"?Array.isArray(d)?Promise.all(d.map(b=>be(b,i))):be(d,i):d)));return e.interface.encodeFilterTopics(t,o)}())}getTopicFilter(){return f(this,Ec)}};Ec=new WeakMap;function hi(n,e){return n==null?null:typeof n[e]=="function"?n:n.provider&&typeof n.provider[e]=="function"?n.provider:null}function di(n){return n==null?null:n.provider||null}async function xf(n,e){let t=le.dereference(n,"overrides");x(typeof t=="object","invalid overrides parameter","overrides",n);let r=Gt(t);return x(r.to==null||(e||[]).indexOf("to")>=0,"cannot override to","overrides.to",r.to),x(r.data==null||(e||[]).indexOf("data")>=0,"cannot override data","overrides.data",r.data),r.from&&(r.from=r.from),r}async function Pu(n,e,t){let r=hi(n,"resolveName"),s=hf(r)?r:null;return await Promise.all(e.map((i,o)=>i.walkAsync(t[o],(a,c)=>(c=le.dereference(c,a),a==="address"?be(c,s):c))))}function E1(n){let e=async function(o){let a=await xf(o,["data"]);a.to=await n.getAddress(),a.from&&(a.from=await be(a.from,Pp(n.runner)));let c=n.interface,l=U(a.value||wp,"overrides.value")===wp,u=(a.data||"0x")==="0x";c.fallback&&!c.fallback.payable&&c.receive&&!u&&!l&&x(!1,"cannot send data to receive or send value to non-payable fallback","overrides",o),x(c.fallback||u,"cannot send data to receive-only contract","overrides.data",a.data);let d=c.receive||c.fallback&&c.fallback.payable;return x(d||l,"cannot send value to non-payable fallback","overrides.value",a.value),x(c.fallback||u,"cannot send data to receive-only contract","overrides.data",a.data),a},t=async function(o){let a=hi(n.runner,"call");E(Ep(a),"contract runner does not support calling","UNSUPPORTED_OPERATION",{operation:"call"});let c=await e(o);try{return await a.call(c)}catch(l){throw Mn(l)&&l.data?n.interface.makeError(l.data,c):l}},r=async function(o){let a=n.runner;E(Np(a),"contract runner does not support sending transactions","UNSUPPORTED_OPERATION",{operation:"sendTransaction"});let c=await a.sendTransaction(await e(o)),l=di(n.runner);return new En(n.interface,l,c)},s=async function(o){let a=hi(n.runner,"estimateGas");return E(kp(a),"contract runner does not support gas estimation","UNSUPPORTED_OPERATION",{operation:"estimateGas"}),await a.estimateGas(await e(o))},i=async o=>await r(o);return I(i,{_contract:n,estimateGas:s,populateTransaction:e,send:r,staticCall:t}),i}function k1(n,e){let t=function(...l){let u=n.interface.getFunction(e,l);return E(u,"no matching fragment","UNSUPPORTED_OPERATION",{operation:"fragment",info:{key:e,args:l}}),u},r=async function(...l){let u=t(...l),d={};if(u.inputs.length+1===l.length&&(d=await xf(l.pop()),d.from&&(d.from=await be(d.from,Pp(n.runner)))),u.inputs.length!==l.length)throw new Error("internal error: fragment inputs doesn't match arguments; should not happen");let b=await Pu(n.runner,u.inputs,l);return Object.assign({},d,await ue({to:n.getAddress(),data:n.interface.encodeFunctionData(u,b)}))},s=async function(...l){let u=await a(...l);return u.length===1?u[0]:u},i=async function(...l){let u=n.runner;E(Np(u),"contract runner does not support sending transactions","UNSUPPORTED_OPERATION",{operation:"sendTransaction"});let d=await u.sendTransaction(await r(...l)),b=di(n.runner);return new En(n.interface,b,d)},o=async function(...l){let u=hi(n.runner,"estimateGas");return E(kp(u),"contract runner does not support gas estimation","UNSUPPORTED_OPERATION",{operation:"estimateGas"}),await u.estimateGas(await r(...l))},a=async function(...l){let u=hi(n.runner,"call");E(Ep(u),"contract runner does not support calling","UNSUPPORTED_OPERATION",{operation:"call"});let d=await r(...l),b="0x";try{b=await u.call(d)}catch(k){throw Mn(k)&&k.data?n.interface.makeError(k.data,d):k}let w=t(...l);return n.interface.decodeFunctionResult(w,b)},c=async(...l)=>t(...l).constant?await s(...l):await i(...l);return I(c,{name:n.interface.getFunctionName(e),_contract:n,_key:e,getFragment:t,estimateGas:o,populateTransaction:r,send:i,staticCall:s,staticCallResult:a}),Object.defineProperty(c,"fragment",{configurable:!1,enumerable:!0,get:()=>{let l=n.interface.getFunction(e);return E(l,"no matching fragment","UNSUPPORTED_OPERATION",{operation:"fragment",info:{key:e}}),l}}),c}function N1(n,e){let t=function(...s){let i=n.interface.getEvent(e,s);return E(i,"no matching fragment","UNSUPPORTED_OPERATION",{operation:"fragment",info:{key:e,args:s}}),i},r=function(...s){return new Eu(n,t(...s),s)};return I(r,{name:n.interface.getEventName(e),_contract:n,_key:e,getFragment:t}),Object.defineProperty(r,"fragment",{configurable:!1,enumerable:!0,get:()=>{let s=n.interface.getEvent(e);return E(s,"no matching fragment","UNSUPPORTED_OPERATION",{operation:"fragment",info:{key:e}}),s}}),r}var df=Symbol.for("_ethersInternal_contract"),Bp=new WeakMap;function P1(n,e){Bp.set(n[df],e)}function Bt(n){return Bp.get(n[df])}function B1(n){return n&&typeof n=="object"&&"getTopicFilter"in n&&typeof n.getTopicFilter=="function"&&n.fragment}async function Bu(n,e){let t,r=null;if(Array.isArray(e)){let i=function(o){if(q(o,32))return o;let a=n.interface.getEvent(o);return x(a,"unknown fragment","name",o),a.topicHash};t=e.map(o=>o==null?null:Array.isArray(o)?o.map(i):i(o))}else e==="*"?t=[null]:typeof e=="string"?q(e,32)?t=[e]:(r=n.interface.getEvent(e),x(r,"unknown fragment","event",e),t=[r.topicHash]):B1(e)?t=await e.getTopicFilter():"fragment"in e?(r=e.fragment,t=[r.topicHash]):x(!1,"unknown event name","event",e);t=t.map(i=>{if(i==null)return null;if(Array.isArray(i)){let o=Array.from(new Set(i.map(a=>a.toLowerCase())).values());return o.length===1?o[0]:(o.sort(),o)}return i.toLowerCase()});let s=t.map(i=>i==null?"null":Array.isArray(i)?i.join("|"):i).join("&");return{fragment:r,tag:s,topics:t}}async function wc(n,e){let{subs:t}=Bt(n);return t.get((await Bu(n,e)).tag)||null}async function Ap(n,e,t){let r=di(n.runner);E(r,"contract runner does not support subscribing","UNSUPPORTED_OPERATION",{operation:e});let{fragment:s,tag:i,topics:o}=await Bu(n,t),{addr:a,subs:c}=Bt(n),l=c.get(i);if(!l){let d={address:a||n,topics:o},b=N=>{let B=s;if(B==null)try{B=n.interface.getEvent(N.topics[0])}catch{}if(B){let O=B,C=s?n.interface.decodeEventLog(s,N.data,N.topics):[];Nu(n,t,C,Q=>new ui(n,Q,t,O,N))}else Nu(n,t,[],O=>new fs(n,O,t,N))},w=[];l={tag:i,listeners:[],start:()=>{w.length||w.push(r.on(d,b))},stop:async()=>{if(w.length==0)return;let N=w;w=[],await Promise.all(N),r.off(d,b)}},c.set(i,l)}return l}var ku=Promise.resolve();async function R1(n,e,t,r){await ku;let s=await wc(n,e);if(!s)return!1;let i=s.listeners.length;return s.listeners=s.listeners.filter(({listener:o,once:a})=>{let c=Array.from(t);r&&c.push(r(a?null:o));try{o.call(n,...c)}catch{}return!a}),s.listeners.length===0&&(s.stop(),Bt(n).subs.delete(s.tag)),i>0}async function Nu(n,e,t,r){try{await ku}catch{}let s=R1(n,e,t,r);return ku=s,await s}var uf=["then"],v1,Ac=class{constructor(e,t,r,s){g(this,"target");g(this,"interface");g(this,"runner");g(this,"filters");g(this,v1);g(this,"fallback");x(typeof e=="string"||Eo(e),"invalid value for Contract target","target",e),r==null&&(r=null);let i=gn.from(t);I(this,{target:e,runner:r,interface:i}),Object.defineProperty(this,df,{value:{}});let o,a=null,c=null;if(s){let d=di(r);c=new En(this.interface,d,s)}let l=new Map;if(typeof e=="string")if(q(e))a=e,o=Promise.resolve(e);else{let d=hi(r,"resolveName");if(!hf(d))throw ee("contract runner does not support name resolution","UNSUPPORTED_OPERATION",{operation:"resolveName"});o=d.resolveName(e).then(b=>{if(b==null)throw ee("an ENS name used for a contract target must be correctly configured","UNCONFIGURED_NAME",{value:e});return Bt(this).addr=b,b})}else o=e.getAddress().then(d=>{if(d==null)throw new Error("TODO");return Bt(this).addr=d,d});P1(this,{addrPromise:o,addr:a,deployTx:c,subs:l});let u=new Proxy({},{get:(d,b,w)=>{if(typeof b=="symbol"||uf.indexOf(b)>=0)return Reflect.get(d,b,w);try{return this.getEvent(b)}catch(k){if(!oe(k,"INVALID_ARGUMENT")||k.argument!=="key")throw k}},has:(d,b)=>uf.indexOf(b)>=0?Reflect.has(d,b):Reflect.has(d,b)||this.interface.hasEvent(String(b))});return I(this,{filters:u}),I(this,{fallback:i.receive||i.fallback?E1(this):null}),new Proxy(this,{get:(d,b,w)=>{if(typeof b=="symbol"||b in d||uf.indexOf(b)>=0)return Reflect.get(d,b,w);try{return d.getFunction(b)}catch(k){if(!oe(k,"INVALID_ARGUMENT")||k.argument!=="key")throw k}},has:(d,b)=>typeof b=="symbol"||b in d||uf.indexOf(b)>=0?Reflect.has(d,b):d.interface.hasFunction(b)})}connect(e){return new Ac(this.target,this.interface,e)}attach(e){return new Ac(e,this.interface,this.runner)}async getAddress(){return await Bt(this).addrPromise}async getDeployedCode(){let e=di(this.runner);E(e,"runner does not support .provider","UNSUPPORTED_OPERATION",{operation:"getDeployedCode"});let t=await e.getCode(await this.getAddress());return t==="0x"?null:t}async waitForDeployment(){let e=this.deploymentTransaction();if(e)return await e.wait(),this;if(await this.getDeployedCode()!=null)return this;let r=di(this.runner);return E(r!=null,"contract runner does not support .provider","UNSUPPORTED_OPERATION",{operation:"waitForDeployment"}),new Promise((s,i)=>{let o=async()=>{try{if(await this.getDeployedCode()!=null)return s(this);r.once("block",o)}catch(a){i(a)}};o()})}deploymentTransaction(){return Bt(this).deployTx}getFunction(e){return typeof e!="string"&&(e=e.format()),k1(this,e)}getEvent(e){return typeof e!="string"&&(e=e.format()),N1(this,e)}async queryTransaction(e){throw new Error("@TODO")}async queryFilter(e,t,r){t==null&&(t=0),r==null&&(r="latest");let{addr:s,addrPromise:i}=Bt(this),o=s||await i,{fragment:a,topics:c}=await Bu(this,e),l={address:o,topics:c,fromBlock:t,toBlock:r},u=di(this.runner);return E(u,"contract runner does not have a provider","UNSUPPORTED_OPERATION",{operation:"queryFilter"}),(await u.getLogs(l)).map(d=>{let b=a;if(b==null)try{b=this.interface.getEvent(d.topics[0])}catch{}if(b)try{return new An(d,this.interface,b)}catch(w){return new cs(d,w)}return new Pt(d,u)})}async on(e,t){let r=await Ap(this,"on",e);return r.listeners.push({listener:t,once:!1}),r.start(),this}async once(e,t){let r=await Ap(this,"once",e);return r.listeners.push({listener:t,once:!0}),r.start(),this}async emit(e,...t){return await Nu(this,e,t,null)}async listenerCount(e){if(e){let s=await wc(this,e);return s?s.listeners.length:0}let{subs:t}=Bt(this),r=0;for(let{listeners:s}of t.values())r+=s.length;return r}async listeners(e){if(e){let s=await wc(this,e);return s?s.listeners.map(({listener:i})=>i):[]}let{subs:t}=Bt(this),r=[];for(let{listeners:s}of t.values())r=r.concat(s.map(({listener:i})=>i));return r}async off(e,t){let r=await wc(this,e);if(!r)return this;if(t){let s=r.listeners.map(({listener:i})=>i).indexOf(t);s>=0&&r.listeners.splice(s,1)}return(t==null||r.listeners.length===0)&&(r.stop(),Bt(this).subs.delete(r.tag)),this}async removeAllListeners(e){if(e){let t=await wc(this,e);if(!t)return this;t.stop(),Bt(this).subs.delete(t.tag)}else{let{subs:t}=Bt(this);for(let{tag:r,stop:s}of t.values())s(),t.delete(r)}return this}async addListener(e,t){return await this.on(e,t)}async removeListener(e,t){return await this.off(e,t)}static buildClass(e){class t extends Ac{constructor(s,i=null){super(s,e,i)}}return t}static from(e,t,r){return r==null&&(r=null),new this(e,t,r)}},kn=Ac;v1=df;function T1(){return kn}var xt=class extends T1(){};p();m();var xi=class{constructor(e,t,r){g(this,"interface");g(this,"bytecode");g(this,"runner");let s=gn.from(e);t instanceof Uint8Array?t=T(v(t)):(typeof t=="object"&&(t=t.object),t.startsWith("0x")||(t="0x"+t),t=T(v(t))),I(this,{bytecode:t,interface:s,runner:r||null})}attach(e){return new kn(e,this.interface,this.runner)}async getDeployTransaction(...e){let t={},r=this.interface.deploy;if(r.inputs.length+1===e.length&&(t=await xf(e.pop())),r.inputs.length!==e.length)throw new Error("incorrect number of arguments to constructor");let s=await Pu(this.runner,r.inputs,e),i=K([this.bytecode,this.interface.encodeDeploy(s)]);return Object.assign({},t,{data:i})}async deploy(...e){let t=await this.getDeployTransaction(...e);E(this.runner&&typeof this.runner.sendTransaction=="function","factory runner does not support sending transactions","UNSUPPORTED_OPERATION",{operation:"sendTransaction"});let r=await this.runner.sendTransaction(t),s=ti(r);return new kn(s,this.interface,this.runner,r)}connect(e){return new xi(this.interface,this.bytecode,e)}static fromSolidity(e,t){x(e!=null,"bad compiler output","output",e),typeof e=="string"&&(e=JSON.parse(e));let r=e.abi,s="";return e.bytecode?s=e.bytecode:e.evm&&e.evm.bytecode&&(s=e.evm.bytecode),new this(r,s,t)}};p();m();p();m();p();m();function Ru(n){return n.match(/^ipfs:\/\/ipfs\//i)?n=n.substring(12):n.match(/^ipfs:\/\//i)?n=n.substring(7):x(!1,"unsupported IPFS format","link",n),`https://gateway.ipfs.io/ipfs/${n}`}var Xo=class{constructor(e){g(this,"name");I(this,{name:e})}connect(e){return this}supportsCoinType(e){return!1}async encodeAddress(e,t){throw new Error("unsupported coin")}async decodeAddress(e,t){throw new Error("unsupported coin")}};var Tp=new RegExp("^(ipfs)://(.*)$","i"),Rp=[new RegExp("^(https)://(.*)$","i"),new RegExp("^(data):(.*)$","i"),Tp,new RegExp("^eip155:[0-9]+/(erc[0-9]+):(.*)$","i")],ls,pi,us,Yo,pf,vp,kc=class{constructor(e,t,r){y(this,us);g(this,"provider");g(this,"address");g(this,"name");y(this,ls,void 0);y(this,pi,void 0);I(this,{provider:e,address:t,name:r}),h(this,ls,null),h(this,pi,new xt(t,["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)"],e))}async supportsWildcard(){return f(this,ls)==null&&h(this,ls,(async()=>{try{return await f(this,pi).supportsInterface("0x9061b923")}catch(e){if(oe(e,"CALL_EXCEPTION"))return!1;throw h(this,ls,null),e}})()),await f(this,ls)}async getAddress(e){if(e==null&&(e=60),e===60)try{let i=await R(this,us,Yo).call(this,"addr(bytes32)");return i==null||i===ur?null:i}catch(i){if(oe(i,"CALL_EXCEPTION"))return null;throw i}if(e>=0&&e<2147483648){let i=e+2147483648,o=await R(this,us,Yo).call(this,"addr(bytes32,uint)",[i]);if(q(o,20))return V(o)}let t=null;for(let i of this.provider.plugins)if(i instanceof Xo&&i.supportsCoinType(e)){t=i;break}if(t==null)return null;let r=await R(this,us,Yo).call(this,"addr(bytes32,uint)",[e]);if(r==null||r==="0x")return null;let s=await t.decodeAddress(e,r);if(s!=null)return s;E(!1,"invalid coin data","UNSUPPORTED_OPERATION",{operation:`getAddress(${e})`,info:{coinType:e,data:r}})}async getText(e){let t=await R(this,us,Yo).call(this,"text(bytes32,string)",[e]);return t==null||t==="0x"?null:t}async getContentHash(){let e=await R(this,us,Yo).call(this,"contenthash(bytes32)");if(e==null||e==="0x")return null;let t=e.match(/^0x(e3010170|e5010172)(([0-9a-f][0-9a-f])([0-9a-f][0-9a-f])([0-9a-f]*))$/);if(t){let s=t[1]==="e3010170"?"ipfs":"ipns",i=parseInt(t[4],16);if(t[5].length===i*2)return`${s}://${Ss("0x"+t[2])}`}let r=e.match(/^0xe40101fa011b20([0-9a-f]*)$/);if(r&&r[1].length===64)return`bzz://${r[1]}`;E(!1,"invalid or unsupported content hash data","UNSUPPORTED_OPERATION",{operation:"getContentHash()",info:{data:e}})}async getAvatar(){return(await this._getAvatar()).url}async _getAvatar(){let e=[{type:"name",value:this.name}];try{let t=await this.getText("avatar");if(t==null)return e.push({type:"!avatar",value:""}),{url:null,linkage:e};e.push({type:"avatar",value:t});for(let r=0;r<Rp.length;r++){let s=t.match(Rp[r]);if(s==null)continue;let i=s[1].toLowerCase();switch(i){case"https":case"data":return e.push({type:"url",value:t}),{linkage:e,url:t};case"ipfs":{let o=Ru(t);return e.push({type:"ipfs",value:t}),e.push({type:"url",value:o}),{linkage:e,url:o}}case"erc721":case"erc1155":{let o=i==="erc721"?"tokenURI(uint256)":"uri(uint256)";e.push({type:i,value:t});let a=await this.getAddress();if(a==null)return e.push({type:"!owner",value:""}),{url:null,linkage:e};let c=(s[2]||"").split("/");if(c.length!==2)return e.push({type:`!${i}caip`,value:s[2]||""}),{url:null,linkage:e};let l=c[1],u=new xt(c[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(i==="erc721"){let A=await u.ownerOf(l);if(a!==A)return e.push({type:"!owner",value:A}),{url:null,linkage:e};e.push({type:"owner",value:A})}else if(i==="erc1155"){let A=await u.balanceOf(a,l);if(!A)return e.push({type:"!balance",value:"0"}),{url:null,linkage:e};e.push({type:"balance",value:A.toString()})}let d=await u[o](l);if(d==null||d==="0x")return e.push({type:"!metadata-url",value:""}),{url:null,linkage:e};e.push({type:"metadata-url-base",value:d}),i==="erc1155"&&(d=d.replace("{id}",Se(l,32).substring(2)),e.push({type:"metadata-url-expanded",value:d})),d.match(/^ipfs:/i)&&(d=Ru(d)),e.push({type:"metadata-url",value:d});let b={},w=await new ce(d).send();w.assertOk();try{b=w.bodyJson}catch{try{e.push({type:"!metadata",value:w.bodyText})}catch{let B=w.body;return B&&e.push({type:"!metadata",value:T(B)}),{url:null,linkage:e}}return{url:null,linkage:e}}if(!b)return e.push({type:"!metadata",value:""}),{url:null,linkage:e};e.push({type:"metadata",value:JSON.stringify(b)});let k=b.image;if(typeof k!="string")return e.push({type:"!imageUrl",value:""}),{url:null,linkage:e};if(!k.match(/^(https:\/\/|data:)/i)){if(k.match(Tp)==null)return e.push({type:"!imageUrl-ipfs",value:k}),{url:null,linkage:e};e.push({type:"imageUrl-ipfs",value:k}),k=Ru(k)}return e.push({type:"url",value:k}),{linkage:e,url:k}}}}}catch{}return{linkage:e,url:null}}static async getEnsAddress(e){let t=await e.getNetwork(),r=t.getPlugin("org.ethers.plugins.network.Ens");return E(r,"network does not support ENS","UNSUPPORTED_OPERATION",{operation:"getEnsAddress",info:{network:t}}),r.address}static async fromName(e,t){var s;let r=t;for(;;){if(r===""||r==="."||t!=="eth"&&r==="eth")return null;let i=await R(s=kc,pf,vp).call(s,e,r);if(i!=null){let o=new kc(e,i,t);return r!==t&&!await o.supportsWildcard()?null:o}r=r.split(".").slice(1).join(".")}}},Nn=kc;ls=new WeakMap,pi=new WeakMap,us=new WeakSet,Yo=async function(e,t){t=(t||[]).slice();let r=f(this,pi).interface;t.unshift(ts(this.name));let s=null;await this.supportsWildcard()&&(s=r.getFunction(e),E(s,"missing fragment","UNKNOWN_ERROR",{info:{funcName:e}}),t=[dc(this.name,255),r.encodeFunctionData(s,t)],e="resolve(bytes,bytes)"),t.push({enableCcipRead:!0});try{let i=await f(this,pi)[e](...t);return s?r.decodeFunctionResult(s,i)[0]:i}catch(i){if(!oe(i,"CALL_EXCEPTION"))throw i}return null},pf=new WeakSet,vp=async function(e,t){let r=await kc.getEnsAddress(e);try{let i=await new xt(r,["function resolver(bytes32) view returns (address)"],e).resolver(ts(t),{enableCcipRead:!0});return i===ur?null:i}catch(s){throw s}return null},y(Nn,pf);p();m();var Ip=BigInt(0);function te(n,e){return function(t){return t==null?e:n(t)}}function mf(n,e){return t=>{if(e&&t==null)return null;if(!Array.isArray(t))throw new Error("not an array");return t.map(r=>n(r))}}function Nc(n,e){return t=>{let r={};for(let s in n){let i=s;if(e&&s in e&&!(i in t)){for(let o of e[s])if(o in t){i=o;break}}try{let o=n[s](t[i]);o!==void 0&&(r[s]=o)}catch(o){let a=o instanceof Error?o.message:"not-an-error";E(!1,`invalid value for value.${s} (${a})`,"BAD_DATA",{value:t})}}return r}}function I1(n){switch(n){case!0:case"true":return!0;case!1:case"false":return!1}x(!1,`invalid boolean; ${JSON.stringify(n)}`,"value",n)}function $o(n){return x(q(n,!0),"invalid data","value",n),n}function Qe(n){return x(q(n,32),"invalid hash","value",n),n}var C1=Nc({address:V,blockHash:Qe,blockNumber:H,data:$o,index:H,removed:te(I1,!1),topics:mf(Qe),transactionHash:Qe,transactionIndex:H},{index:["logIndex"]});function Cp(n){return C1(n)}var O1=Nc({hash:te(Qe),parentHash:Qe,parentBeaconBlockRoot:te(Qe,null),number:H,timestamp:H,nonce:te($o),difficulty:U,gasLimit:U,gasUsed:U,stateRoot:te(Qe,null),receiptsRoot:te(Qe,null),blobGasUsed:te(U,null),excessBlobGas:te(U,null),miner:te(V),prevRandao:te(Qe,null),extraData:$o,baseFeePerGas:te(U)},{prevRandao:["mixHash"]});function Op(n){let e=O1(n);return e.transactions=n.transactions.map(t=>typeof t=="string"?t:Tu(t)),e}var S1=Nc({transactionIndex:H,blockNumber:H,transactionHash:Qe,address:V,topics:mf(Qe),data:$o,index:H,blockHash:Qe},{index:["logIndex"]});function U1(n){return S1(n)}var L1=Nc({to:te(V,null),from:te(V,null),contractAddress:te(V,null),index:H,root:te(T),gasUsed:U,blobGasUsed:te(U,null),logsBloom:te($o),blockHash:Qe,hash:Qe,logs:mf(U1),blockNumber:H,cumulativeGasUsed:U,effectiveGasPrice:te(U),blobGasPrice:te(U,null),status:te(H),type:te(H,0)},{effectiveGasPrice:["gasPrice"],hash:["transactionHash"],index:["transactionIndex"]});function Sp(n){return L1(n)}function Tu(n){n.to&&U(n.to)===Ip&&(n.to="0x0000000000000000000000000000000000000000");let e=Nc({hash:Qe,index:te(H,void 0),type:t=>t==="0x"||t==null?0:H(t),accessList:te(_e,null),blobVersionedHashes:te(mf(Qe,!0),null),blockHash:te(Qe,null),blockNumber:te(H,null),transactionIndex:te(H,null),from:V,gasPrice:te(U),maxPriorityFeePerGas:te(U),maxFeePerGas:te(U),maxFeePerBlobGas:te(U,null),gasLimit:U,to:te(V,null),value:U,nonce:H,data:$o,creates:te(V,null),chainId:te(U,null)},{data:["input"],gasLimit:["gas"],index:["transactionIndex"]})(n);if(e.to==null&&e.creates==null&&(e.creates=ti(e)),(n.type===1||n.type===2)&&n.accessList==null&&(e.accessList=[]),n.signature?e.signature=Me.from(n.signature):e.signature=Me.from(n),e.chainId==null){let t=e.signature.legacyChainId;t!=null&&(e.chainId=t)}return e.blockHash&&U(e.blockHash)===Ip&&(e.blockHash=null),e}p();m();p();m();var D1="0x00000000000C2E074eC69A0dFb2997BA6C7d2e1e",Rt=class{constructor(e){g(this,"name");I(this,{name:e})}clone(){return new Rt(this.name)}},Ir=class extends Rt{constructor(t,r){t==null&&(t=0);super(`org.ethers.network.plugins.GasCost#${t||0}`);g(this,"effectiveBlock");g(this,"txBase");g(this,"txCreate");g(this,"txDataZero");g(this,"txDataNonzero");g(this,"txAccessListStorageKey");g(this,"txAccessListAddress");let s={effectiveBlock:t};function i(o,a){let c=(r||{})[o];c==null&&(c=a),x(typeof c=="number",`invalud value for ${o}`,"costs",r),s[o]=c}i("txBase",21e3),i("txCreate",32e3),i("txDataZero",4),i("txDataNonzero",16),i("txAccessListStorageKey",1900),i("txAccessListAddress",2400),I(this,s)}clone(){return new Ir(this.effectiveBlock,this)}},Cr=class extends Rt{constructor(t,r){super("org.ethers.plugins.network.Ens");g(this,"address");g(this,"targetNetwork");I(this,{address:t||D1,targetNetwork:r??1})}clone(){return new Cr(this.address,this.targetNetwork)}},mi,vu=class extends Rt{constructor(t){super("org.ethers.plugins.network.FeeData");y(this,mi,void 0);h(this,mi,t)}get feeDataFunc(){return f(this,mi)}async getFeeData(t){return await f(this,mi).call(this,t)}clone(){return new vu(f(this,mi))}},Pc=vu;mi=new WeakMap;var Bc,Rc,bi=class extends Rt{constructor(t,r){super("org.ethers.plugins.network.FetchUrlFeeDataPlugin");y(this,Bc,void 0);y(this,Rc,void 0);h(this,Bc,t),h(this,Rc,r)}get url(){return f(this,Bc)}get processFunc(){return f(this,Rc)}clone(){return this}};Bc=new WeakMap,Rc=new WeakMap;var Iu=new Map,ta,ra,ds,ea=class{constructor(e,t){y(this,ta,void 0);y(this,ra,void 0);y(this,ds,void 0);h(this,ta,e),h(this,ra,U(t)),h(this,ds,new Map)}toJSON(){return{name:this.name,chainId:String(this.chainId)}}get name(){return f(this,ta)}set name(e){h(this,ta,e)}get chainId(){return f(this,ra)}set chainId(e){h(this,ra,U(e,"chainId"))}matches(e){if(e==null)return!1;if(typeof e=="string"){try{return this.chainId===U(e)}catch{}return this.name===e}if(typeof e=="number"||typeof e=="bigint"){try{return this.chainId===U(e)}catch{}return!1}if(typeof e=="object"){if(e.chainId!=null){try{return this.chainId===U(e.chainId)}catch{}return!1}return e.name!=null?this.name===e.name:!1}return!1}get plugins(){return Array.from(f(this,ds).values())}attachPlugin(e){if(f(this,ds).get(e.name))throw new Error(`cannot replace existing plugin: ${e.name} `);return f(this,ds).set(e.name,e.clone()),this}getPlugin(e){return f(this,ds).get(e)||null}getPlugins(e){return this.plugins.filter(t=>t.name.split("#")[0]===e)}clone(){let e=new ea(this.name,this.chainId);return this.plugins.forEach(t=>{e.attachPlugin(t.clone())}),e}computeIntrinsicGas(e){let t=this.getPlugin("org.ethers.plugins.network.GasCost")||new Ir,r=t.txBase;if(e.to==null&&(r+=t.txCreate),e.data)for(let s=2;s<e.data.length;s+=2)e.data.substring(s,s+2)==="00"?r+=t.txDataZero:r+=t.txDataNonzero;if(e.accessList){let s=_e(e.accessList);for(let i in s)r+=t.txAccessListAddress+t.txAccessListStorageKey*s[i].storageKeys.length}return r}static from(e){if(F1(),e==null)return ea.from("mainnet");if(typeof e=="number"&&(e=BigInt(e)),typeof e=="string"||typeof e=="bigint"){let t=Iu.get(e);if(t)return t();if(typeof e=="bigint")return new ea("unknown",e);x(!1,"unknown network","network",e)}if(typeof e.clone=="function")return e.clone();if(typeof e=="object"){x(typeof e.name=="string"&&typeof e.chainId=="number","invalid network object name or chainId","network",e);let t=new ea(e.name,e.chainId);return(e.ensAddress||e.ensNetwork!=null)&&t.attachPlugin(new Cr(e.ensAddress,e.ensNetwork)),t}x(!1,"invalid network","network",e)}static register(e,t){typeof e=="number"&&(e=BigInt(e));let r=Iu.get(e);r&&x(!1,`conflicting network for ${JSON.stringify(r.name)}`,"nameOrChainId",e),Iu.set(e,t)}},$=ea;ta=new WeakMap,ra=new WeakMap,ds=new WeakMap;function Up(n,e){let t=String(n);if(!t.match(/^[0-9.]+$/))throw new Error(`invalid gwei value: ${n}`);let r=t.split(".");if(r.length===1&&r.push(""),r.length!==2)throw new Error(`invalid gwei value: ${n}`);for(;r[1].length<e;)r[1]+="0";if(r[1].length>9){let s=BigInt(r[1].substring(0,9));r[1].substring(9).match(/^0+$/)||s++,r[1]=s.toString()}return BigInt(r[0]+r[1])}function Lp(n){return new bi(n,async(e,t,r)=>{r.setHeader("User-Agent","ethers");let s;try{let[i,o]=await Promise.all([r.send(),e()]);s=i;let a=s.bodyJson.standard;return{gasPrice:o.gasPrice,maxFeePerGas:Up(a.maxFee,9),maxPriorityFeePerGas:Up(a.maxPriorityFee,9)}}catch(i){E(!1,`error encountered with polygon gas station (${JSON.stringify(r.url)})`,"SERVER_ERROR",{request:r,response:s,error:i})}})}var Dp=!1;function F1(){if(Dp)return;Dp=!0;function n(e,t,r){let s=function(){let i=new $(e,t);return r.ensNetwork!=null&&i.attachPlugin(new Cr(null,r.ensNetwork)),i.attachPlugin(new Ir),(r.plugins||[]).forEach(o=>{i.attachPlugin(o)}),i};$.register(e,s),$.register(t,s),r.altNames&&r.altNames.forEach(i=>{$.register(i,s)})}n("mainnet",1,{ensNetwork:1,altNames:["homestead"]}),n("ropsten",3,{ensNetwork:3}),n("rinkeby",4,{ensNetwork:4}),n("goerli",5,{ensNetwork:5}),n("kovan",42,{ensNetwork:42}),n("sepolia",11155111,{ensNetwork:11155111}),n("holesky",17e3,{ensNetwork:17e3}),n("classic",61,{}),n("classicKotti",6,{}),n("arbitrum",42161,{ensNetwork:1}),n("arbitrum-goerli",421613,{}),n("arbitrum-sepolia",421614,{}),n("base",8453,{ensNetwork:1}),n("base-goerli",84531,{}),n("base-sepolia",84532,{}),n("bnb",56,{ensNetwork:1}),n("bnbt",97,{}),n("linea",59144,{ensNetwork:1}),n("linea-goerli",59140,{}),n("linea-sepolia",59141,{}),n("matic",137,{ensNetwork:1,plugins:[Lp("https://gasstation.polygon.technology/v2")]}),n("matic-amoy",80002,{}),n("matic-mumbai",80001,{altNames:["maticMumbai","maticmum"],plugins:[Lp("https://gasstation-testnet.polygon.technology/v2")]}),n("optimism",10,{ensNetwork:1,plugins:[]}),n("optimism-goerli",420,{}),n("optimism-sepolia",11155420,{}),n("xdai",100,{ensNetwork:1})}p();m();function Cu(n){return JSON.parse(JSON.stringify(n))}var Pn,Ht,hs,Or,na,bf,gf=class{constructor(e){y(this,na);y(this,Pn,void 0);y(this,Ht,void 0);y(this,hs,void 0);y(this,Or,void 0);h(this,Pn,e),h(this,Ht,null),h(this,hs,4e3),h(this,Or,-2)}get pollingInterval(){return f(this,hs)}set pollingInterval(e){h(this,hs,e)}start(){f(this,Ht)||(h(this,Ht,f(this,Pn)._setTimeout(R(this,na,bf).bind(this),f(this,hs))),R(this,na,bf).call(this))}stop(){!f(this,Ht)||(f(this,Pn)._clearTimeout(f(this,Ht)),h(this,Ht,null))}pause(e){this.stop(),e&&h(this,Or,-2)}resume(){this.start()}};Pn=new WeakMap,Ht=new WeakMap,hs=new WeakMap,Or=new WeakMap,na=new WeakSet,bf=async function(){try{let e=await f(this,Pn).getBlockNumber();if(f(this,Or)===-2){h(this,Or,e);return}if(e!==f(this,Or)){for(let t=f(this,Or)+1;t<=e;t++){if(f(this,Ht)==null)return;await f(this,Pn).emit("block",t)}h(this,Or,e)}}catch{}f(this,Ht)!=null&&h(this,Ht,f(this,Pn)._setTimeout(R(this,na,bf).bind(this),f(this,hs)))};var gi,yi,xs,Tc=class{constructor(e){y(this,gi,void 0);y(this,yi,void 0);y(this,xs,void 0);h(this,gi,e),h(this,xs,!1),h(this,yi,t=>{this._poll(t,f(this,gi))})}async _poll(e,t){throw new Error("sub-classes must override this")}start(){f(this,xs)||(h(this,xs,!0),f(this,yi).call(this,-2),f(this,gi).on("block",f(this,yi)))}stop(){!f(this,xs)||(h(this,xs,!1),f(this,gi).off("block",f(this,yi)))}pause(e){this.stop()}resume(){this.start()}};gi=new WeakMap,yi=new WeakMap,xs=new WeakMap;var sa,Bn,yf=class extends Tc{constructor(t,r){super(t);y(this,sa,void 0);y(this,Bn,void 0);h(this,sa,r),h(this,Bn,-2)}pause(t){t&&h(this,Bn,-2),super.pause(t)}async _poll(t,r){let s=await r.getBlock(f(this,sa));s!=null&&(f(this,Bn)===-2?h(this,Bn,s.number):s.number>f(this,Bn)&&(r.emit(f(this,sa),s.number),h(this,Bn,s.number)))}};sa=new WeakMap,Bn=new WeakMap;var vc,wf=class extends Tc{constructor(t,r){super(t);y(this,vc,void 0);h(this,vc,Cu(r))}async _poll(t,r){throw new Error("@TODO")}};vc=new WeakMap;var ia,Af=class extends Tc{constructor(t,r){super(t);y(this,ia,void 0);h(this,ia,r)}async _poll(t,r){let s=await r.getTransactionReceipt(f(this,ia));s&&r.emit(f(this,ia),s)}};ia=new WeakMap;var Rn,oa,aa,ps,_t,Ef,Fp,ms=class{constructor(e,t){y(this,Ef);y(this,Rn,void 0);y(this,oa,void 0);y(this,aa,void 0);y(this,ps,void 0);y(this,_t,void 0);h(this,Rn,e),h(this,oa,Cu(t)),h(this,aa,R(this,Ef,Fp).bind(this)),h(this,ps,!1),h(this,_t,-2)}start(){f(this,ps)||(h(this,ps,!0),f(this,_t)===-2&&f(this,Rn).getBlockNumber().then(e=>{h(this,_t,e)}),f(this,Rn).on("block",f(this,aa)))}stop(){!f(this,ps)||(h(this,ps,!1),f(this,Rn).off("block",f(this,aa)))}pause(e){this.stop(),e&&h(this,_t,-2)}resume(){this.start()}};Rn=new WeakMap,oa=new WeakMap,aa=new WeakMap,ps=new WeakMap,_t=new WeakMap,Ef=new WeakSet,Fp=async function(e){if(f(this,_t)===-2)return;let t=Cu(f(this,oa));t.fromBlock=f(this,_t)+1,t.toBlock=e;let r=await f(this,Rn).getLogs(t);if(r.length===0){f(this,_t)<e-60&&h(this,_t,e-60);return}for(let s of r)f(this,Rn).emit(f(this,oa),s),h(this,_t,s.blockNumber)};var M1=BigInt(2),G1=10;function kf(n){return n&&typeof n.then=="function"}function Nf(n,e){return n+":"+JSON.stringify(e,(t,r)=>{if(r==null)return"null";if(typeof r=="bigint")return`bigint:${r.toString()}`;if(typeof r=="string")return r.toLowerCase();if(typeof r=="object"&&!Array.isArray(r)){let s=Object.keys(r);return s.sort(),s.reduce((i,o)=>(i[o]=r[o],i),{})}return r})}var yr=class{constructor(e){g(this,"name");I(this,{name:e})}start(){}stop(){}pause(e){}resume(){}};function H1(n){return JSON.parse(JSON.stringify(n))}function Uu(n){return n=Array.from(new Set(n).values()),n.sort(),n}async function Ou(n,e){if(n==null)throw new Error("invalid event");if(Array.isArray(n)&&(n={topics:n}),typeof n=="string")switch(n){case"block":case"debug":case"error":case"finalized":case"network":case"pending":case"safe":return{type:n,tag:n}}if(q(n,32)){let t=n.toLowerCase();return{type:"transaction",tag:Nf("tx",{hash:t}),hash:t}}if(n.orphan){let t=n;return{type:"orphan",tag:Nf("orphan",t),filter:H1(t)}}if(n.address||n.topics){let t=n,r={topics:(t.topics||[]).map(s=>s==null?null:Array.isArray(s)?Uu(s.map(i=>i.toLowerCase())):s.toLowerCase())};if(t.address){let s=[],i=[],o=a=>{q(a)?s.push(a):i.push((async()=>{s.push(await be(a,e))})())};Array.isArray(t.address)?t.address.forEach(o):o(t.address),i.length&&await Promise.all(i),r.address=Uu(s.map(a=>a.toLowerCase()))}return{filter:r,tag:Nf("event",r),type:"event"}}x(!1,"unknown ProviderEvent","event",n)}function Su(){return new Date().getTime()}var _1={cacheTimeout:250,pollingInterval:4e3},$e,bs,et,ca,vt,wi,gs,Tn,Oc,Vt,fa,la,at,Tt,Sc,Lu,Uc,Du,Ai,Ic,Lc,Fu,Ei,Cc,ua,Pf,Qt=class{constructor(e,t){y(this,at);y(this,Sc);y(this,Uc);y(this,Ai);y(this,Lc);y(this,Ei);y(this,ua);y(this,$e,void 0);y(this,bs,void 0);y(this,et,void 0);y(this,ca,void 0);y(this,vt,void 0);y(this,wi,void 0);y(this,gs,void 0);y(this,Tn,void 0);y(this,Oc,void 0);y(this,Vt,void 0);y(this,fa,void 0);y(this,la,void 0);if(h(this,la,Object.assign({},_1,t||{})),e==="any")h(this,wi,!0),h(this,vt,null);else if(e){let r=$.from(e);h(this,wi,!1),h(this,vt,Promise.resolve(r)),setTimeout(()=>{this.emit("network",r,null)},0)}else h(this,wi,!1),h(this,vt,null);h(this,Tn,-1),h(this,gs,new Map),h(this,$e,new Map),h(this,bs,new Map),h(this,et,null),h(this,ca,!1),h(this,Oc,1),h(this,Vt,new Map),h(this,fa,!1)}get pollingInterval(){return f(this,la).pollingInterval}get provider(){return this}get plugins(){return Array.from(f(this,bs).values())}attachPlugin(e){if(f(this,bs).get(e.name))throw new Error(`cannot replace existing plugin: ${e.name} `);return f(this,bs).set(e.name,e.connect(this)),this}getPlugin(e){return f(this,bs).get(e)||null}get disableCcipRead(){return f(this,fa)}set disableCcipRead(e){h(this,fa,!!e)}async ccipReadFetch(e,t,r){if(this.disableCcipRead||r.length===0||e.to==null)return null;let s=e.to.toLowerCase(),i=t.toLowerCase(),o=[];for(let a=0;a<r.length;a++){let c=r[a],l=c.replace("{sender}",s).replace("{data}",i),u=new ce(l);c.indexOf("{data}")===-1&&(u.body={data:i,sender:s}),this.emit("debug",{action:"sendCcipReadFetchRequest",request:u,index:a,urls:r});let d="unknown error",b;try{b=await u.send()}catch(w){o.push(w.message),this.emit("debug",{action:"receiveCcipReadFetchError",request:u,result:{error:w}});continue}try{let w=b.bodyJson;if(w.data)return this.emit("debug",{action:"receiveCcipReadFetchResult",request:u,result:w}),w.data;w.message&&(d=w.message),this.emit("debug",{action:"receiveCcipReadFetchError",request:u,result:w})}catch{}E(b.statusCode<400||b.statusCode>=500,`response not found during CCIP fetch: ${d}`,"OFFCHAIN_FAULT",{reason:"404_MISSING_RESOURCE",transaction:e,info:{url:c,errorMessage:d}}),o.push(d)}E(!1,`error encountered during CCIP fetch: ${o.map(a=>JSON.stringify(a)).join(", ")}`,"OFFCHAIN_FAULT",{reason:"500_SERVER_ERROR",transaction:e,info:{urls:r,errorMessages:o}})}_wrapBlock(e,t){return new li(Op(e),this)}_wrapLog(e,t){return new Pt(Cp(e),this)}_wrapTransactionReceipt(e,t){return new wn(Sp(e),this)}_wrapTransactionResponse(e,t){return new vr(Tu(e),this)}_detectNetwork(){E(!1,"sub-classes must implement this","UNSUPPORTED_OPERATION",{operation:"_detectNetwork"})}async _perform(e){E(!1,`unsupported method: ${e.method}`,"UNSUPPORTED_OPERATION",{operation:e.method,info:e})}async getBlockNumber(){let e=H(await R(this,at,Tt).call(this,{method:"getBlockNumber"}),"%response");return f(this,Tn)>=0&&h(this,Tn,e),e}_getAddress(e){return be(e,this)}_getBlockTag(e){if(e==null)return"latest";switch(e){case"earliest":return"0x0";case"finalized":case"latest":case"pending":case"safe":return e}if(q(e))return q(e,32)?e:lt(e);if(typeof e=="bigint"&&(e=H(e,"blockTag")),typeof e=="number")return e>=0?lt(e):f(this,Tn)>=0?lt(f(this,Tn)+e):this.getBlockNumber().then(t=>lt(t+e));x(!1,"invalid blockTag","blockTag",e)}_getFilter(e){let t=(e.topics||[]).map(c=>c==null?null:Array.isArray(c)?Uu(c.map(l=>l.toLowerCase())):c.toLowerCase()),r="blockHash"in e?e.blockHash:void 0,s=(c,l,u)=>{let d;switch(c.length){case 0:break;case 1:d=c[0];break;default:c.sort(),d=c}if(r&&(l!=null||u!=null))throw new Error("invalid filter");let b={};return d&&(b.address=d),t.length&&(b.topics=t),l&&(b.fromBlock=l),u&&(b.toBlock=u),r&&(b.blockHash=r),b},i=[];if(e.address)if(Array.isArray(e.address))for(let c of e.address)i.push(this._getAddress(c));else i.push(this._getAddress(e.address));let o;"fromBlock"in e&&(o=this._getBlockTag(e.fromBlock));let a;return"toBlock"in e&&(a=this._getBlockTag(e.toBlock)),i.filter(c=>typeof c!="string").length||o!=null&&typeof o!="string"||a!=null&&typeof a!="string"?Promise.all([Promise.all(i),o,a]).then(c=>s(c[0],c[1],c[2])):s(i,o,a)}_getTransactionRequest(e){let t=Gt(e),r=[];if(["to","from"].forEach(s=>{if(t[s]==null)return;let i=be(t[s],this);kf(i)?r.push(async function(){t[s]=await i}()):t[s]=i}),t.blockTag!=null){let s=this._getBlockTag(t.blockTag);kf(s)?r.push(async function(){t.blockTag=await s}()):t.blockTag=s}return r.length?async function(){return await Promise.all(r),t}():t}async getNetwork(){if(f(this,vt)==null){let s=(async()=>{try{let i=await this._detectNetwork();return this.emit("network",i,null),i}catch(i){throw f(this,vt)===s&&h(this,vt,null),i}})();return h(this,vt,s),(await s).clone()}let e=f(this,vt),[t,r]=await Promise.all([e,this._detectNetwork()]);return t.chainId!==r.chainId&&(f(this,wi)?(this.emit("network",r,t),f(this,vt)===e&&h(this,vt,Promise.resolve(r))):E(!1,`network changed: ${t.chainId} => ${r.chainId} `,"NETWORK_ERROR",{event:"changed"})),t.clone()}async getFeeData(){let e=await this.getNetwork(),t=async()=>{let{_block:s,gasPrice:i,priorityFee:o}=await ue({_block:R(this,Lc,Fu).call(this,"latest",!1),gasPrice:(async()=>{try{let u=await R(this,at,Tt).call(this,{method:"getGasPrice"});return U(u,"%response")}catch{}return null})(),priorityFee:(async()=>{try{let u=await R(this,at,Tt).call(this,{method:"getPriorityFee"});return U(u,"%response")}catch{}return null})()}),a=null,c=null,l=this._wrapBlock(s,e);return l&&l.baseFeePerGas&&(c=o??BigInt("1000000000"),a=l.baseFeePerGas*M1+c),new as(i,a,c)},r=e.getPlugin("org.ethers.plugins.network.FetchUrlFeeDataPlugin");if(r){let s=new ce(r.url),i=await r.processFunc(t,this,s);return new as(i.gasPrice,i.maxFeePerGas,i.maxPriorityFeePerGas)}return await t()}async estimateGas(e){let t=this._getTransactionRequest(e);return kf(t)&&(t=await t),U(await R(this,at,Tt).call(this,{method:"estimateGas",transaction:t}),"%response")}async call(e){let{tx:t,blockTag:r}=await ue({tx:this._getTransactionRequest(e),blockTag:this._getBlockTag(e.blockTag)});return await R(this,Uc,Du).call(this,R(this,Sc,Lu).call(this,t,r,e.enableCcipRead?0:-1))}async getBalance(e,t){return U(await R(this,Ai,Ic).call(this,{method:"getBalance"},e,t),"%response")}async getTransactionCount(e,t){return H(await R(this,Ai,Ic).call(this,{method:"getTransactionCount"},e,t),"%response")}async getCode(e,t){return T(await R(this,Ai,Ic).call(this,{method:"getCode"},e,t))}async getStorage(e,t,r){let s=U(t,"position");return T(await R(this,Ai,Ic).call(this,{method:"getStorage",position:s},e,r))}async broadcastTransaction(e){let{blockNumber:t,hash:r,network:s}=await ue({blockNumber:this.getBlockNumber(),hash:this._perform({method:"broadcastTransaction",signedTransaction:e}),network:this.getNetwork()}),i=kt.from(e);if(i.hash!==r)throw new Error("@TODO: the returned hash did not match");return this._wrapTransactionResponse(i,s).replaceableTransaction(t)}async getBlock(e,t){let{network:r,params:s}=await ue({network:this.getNetwork(),params:R(this,Lc,Fu).call(this,e,!!t)});return s==null?null:this._wrapBlock(s,r)}async getTransaction(e){let{network:t,params:r}=await ue({network:this.getNetwork(),params:R(this,at,Tt).call(this,{method:"getTransaction",hash:e})});return r==null?null:this._wrapTransactionResponse(r,t)}async getTransactionReceipt(e){let{network:t,params:r}=await ue({network:this.getNetwork(),params:R(this,at,Tt).call(this,{method:"getTransactionReceipt",hash:e})});if(r==null)return null;if(r.gasPrice==null&&r.effectiveGasPrice==null){let s=await R(this,at,Tt).call(this,{method:"getTransaction",hash:e});if(s==null)throw new Error("report this; could not find tx or effectiveGasPrice");r.effectiveGasPrice=s.gasPrice}return this._wrapTransactionReceipt(r,t)}async getTransactionResult(e){let{result:t}=await ue({network:this.getNetwork(),result:R(this,at,Tt).call(this,{method:"getTransactionResult",hash:e})});return t==null?null:T(t)}async getLogs(e){let t=this._getFilter(e);kf(t)&&(t=await t);let{network:r,params:s}=await ue({network:this.getNetwork(),params:R(this,at,Tt).call(this,{method:"getLogs",filter:t})});return s.map(i=>this._wrapLog(i,r))}_getProvider(e){E(!1,"provider cannot connect to target network","UNSUPPORTED_OPERATION",{operation:"_getProvider()"})}async getResolver(e){return await Nn.fromName(this,e)}async getAvatar(e){let t=await this.getResolver(e);return t?await t.getAvatar():null}async resolveName(e){let t=await this.getResolver(e);return t?await t.getAddress():null}async lookupAddress(e){e=V(e);let t=ts(e.substring(2).toLowerCase()+".addr.reverse");try{let r=await Nn.getEnsAddress(this),i=await new xt(r,["function resolver(bytes32) view returns (address)"],this).resolver(t);if(i==null||i===ur)return null;let a=await new xt(i,["function name(bytes32) view returns (string)"],this).name(t);return await this.resolveName(a)!==e?null:a}catch(r){if(oe(r,"BAD_DATA")&&r.value==="0x"||oe(r,"CALL_EXCEPTION"))return null;throw r}return null}async waitForTransaction(e,t,r){let s=t??1;return s===0?this.getTransactionReceipt(e):new Promise(async(i,o)=>{let a=null,c=async l=>{try{let u=await this.getTransactionReceipt(e);if(u!=null&&l-u.blockNumber+1>=s){i(u),a&&(clearTimeout(a),a=null);return}}catch(u){console.log("EEE",u)}this.once("block",c)};r!=null&&(a=setTimeout(()=>{a!=null&&(a=null,this.off("block",c),o(ee("timeout","TIMEOUT",{reason:"timeout"})))},r)),c(await this.getBlockNumber())})}async waitForBlock(e){E(!1,"not implemented yet","NOT_IMPLEMENTED",{operation:"waitForBlock"})}_clearTimeout(e){let t=f(this,Vt).get(e);!t||(t.timer&&clearTimeout(t.timer),f(this,Vt).delete(e))}_setTimeout(e,t){t==null&&(t=0);let r=jr(this,Oc)._++,s=()=>{f(this,Vt).delete(r),e()};if(this.paused)f(this,Vt).set(r,{timer:null,func:s,time:t});else{let i=setTimeout(s,t);f(this,Vt).set(r,{timer:i,func:s,time:Su()})}return r}_forEachSubscriber(e){for(let t of f(this,$e).values())e(t.subscriber)}_getSubscriber(e){switch(e.type){case"debug":case"error":case"network":return new yr(e.type);case"block":{let t=new gf(this);return t.pollingInterval=this.pollingInterval,t}case"safe":case"finalized":return new yf(this,e.type);case"event":return new ms(this,e.filter);case"transaction":return new Af(this,e.hash);case"orphan":return new wf(this,e.filter)}throw new Error(`unsupported event: ${e.type}`)}_recoverSubscriber(e,t){for(let r of f(this,$e).values())if(r.subscriber===e){r.started&&r.subscriber.stop(),r.subscriber=t,r.started&&t.start(),f(this,et)!=null&&t.pause(f(this,et));break}}async on(e,t){let r=await R(this,ua,Pf).call(this,e);return r.listeners.push({listener:t,once:!1}),r.started||(r.subscriber.start(),r.started=!0,f(this,et)!=null&&r.subscriber.pause(f(this,et))),this}async once(e,t){let r=await R(this,ua,Pf).call(this,e);return r.listeners.push({listener:t,once:!0}),r.started||(r.subscriber.start(),r.started=!0,f(this,et)!=null&&r.subscriber.pause(f(this,et))),this}async emit(e,...t){let r=await R(this,Ei,Cc).call(this,e,t);if(!r||r.listeners.length===0)return!1;let s=r.listeners.length;return r.listeners=r.listeners.filter(({listener:i,once:o})=>{let a=new Xr(this,o?null:i,e);try{i.call(this,...t,a)}catch{}return!o}),r.listeners.length===0&&(r.started&&r.subscriber.stop(),f(this,$e).delete(r.tag)),s>0}async listenerCount(e){if(e){let r=await R(this,Ei,Cc).call(this,e);return r?r.listeners.length:0}let t=0;for(let{listeners:r}of f(this,$e).values())t+=r.length;return t}async listeners(e){if(e){let r=await R(this,Ei,Cc).call(this,e);return r?r.listeners.map(({listener:s})=>s):[]}let t=[];for(let{listeners:r}of f(this,$e).values())t=t.concat(r.map(({listener:s})=>s));return t}async off(e,t){let r=await R(this,Ei,Cc).call(this,e);if(!r)return this;if(t){let s=r.listeners.map(({listener:i})=>i).indexOf(t);s>=0&&r.listeners.splice(s,1)}return(!t||r.listeners.length===0)&&(r.started&&r.subscriber.stop(),f(this,$e).delete(r.tag)),this}async removeAllListeners(e){if(e){let{tag:t,started:r,subscriber:s}=await R(this,ua,Pf).call(this,e);r&&s.stop(),f(this,$e).delete(t)}else for(let[t,{started:r,subscriber:s}]of f(this,$e))r&&s.stop(),f(this,$e).delete(t);return this}async addListener(e,t){return await this.on(e,t)}async removeListener(e,t){return this.off(e,t)}get destroyed(){return f(this,ca)}destroy(){this.removeAllListeners();for(let e of f(this,Vt).keys())this._clearTimeout(e);h(this,ca,!0)}get paused(){return f(this,et)!=null}set paused(e){!!e!==this.paused&&(this.paused?this.resume():this.pause(!1))}pause(e){if(h(this,Tn,-1),f(this,et)!=null){if(f(this,et)==!!e)return;E(!1,"cannot change pause type; resume first","UNSUPPORTED_OPERATION",{operation:"pause"})}this._forEachSubscriber(t=>t.pause(e)),h(this,et,!!e);for(let t of f(this,Vt).values())t.timer&&clearTimeout(t.timer),t.time=Su()-t.time}resume(){if(f(this,et)!=null){this._forEachSubscriber(e=>e.resume()),h(this,et,null);for(let e of f(this,Vt).values()){let t=e.time;t<0&&(t=0),e.time=Su(),setTimeout(e.func,t)}}}};$e=new WeakMap,bs=new WeakMap,et=new WeakMap,ca=new WeakMap,vt=new WeakMap,wi=new WeakMap,gs=new WeakMap,Tn=new WeakMap,Oc=new WeakMap,Vt=new WeakMap,fa=new WeakMap,la=new WeakMap,at=new WeakSet,Tt=async function(e){let t=f(this,la).cacheTimeout;if(t<0)return await this._perform(e);let r=Nf(e.method,e),s=f(this,gs).get(r);return s||(s=this._perform(e),f(this,gs).set(r,s),setTimeout(()=>{f(this,gs).get(r)===s&&f(this,gs).delete(r)},t)),await s},Sc=new WeakSet,Lu=async function(e,t,r){E(r<G1,"CCIP read exceeded maximum redirections","OFFCHAIN_FAULT",{reason:"TOO_MANY_REDIRECTS",transaction:Object.assign({},e,{blockTag:t,enableCcipRead:!0})});let s=Gt(e);try{return T(await this._perform({method:"call",transaction:s,blockTag:t}))}catch(i){if(!this.disableCcipRead&&Mn(i)&&i.data&&r>=0&&t==="latest"&&s.to!=null&&ne(i.data,0,4)==="0x556f1830"){let o=i.data,a=await be(s.to,this),c;try{c=J1(ne(i.data,4))}catch(d){E(!1,d.message,"OFFCHAIN_FAULT",{reason:"BAD_DATA",transaction:s,info:{data:o}})}E(c.sender.toLowerCase()===a.toLowerCase(),"CCIP Read sender mismatch","CALL_EXCEPTION",{action:"call",data:o,reason:"OffchainLookup",transaction:s,invocation:null,revert:{signature:"OffchainLookup(address,string[],bytes,bytes4,bytes)",name:"OffchainLookup",args:c.errorArgs}});let l=await this.ccipReadFetch(s,c.calldata,c.urls);E(l!=null,"CCIP Read failed to fetch data","OFFCHAIN_FAULT",{reason:"FETCH_FAILED",transaction:s,info:{data:i.data,errorArgs:c.errorArgs}});let u={to:a,data:K([c.selector,z1([l,c.extraData])])};this.emit("debug",{action:"sendCcipReadCall",transaction:u});try{let d=await R(this,Sc,Lu).call(this,u,t,r+1);return this.emit("debug",{action:"receiveCcipReadCallResult",transaction:Object.assign({},u),result:d}),d}catch(d){throw this.emit("debug",{action:"receiveCcipReadCallError",transaction:Object.assign({},u),error:d}),d}}throw i}},Uc=new WeakSet,Du=async function(e){let{value:t}=await ue({network:this.getNetwork(),value:e});return t},Ai=new WeakSet,Ic=async function(e,t,r){let s=this._getAddress(t),i=this._getBlockTag(r);return(typeof s!="string"||typeof i!="string")&&([s,i]=await Promise.all([s,i])),await R(this,Uc,Du).call(this,R(this,at,Tt).call(this,Object.assign(e,{address:s,blockTag:i})))},Lc=new WeakSet,Fu=async function(e,t){if(q(e,32))return await R(this,at,Tt).call(this,{method:"getBlock",blockHash:e,includeTransactions:t});let r=this._getBlockTag(e);return typeof r!="string"&&(r=await r),await R(this,at,Tt).call(this,{method:"getBlock",blockTag:r,includeTransactions:t})},Ei=new WeakSet,Cc=async function(e,t){let r=await Ou(e,this);return r.type==="event"&&t&&t.length>0&&t[0].removed===!0&&(r=await Ou({orphan:"drop-log",log:t[0]},this)),f(this,$e).get(r.tag)||null},ua=new WeakSet,Pf=async function(e){let t=await Ou(e,this),r=t.tag,s=f(this,$e).get(r);return s||(s={subscriber:this._getSubscriber(t),tag:r,addressableMap:new WeakMap,nameMap:new Map,started:!1,listeners:[]},f(this,$e).set(r,s)),s};function V1(n,e){try{let t=Mu(n,e);if(t)return rt(t)}catch{}return null}function Mu(n,e){if(n==="0x")return null;try{let t=H(ne(n,e,e+32)),r=H(ne(n,t,t+32));return ne(n,t+32,t+32+r)}catch{}return null}function Mp(n){let e=pe(n);if(e.length>32)throw new Error("internal; should not happen");let t=new Uint8Array(32);return t.set(e,32-e.length),t}function Q1(n){if(n.length%32===0)return n;let e=new Uint8Array(Math.ceil(n.length/32)*32);return e.set(n),e}var K1=new Uint8Array([]);function z1(n){let e=[],t=0;for(let r=0;r<n.length;r++)e.push(K1),t+=32;for(let r=0;r<n.length;r++){let s=v(n[r]);e[r]=Mp(t),e.push(Mp(s.length)),e.push(Q1(s)),t+=32+Math.ceil(s.length/32)*32}return K(e)}var Gp="0x0000000000000000000000000000000000000000000000000000000000000000";function J1(n){let e={sender:"",urls:[],calldata:"",selector:"",extraData:"",errorArgs:[]};E(ft(n)>=5*32,"insufficient OffchainLookup data","OFFCHAIN_FAULT",{reason:"insufficient OffchainLookup data"});let t=ne(n,0,32);E(ne(t,0,12)===ne(Gp,0,12),"corrupt OffchainLookup sender","OFFCHAIN_FAULT",{reason:"corrupt OffchainLookup sender"}),e.sender=ne(t,12);try{let r=[],s=H(ne(n,32,64)),i=H(ne(n,s,s+32)),o=ne(n,s+32);for(let a=0;a<i;a++){let c=V1(o,a*32);if(c==null)throw new Error("abort");r.push(c)}e.urls=r}catch{E(!1,"corrupt OffchainLookup urls","OFFCHAIN_FAULT",{reason:"corrupt OffchainLookup urls"})}try{let r=Mu(n,64);if(r==null)throw new Error("abort");e.calldata=r}catch{E(!1,"corrupt OffchainLookup calldata","OFFCHAIN_FAULT",{reason:"corrupt OffchainLookup calldata"})}E(ne(n,100,128)===ne(Gp,0,28),"corrupt OffchainLookup callbaackSelector","OFFCHAIN_FAULT",{reason:"corrupt OffchainLookup callbaackSelector"}),e.selector=ne(n,96,100);try{let r=Mu(n,128);if(r==null)throw new Error("abort");e.extraData=r}catch{E(!1,"corrupt OffchainLookup extraData","OFFCHAIN_FAULT",{reason:"corrupt OffchainLookup extraData"})}return e.errorArgs="sender,urls,calldata,selector,extraData".split(/,/).map(r=>e[r]),e}p();m();function da(n,e){if(n.provider)return n.provider;E(!1,"missing provider","UNSUPPORTED_OPERATION",{operation:e})}async function Hp(n,e){let t=Gt(e);if(t.to!=null&&(t.to=be(t.to,n)),t.from!=null){let r=t.from;t.from=Promise.all([n.getAddress(),be(r,n)]).then(([s,i])=>(x(s.toLowerCase()===i.toLowerCase(),"transaction from mismatch","tx.from",i),s))}else t.from=n.getAddress();return await ue(t)}var Kt=class{constructor(e){g(this,"provider");I(this,{provider:e||null})}async getNonce(e){return da(this,"getTransactionCount").getTransactionCount(await this.getAddress(),e)}async populateCall(e){return await Hp(this,e)}async populateTransaction(e){let t=da(this,"populateTransaction"),r=await Hp(this,e);r.nonce==null&&(r.nonce=await this.getNonce("pending")),r.gasLimit==null&&(r.gasLimit=await this.estimateGas(r));let s=await this.provider.getNetwork();if(r.chainId!=null){let o=U(r.chainId);x(o===s.chainId,"transaction chainId mismatch","tx.chainId",e.chainId)}else r.chainId=s.chainId;let i=r.maxFeePerGas!=null||r.maxPriorityFeePerGas!=null;if(r.gasPrice!=null&&(r.type===2||i)?x(!1,"eip-1559 transaction do not support gasPrice","tx",e):(r.type===0||r.type===1)&&i&&x(!1,"pre-eip-1559 transaction do not support maxFeePerGas/maxPriorityFeePerGas","tx",e),(r.type===2||r.type==null)&&r.maxFeePerGas!=null&&r.maxPriorityFeePerGas!=null)r.type=2;else if(r.type===0||r.type===1){let o=await t.getFeeData();E(o.gasPrice!=null,"network does not support gasPrice","UNSUPPORTED_OPERATION",{operation:"getGasPrice"}),r.gasPrice==null&&(r.gasPrice=o.gasPrice)}else{let o=await t.getFeeData();if(r.type==null)if(o.maxFeePerGas!=null&&o.maxPriorityFeePerGas!=null)if(r.type=2,r.gasPrice!=null){let a=r.gasPrice;delete r.gasPrice,r.maxFeePerGas=a,r.maxPriorityFeePerGas=a}else r.maxFeePerGas==null&&(r.maxFeePerGas=o.maxFeePerGas),r.maxPriorityFeePerGas==null&&(r.maxPriorityFeePerGas=o.maxPriorityFeePerGas);else o.gasPrice!=null?(E(!i,"network does not support EIP-1559","UNSUPPORTED_OPERATION",{operation:"populateTransaction"}),r.gasPrice==null&&(r.gasPrice=o.gasPrice),r.type=0):E(!1,"failed to get consistent fee data","UNSUPPORTED_OPERATION",{operation:"signer.getFeeData"});else(r.type===2||r.type===3)&&(r.maxFeePerGas==null&&(r.maxFeePerGas=o.maxFeePerGas),r.maxPriorityFeePerGas==null&&(r.maxPriorityFeePerGas=o.maxPriorityFeePerGas))}return await ue(r)}async estimateGas(e){return da(this,"estimateGas").estimateGas(await this.populateCall(e))}async call(e){return da(this,"call").call(await this.populateCall(e))}async resolveName(e){return await da(this,"resolveName").resolveName(e)}async sendTransaction(e){let t=da(this,"sendTransaction"),r=await this.populateTransaction(e);delete r.from;let s=kt.from(r);return await t.broadcastTransaction(await this.signTransaction(s))}},ha,Bf,Gu=class extends Kt{constructor(t,r){super(r);y(this,ha);g(this,"address");I(this,{address:t})}async getAddress(){return this.address}connect(t){return new Gu(this.address,t)}async signTransaction(t){R(this,ha,Bf).call(this,"transactions","signTransaction")}async signMessage(t){R(this,ha,Bf).call(this,"messages","signMessage")}async signTypedData(t,r,s){R(this,ha,Bf).call(this,"typed-data","signTypedData")}},ki=Gu;ha=new WeakSet,Bf=function(t,r){E(!1,`VoidSigner cannot sign ${t}`,"UNSUPPORTED_OPERATION",{operation:r})};p();m();var _p=new Set;function Ke(n){_p.has(n)||(_p.add(n),console.log("========= NOTICE ========="),console.log(`Request-Rate Exceeded for ${n} (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("=========================="))}p();m();p();m();p();m();p();m();function W1(n){return JSON.parse(JSON.stringify(n))}var ct,Sr,Ni,ys,Pi,xa,Dc,Hu,Fc,_u,Rf=class{constructor(e){y(this,Dc);y(this,Fc);y(this,ct,void 0);y(this,Sr,void 0);y(this,Ni,void 0);y(this,ys,void 0);y(this,Pi,void 0);y(this,xa,void 0);h(this,ct,e),h(this,Sr,null),h(this,Ni,R(this,Dc,Hu).bind(this)),h(this,ys,!1),h(this,Pi,null),h(this,xa,!1)}_subscribe(e){throw new Error("subclasses must override this")}_emitResults(e,t){throw new Error("subclasses must override this")}_recover(e){throw new Error("subclasses must override this")}start(){f(this,ys)||(h(this,ys,!0),R(this,Dc,Hu).call(this,-2))}stop(){!f(this,ys)||(h(this,ys,!1),h(this,xa,!0),R(this,Fc,_u).call(this),f(this,ct).off("block",f(this,Ni)))}pause(e){e&&R(this,Fc,_u).call(this),f(this,ct).off("block",f(this,Ni))}resume(){this.start()}};ct=new WeakMap,Sr=new WeakMap,Ni=new WeakMap,ys=new WeakMap,Pi=new WeakMap,xa=new WeakMap,Dc=new WeakSet,Hu=async function(e){try{f(this,Sr)==null&&h(this,Sr,this._subscribe(f(this,ct)));let t=null;try{t=await f(this,Sr)}catch(i){if(!oe(i,"UNSUPPORTED_OPERATION")||i.operation!=="eth_newFilter")throw i}if(t==null){h(this,Sr,null),f(this,ct)._recoverSubscriber(this,this._recover(f(this,ct)));return}let r=await f(this,ct).getNetwork();if(f(this,Pi)||h(this,Pi,r),f(this,Pi).chainId!==r.chainId)throw new Error("chaid changed");if(f(this,xa))return;let s=await f(this,ct).send("eth_getFilterChanges",[t]);await this._emitResults(f(this,ct),s)}catch(t){console.log("@TODO",t)}f(this,ct).once("block",f(this,Ni))},Fc=new WeakSet,_u=function(){let e=f(this,Sr);e&&(h(this,Sr,null),e.then(t=>{f(this,ct).destroyed||f(this,ct).send("eth_uninstallFilter",[t])}))};var Bi,Tf=class extends Rf{constructor(t,r){super(t);y(this,Bi,void 0);h(this,Bi,W1(r))}_recover(t){return new ms(t,f(this,Bi))}async _subscribe(t){return await t.send("eth_newFilter",[f(this,Bi)])}async _emitResults(t,r){for(let s of r)t.emit(f(this,Bi),t._wrapLog(s,t._network))}};Bi=new WeakMap;var vf=class extends Rf{async _subscribe(e){return await e.send("eth_newPendingTransactionFilter",[])}async _emitResults(e,t){for(let r of t)e.emit("pending",r)}};var j1="bigint,boolean,function,number,string,symbol".split(/,/g);function If(n){if(n==null||j1.indexOf(typeof n)>=0||typeof n.getAddress=="function")return n;if(Array.isArray(n))return n.map(If);if(typeof n=="object")return Object.keys(n).reduce((e,t)=>(e[t]=n[t],e),{});throw new Error(`should not happen: ${n} (${typeof n})`)}function Z1(n){return new Promise(e=>{setTimeout(e,n)})}function pa(n){return n&&n.toLowerCase()}function Vp(n){return n&&typeof n.pollingInterval=="number"}var Qp={polling:!1,staticNetwork:null,batchStallTime:10,batchMaxSize:1<<20,batchMaxCount:100,cacheTimeout:250,pollingInterval:4e3},As=class extends Kt{constructor(t,r){super(t);g(this,"address");r=V(r),I(this,{address:r})}connect(t){E(!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 r=If(t),s=[];if(r.from){let o=r.from;s.push((async()=>{let a=await be(o,this.provider);x(a!=null&&a.toLowerCase()===this.address.toLowerCase(),"from address mismatch","transaction",t),r.from=a})())}else r.from=this.address;if(r.gasLimit==null&&s.push((async()=>{r.gasLimit=await this.provider.estimateGas({...r,from:this.address})})()),r.to!=null){let o=r.to;s.push((async()=>{r.to=await be(o,this.provider)})())}s.length&&await Promise.all(s);let i=this.provider.getRpcTransaction(r);return this.provider.send("eth_sendTransaction",[i])}async sendTransaction(t){let r=await this.provider.getBlockNumber(),s=await this.sendUncheckedTransaction(t);return await new Promise((i,o)=>{let a=[1e3,100],c=0,l=async()=>{try{let u=await this.provider.getTransaction(s);if(u!=null){i(u.replaceableTransaction(r));return}}catch(u){if(oe(u,"CANCELLED")||oe(u,"BAD_DATA")||oe(u,"NETWORK_ERROR")||oe(u,"UNSUPPORTED_OPERATION")){u.info==null&&(u.info={}),u.info.sendTransactionHash=s,o(u);return}if(oe(u,"INVALID_ARGUMENT")&&(c++,u.info==null&&(u.info={}),u.info.sendTransactionHash=s,c>10)){o(u);return}this.provider.emit("error",ee("failed to fetch transation after sending (will try again)","UNKNOWN_ERROR",{error:u}))}this.provider._setTimeout(()=>{l()},a.pop()||4e3)};l()})}async signTransaction(t){let r=If(t);if(r.from){let i=await be(r.from,this.provider);x(i!=null&&i.toLowerCase()===this.address.toLowerCase(),"from address mismatch","transaction",t),r.from=i}else r.from=this.address;let s=this.provider.getRpcTransaction(r);return await this.provider.send("eth_signTransaction",[s])}async signMessage(t){let r=typeof t=="string"?ae(t):t;return await this.provider.send("personal_sign",[T(r),this.address.toLowerCase()])}async signTypedData(t,r,s){let i=If(s),o=await Lt.resolveNames(t,r,i,async a=>{let c=await be(a);return x(c!=null,"TypedData does not support null address","value",a),c});return await this.provider.send("eth_signTypedData_v4",[this.address.toLowerCase(),JSON.stringify(Lt.getPayload(o.domain,r,o.value))])}async unlock(t){return this.provider.send("personal_unlockAccount",[this.address.toLowerCase(),t,null])}async _legacySignMessage(t){let r=typeof t=="string"?ae(t):t;return await this.provider.send("eth_sign",[this.address.toLowerCase(),T(r)])}},Ri,ma,vn,Ur,wr,zt,pt,Gc,Vu,Es=class extends Qt{constructor(t,r){super(t,r);y(this,Gc);y(this,Ri,void 0);y(this,ma,void 0);y(this,vn,void 0);y(this,Ur,void 0);y(this,wr,void 0);y(this,zt,void 0);y(this,pt,void 0);h(this,ma,1),h(this,Ri,Object.assign({},Qp,r||{})),h(this,vn,[]),h(this,Ur,null),h(this,zt,null),h(this,pt,null);{let i=null,o=new Promise(a=>{i=a});h(this,wr,{promise:o,resolve:i})}let s=this._getOption("staticNetwork");typeof s=="boolean"?(x(!s||t!=="any","staticNetwork cannot be used on special network 'any'","options",r),s&&t!=null&&h(this,zt,$.from(t))):s&&(x(t==null||s.matches(t),"staticNetwork MUST match network object","options",r),h(this,zt,s))}_getOption(t){return f(this,Ri)[t]}get _network(){return E(f(this,zt),"network is not available yet","NETWORK_ERROR"),f(this,zt)}async _perform(t){if(t.method==="call"||t.method==="estimateGas"){let s=t.transaction;if(s&&s.type!=null&&U(s.type)&&s.maxFeePerGas==null&&s.maxPriorityFeePerGas==null){let i=await this.getFeeData();i.maxFeePerGas==null&&i.maxPriorityFeePerGas==null&&(t=Object.assign({},t,{transaction:Object.assign({},s,{type:void 0})}))}}let r=this.getRpcRequest(t);return r!=null?await this.send(r.method,r.args):super._perform(t)}async _detectNetwork(){let t=this._getOption("staticNetwork");if(t)if(t===!0){if(f(this,zt))return f(this,zt)}else return t;return f(this,pt)?await f(this,pt):this.ready?(h(this,pt,(async()=>{try{let r=$.from(U(await this.send("eth_chainId",[])));return h(this,pt,null),r}catch(r){throw h(this,pt,null),r}})()),await f(this,pt)):(h(this,pt,(async()=>{let r={id:jr(this,ma)._++,method:"eth_chainId",params:[],jsonrpc:"2.0"};this.emit("debug",{action:"sendRpcPayload",payload:r});let s;try{s=(await this._send(r))[0],h(this,pt,null)}catch(i){throw h(this,pt,null),this.emit("debug",{action:"receiveRpcError",error:i}),i}if(this.emit("debug",{action:"receiveRpcResult",result:s}),"result"in s)return $.from(U(s.result));throw this.getRpcError(r,s)})()),await f(this,pt))}_start(){f(this,wr)==null||f(this,wr).resolve==null||(f(this,wr).resolve(),h(this,wr,null),(async()=>{for(;f(this,zt)==null&&!this.destroyed;)try{h(this,zt,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",ee("failed to bootstrap network detection","NETWORK_ERROR",{event:"initial-network-discovery",info:{error:t}})),await Z1(1e3)}R(this,Gc,Vu).call(this)})())}async _waitUntilReady(){if(f(this,wr)!=null)return await f(this,wr).promise}_getSubscriber(t){return t.type==="pending"?new vf(this):t.type==="event"?this._getOption("polling")?new ms(this,t.filter):new Tf(this,t.filter):t.type==="orphan"&&t.filter.orphan==="drop-log"?new yr("orphan"):super._getSubscriber(t)}get ready(){return f(this,wr)==null}getRpcTransaction(t){let r={};return["chainId","gasLimit","gasPrice","type","maxFeePerGas","maxPriorityFeePerGas","nonce","value"].forEach(s=>{if(t[s]==null)return;let i=s;s==="gasLimit"&&(i="gas"),r[i]=lt(U(t[s],`tx.${s}`))}),["from","to","data"].forEach(s=>{t[s]!=null&&(r[s]=T(t[s]))}),t.accessList&&(r.accessList=_e(t.accessList)),t.blobVersionedHashes&&(r.blobVersionedHashes=t.blobVersionedHashes.map(s=>s.toLowerCase())),r}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:[pa(t.address),t.blockTag]};case"getTransactionCount":return{method:"eth_getTransactionCount",args:[pa(t.address),t.blockTag]};case"getCode":return{method:"eth_getCode",args:[pa(t.address),t.blockTag]};case"getStorage":return{method:"eth_getStorageAt",args:[pa(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&&t.filter.address!=null&&(Array.isArray(t.filter.address)?t.filter.address=t.filter.address.map(pa):t.filter.address=pa(t.filter.address)),{method:"eth_getLogs",args:[t.filter]}}return null}getRpcError(t,r){let{method:s}=t,{error:i}=r;if(s==="eth_estimateGas"&&i.message){let c=i.message;if(!c.match(/revert/i)&&c.match(/insufficient funds/i))return ee("insufficient funds","INSUFFICIENT_FUNDS",{transaction:t.params[0],info:{payload:t,error:i}})}if(s==="eth_call"||s==="eth_estimateGas"){let c=Qu(i),l=Mt.getBuiltinCallException(s==="eth_call"?"call":"estimateGas",t.params[0],c?c.data:null);return l.info={error:i,payload:t},l}let o=JSON.stringify(q1(i));if(typeof i.message=="string"&&i.message.match(/user denied|ethers-user-denied/i))return ee("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"}[s]||"unknown",reason:"rejected",info:{payload:t,error:i}});if(s==="eth_sendRawTransaction"||s==="eth_sendTransaction"){let c=t.params[0];if(o.match(/insufficient funds|base fee exceeds gas limit/i))return ee("insufficient funds for intrinsic transaction cost","INSUFFICIENT_FUNDS",{transaction:c,info:{error:i}});if(o.match(/nonce/i)&&o.match(/too low/i))return ee("nonce has already been used","NONCE_EXPIRED",{transaction:c,info:{error:i}});if(o.match(/replacement transaction/i)&&o.match(/underpriced/i))return ee("replacement fee too low","REPLACEMENT_UNDERPRICED",{transaction:c,info:{error:i}});if(o.match(/only replay-protected/i))return ee("legacy pre-eip-155 transactions not supported","UNSUPPORTED_OPERATION",{operation:s,info:{transaction:c,info:{error:i}}})}let a=!!o.match(/the method .* does not exist/i);return a||i&&i.details&&i.details.startsWith("Unauthorized method:")&&(a=!0),a?ee("unsupported operation","UNSUPPORTED_OPERATION",{operation:t.method,info:{error:i,payload:t}}):ee("could not coalesce error","UNKNOWN_ERROR",{error:i,payload:t})}send(t,r){if(this.destroyed)return Promise.reject(ee("provider destroyed; cancelled request","UNSUPPORTED_OPERATION",{operation:t}));let s=jr(this,ma)._++,i=new Promise((o,a)=>{f(this,vn).push({resolve:o,reject:a,payload:{method:t,params:r,id:s,jsonrpc:"2.0"}})});return R(this,Gc,Vu).call(this),i}async getSigner(t){t==null&&(t=0);let r=this.send("eth_accounts",[]);if(typeof t=="number"){let i=await r;if(t>=i.length)throw new Error("no such account");return new As(this,i[t])}let{accounts:s}=await ue({network:this.getNetwork(),accounts:r});t=V(t);for(let i of s)if(V(i)===t)return new As(this,t);throw new Error("invalid account")}async listAccounts(){return(await this.send("eth_accounts",[])).map(r=>new As(this,r))}destroy(){f(this,Ur)&&(clearTimeout(f(this,Ur)),h(this,Ur,null));for(let{payload:t,reject:r}of f(this,vn))r(ee("provider destroyed; cancelled request","UNSUPPORTED_OPERATION",{operation:t.method}));h(this,vn,[]),super.destroy()}};Ri=new WeakMap,ma=new WeakMap,vn=new WeakMap,Ur=new WeakMap,wr=new WeakMap,zt=new WeakMap,pt=new WeakMap,Gc=new WeakSet,Vu=function(){if(f(this,Ur))return;let t=this._getOption("batchMaxCount")===1?0:this._getOption("batchStallTime");h(this,Ur,setTimeout(()=>{h(this,Ur,null);let r=f(this,vn);for(h(this,vn,[]);r.length;){let s=[r.shift()];for(;r.length&&s.length!==f(this,Ri).batchMaxCount;)if(s.push(r.shift()),JSON.stringify(s.map(o=>o.payload)).length>f(this,Ri).batchMaxSize){r.unshift(s.pop());break}(async()=>{let i=s.length===1?s[0].payload:s.map(o=>o.payload);this.emit("debug",{action:"sendRpcPayload",payload:i});try{let o=await this._send(i);this.emit("debug",{action:"receiveRpcResult",result:o});for(let{resolve:a,reject:c,payload:l}of s){if(this.destroyed){c(ee("provider destroyed; cancelled request","UNSUPPORTED_OPERATION",{operation:l.method}));continue}let u=o.filter(d=>d.id===l.id)[0];if(u==null){let d=ee("missing response for request","BAD_DATA",{value:o,info:{payload:l}});this.emit("error",d),c(d);continue}if("error"in u){c(this.getRpcError(l,u));continue}a(u.result)}}catch(o){this.emit("debug",{action:"receiveRpcError",error:o});for(let{reject:a}of s)a(o)}})()}},t))};var ws,Mc=class extends Es{constructor(t,r){super(t,r);y(this,ws,void 0);let s=this._getOption("pollingInterval");s==null&&(s=Qp.pollingInterval),h(this,ws,s)}_getSubscriber(t){let r=super._getSubscriber(t);return Vp(r)&&(r.pollingInterval=f(this,ws)),r}get pollingInterval(){return f(this,ws)}set pollingInterval(t){if(!Number.isInteger(t)||t<0)throw new Error("invalid interval");h(this,ws,t),this._forEachSubscriber(r=>{Vp(r)&&(r.pollingInterval=f(this,ws))})}};ws=new WeakMap;var ba,we=class extends Mc{constructor(t,r,s){t==null&&(t="http://localhost:8545");super(r,s);y(this,ba,void 0);typeof t=="string"?h(this,ba,new ce(t)):h(this,ba,t.clone())}_getConnection(){return f(this,ba).clone()}async send(t,r){return await this._start(),await super.send(t,r)}async _send(t){let r=this._getConnection();r.body=JSON.stringify(t),r.setHeader("content-type","application/json");let s=await r.send();s.assertOk();let i=s.bodyJson;return Array.isArray(i)||(i=[i]),i}};ba=new WeakMap;function Qu(n){if(n==null)return null;if(typeof n.message=="string"&&n.message.match(/revert/i)&&q(n.data))return{message:n.message,data:n.data};if(typeof n=="object"){for(let e in n){let t=Qu(n[e]);if(t)return t}return null}if(typeof n=="string")try{return Qu(JSON.parse(n))}catch{}return null}function Ku(n,e){if(n!=null){if(typeof n.message=="string"&&e.push(n.message),typeof n=="object")for(let t in n)Ku(n[t],e);if(typeof n=="string")try{return Ku(JSON.parse(n),e)}catch{}}}function q1(n){let e=[];return Ku(n,e),e}var Cf="9f7d929b018cdffb338517efa06f58359e86ff1ffd350bc889738523659e7972";function Y1(n){switch(n){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"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"}x(!1,"unsupported network","network",n)}var Lr=class extends we{constructor(t,r){t==null&&(t="mainnet");let s=$.from(t);r==null&&(r=Cf);let i={polling:!0,staticNetwork:s},o=Lr.getRequest(s,r);super(o,s,i);g(this,"apiKey");I(this,{apiKey:r})}_getProvider(t){try{return new Lr(t,this.apiKey)}catch{}return super._getProvider(t)}static getRequest(t,r){r==null&&(r=Cf);let s=new ce(`https://${Y1(t.name)}/${r}`);return s.allowGzip=!0,r===Cf&&(s.retryFunc=async(i,o,a)=>(Ke("AnkrProvider"),!0)),s}getRpcError(t,r){return t.method==="eth_sendRawTransaction"&&r&&r.error&&r.error.message==="INTERNAL_ERROR: could not replace existing tx"&&(r.error.message="replacement transaction underpriced"),super.getRpcError(t,r)}isCommunityResource(){return this.apiKey===Cf}};p();m();var Of="_gg7wSSi0KMBsdKnGVfHDueq6xMB9EkC";function X1(n){switch(n){case"mainnet":return"eth-mainnet.alchemyapi.io";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"}x(!1,"unsupported network","network",n)}var Dr=class extends we{constructor(t,r){t==null&&(t="mainnet");let s=$.from(t);r==null&&(r=Of);let i=Dr.getRequest(s,r);super(i,s,{staticNetwork:s});g(this,"apiKey");I(this,{apiKey:r})}_getProvider(t){try{return new Dr(t,this.apiKey)}catch{}return super._getProvider(t)}async _perform(t){if(t.method==="getTransactionResult"){let{trace:r,tx:s}=await ue({trace:this.send("trace_transaction",[t.hash]),tx:this.getTransaction(t.hash)});if(r==null||s==null)return null;let i,o=!1;try{i=r[0].result.output,o=r[0].error==="Reverted"}catch{}if(i)return E(!o,"an error occurred during transaction executions","CALL_EXCEPTION",{action:"getTransactionResult",data:i,reason:null,transaction:s,invocation:null,revert:null}),i;E(!1,"could not parse trace result","BAD_DATA",{value:r})}return await super._perform(t)}isCommunityResource(){return this.apiKey===Of}static getRequest(t,r){r==null&&(r=Of);let s=new ce(`https://${X1(t.name)}/v2/${r}`);return s.allowGzip=!0,r===Of&&(s.retryFunc=async(i,o,a)=>(Ke("alchemy"),!0)),s}};p();m();function Sf(n){switch(n){case"mainnet":return"39f1d67cedf8b7831010a665328c9197";case"arbitrum":return"0550c209db33c3abf4cc927e1e18cea1";case"bnb":return"98b5a77e531614387366f6fc5da097f8";case"matic":return"cd9d4d70377471aa7c142ec4a4205249"}x(!1,"unsupported network","network",n)}function $1(n){switch(n){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"}x(!1,"unsupported network","network",n)}var Fr=class extends we{constructor(t,r){t==null&&(t="mainnet");let s=$.from(t);r==null&&(r=Sf(s.name));let i=Fr.getRequest(s,r);super(i,s,{staticNetwork:s});g(this,"apiKey");I(this,{apiKey:r})}_getProvider(t){try{return new Fr(t,this.apiKey)}catch{}return super._getProvider(t)}isCommunityResource(){return this.apiKey===Sf(this._network.name)}static getRequest(t,r){r==null&&(r=Sf(t.name));let s=new ce(`https://${$1(t.name)}/${r}`);return s.allowGzip=!0,r===Sf(t.name)&&(s.retryFunc=async(i,o,a)=>(Ke("ChainstackProvider"),!0)),s}};p();m();var Ti=class extends we{constructor(e){e==null&&(e="mainnet");let t=$.from(e);x(t.name==="mainnet","unsupported network","network",e),super("https://cloudflare-eth.com/",t,{staticNetwork:t})}};p();m();var Kp=2e3;function ey(n){return n&&typeof n.then=="function"}var zp="org.ethers.plugins.provider.Etherscan",vi=class extends Rt{constructor(t){super(zp);g(this,"baseUrl");I(this,{baseUrl:t})}clone(){return new vi(this.baseUrl)}},ty=["enableCcipRead"],ry=1,ga,Ii=class extends Qt{constructor(t,r){let s=r??null;super();g(this,"network");g(this,"apiKey");y(this,ga,void 0);let i=$.from(t);h(this,ga,i.getPlugin(zp)),I(this,{apiKey:s,network:i}),this.getBaseUrl()}getBaseUrl(){if(f(this,ga))return f(this,ga).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";default:}x(!1,"unsupported network","network",this.network)}getUrl(t,r){let s=Object.keys(r).reduce((o,a)=>{let c=r[a];return c!=null&&(o+=`&${a}=${c}`),o},""),i=this.apiKey?`&apikey=${this.apiKey}`:"";return`${this.getBaseUrl()}/api?module=${t}${s}${i}`}getPostUrl(){return`${this.getBaseUrl()}/api`}getPostData(t,r){return r.module=t,r.apikey=this.apiKey,r}async detectNetwork(){return this.network}async fetch(t,r,s){let i=ry++,o=s?this.getPostUrl():this.getUrl(t,r),a=s?this.getPostData(t,r):null;this.emit("debug",{action:"sendRequest",id:i,url:o,payload:a});let c=new ce(o);c.setThrottleParams({slotInterval:1e3}),c.retryFunc=(d,b,w)=>(this.isCommunityResource()&&Ke("Etherscan"),Promise.resolve(!0)),c.processFunc=async(d,b)=>{let w=b.hasBody()?JSON.parse(rt(b.body)):{},k=(typeof w.result=="string"?w.result:"").toLowerCase().indexOf("rate limit")>=0;return t==="proxy"?w&&w.status==0&&w.message=="NOTOK"&&k&&(this.emit("debug",{action:"receiveError",id:i,reason:"proxy-NOTOK",error:w}),b.throwThrottleError(w.result,Kp)):k&&(this.emit("debug",{action:"receiveError",id:i,reason:"null result",error:w.result}),b.throwThrottleError(w.result,Kp)),b},a&&(c.setHeader("content-type","application/x-www-form-urlencoded; charset=UTF-8"),c.body=Object.keys(a).map(d=>`${d}=${a[d]}`).join("&"));let l=await c.send();try{l.assertOk()}catch(d){this.emit("debug",{action:"receiveError",id:i,error:d,reason:"assertOk"}),E(!1,"response error","SERVER_ERROR",{request:c,response:l})}l.hasBody()||(this.emit("debug",{action:"receiveError",id:i,error:"missing body",reason:"null body"}),E(!1,"missing response","SERVER_ERROR",{request:c,response:l}));let u=JSON.parse(rt(l.body));return t==="proxy"?(u.jsonrpc!="2.0"&&(this.emit("debug",{action:"receiveError",id:i,result:u,reason:"invalid JSON-RPC"}),E(!1,"invalid JSON-RPC response (missing jsonrpc='2.0')","SERVER_ERROR",{request:c,response:l,info:{result:u}})),u.error&&(this.emit("debug",{action:"receiveError",id:i,result:u,reason:"JSON-RPC error"}),E(!1,"error response","SERVER_ERROR",{request:c,response:l,info:{result:u}})),this.emit("debug",{action:"receiveRequest",id:i,result:u}),u.result):u.status==0&&(u.message==="No records found"||u.message==="No transactions found")?(this.emit("debug",{action:"receiveRequest",id:i,result:u}),u.result):((u.status!=1||typeof u.message=="string"&&!u.message.match(/^OK/))&&(this.emit("debug",{action:"receiveError",id:i,result:u}),E(!1,"error response","SERVER_ERROR",{request:c,response:l,info:{result:u}})),this.emit("debug",{action:"receiveRequest",id:i,result:u}),u.result)}_getTransactionPostData(t){let r={};for(let s in t){if(ty.indexOf(s)>=0||t[s]==null)continue;let i=t[s];if(!(s==="type"&&i===0)&&!(s==="blockTag"&&i==="latest")){if({type:!0,gasLimit:!0,gasPrice:!0,maxFeePerGs:!0,maxPriorityFeePerGas:!0,nonce:!0,value:!0}[s])i=lt(i);else if(s==="accessList")i="["+_e(i).map(o=>`{address:"${o.address}",storageKeys:["${o.storageKeys.join('","')}"]}`).join(",")+"]";else if(s==="blobVersionedHashes"){if(i.length===0)continue;E(!1,"Etherscan API does not support blobVersionedHashes","UNSUPPORTED_OPERATION",{operation:"_getTransactionPostData",info:{transaction:t}})}else i=T(i);r[s]=i}}return r}_checkError(t,r,s){let i="";if(oe(r,"SERVER_ERROR")){try{i=r.info.result.error.message}catch{}if(!i)try{i=r.info.message}catch{}}if(t.method==="estimateGas"&&!i.match(/revert/i)&&i.match(/insufficient funds/i)&&E(!1,"insufficient funds","INSUFFICIENT_FUNDS",{transaction:t.transaction}),(t.method==="call"||t.method==="estimateGas")&&i.match(/execution reverted/i)){let o="";try{o=r.info.result.error.data}catch{}let a=Mt.getBuiltinCallException(t.method,t.transaction,o);throw a.info={request:t,error:r},a}if(i&&t.method==="broadcastTransaction"){let o=kt.from(t.signedTransaction);i.match(/replacement/i)&&i.match(/underpriced/i)&&E(!1,"replacement fee too low","REPLACEMENT_UNDERPRICED",{transaction:o}),i.match(/insufficient funds/)&&E(!1,"insufficient funds for intrinsic transaction cost","INSUFFICIENT_FUNDS",{transaction:o}),i.match(/same hash was already imported|transaction nonce is too low|nonce too low/)&&E(!1,"nonce has already been used","NONCE_EXPIRED",{transaction:o})}throw r}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(this.network.name==="mainnet")return"1000000000";if(this.network.name==="optimism")return"1000000";throw new 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(r=>this._checkError(t,r,t.signedTransaction));case"getBlock":if("blockTag"in t)return this.fetch("proxy",{action:"eth_getBlockByNumber",tag:t.blockTag,boolean:t.includeTransactions?"true":"false"});E(!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(t.blockTag!=="latest")throw new Error("EtherscanProvider does not support blockTag for call");let r=this._getTransactionPostData(t.transaction);r.module="proxy",r.action="eth_call";try{return await this.fetch("proxy",r,!0)}catch(s){return this._checkError(t,s,t.transaction)}}case"estimateGas":{let r=this._getTransactionPostData(t.transaction);r.module="proxy",r.action="eth_estimateGas";try{return await this.fetch("proxy",r,!0)}catch(s){return this._checkError(t,s,t.transaction)}}default:break}return super._perform(t)}async getNetwork(){return this.network}async getEtherPrice(){return this.network.name!=="mainnet"?0:parseFloat((await this.fetch("stats",{action:"ethprice"})).ethusd)}async getContract(t){let r=this._getAddress(t);ey(r)&&(r=await r);try{let s=await this.fetch("contract",{action:"getabi",address:r}),i=JSON.parse(s);return new xt(r,i,this)}catch{return null}}isCommunityResource(){return this.apiKey==null}};ga=new WeakMap;p();m();p();m();p();m();function ny(){if(typeof self<"u")return self;if(typeof window<"u")return window;if(typeof globalThis<"u")return globalThis;throw new Error("unable to locate global object")}var Jp=ny().WebSocket;p();m();var Mr,Hc,ks,Ci,Ns,Bs=class{constructor(e,t){y(this,Mr,void 0);y(this,Hc,void 0);y(this,ks,void 0);y(this,Ci,void 0);y(this,Ns,void 0);h(this,Mr,e),h(this,Hc,JSON.stringify(t)),h(this,ks,null),h(this,Ci,null),h(this,Ns,null)}get filter(){return JSON.parse(f(this,Hc))}start(){h(this,ks,f(this,Mr).send("eth_subscribe",this.filter).then(e=>(f(this,Mr)._register(e,this),e)))}stop(){f(this,ks).then(e=>{f(this,Mr).destroyed||f(this,Mr).send("eth_unsubscribe",[e])}),h(this,ks,null)}pause(e){E(e,"preserve logs while paused not supported by SocketSubscriber yet","UNSUPPORTED_OPERATION",{operation:"pause(false)"}),h(this,Ci,!!e)}resume(){h(this,Ci,null)}_handleMessage(e){if(f(this,ks)!=null&&f(this,Ci)===null){let t=f(this,Ns);t==null?t=this._emit(f(this,Mr),e):t=t.then(async()=>{await this._emit(f(this,Mr),e)}),h(this,Ns,t.then(()=>{f(this,Ns)===t&&h(this,Ns,null)}))}}async _emit(e,t){throw new Error("sub-classes must implemente this; _emit")}};Mr=new WeakMap,Hc=new WeakMap,ks=new WeakMap,Ci=new WeakMap,Ns=new WeakMap;var wa=class extends Bs{constructor(e){super(e,["newHeads"])}async _emit(e,t){e.emit("block",parseInt(t.number))}},Aa=class extends Bs{constructor(e){super(e,["newPendingTransactions"])}async _emit(e,t){e.emit("pending",t)}},_c,Ea=class extends Bs{constructor(t,r){super(t,["logs",r]);y(this,_c,void 0);h(this,_c,JSON.stringify(r))}get logFilter(){return JSON.parse(f(this,_c))}async _emit(t,r){t.emit(this.logFilter,t._wrapLog(r,t._network))}};_c=new WeakMap;var Oi,ya,Ps,Si=class extends Es{constructor(t,r){let s=Object.assign({},r??{});x(s.batchMaxCount==null||s.batchMaxCount===1,"sockets-based providers do not support batches","options.batchMaxCount",r),s.batchMaxCount=1,s.staticNetwork==null&&(s.staticNetwork=!0);super(t,s);y(this,Oi,void 0);y(this,ya,void 0);y(this,Ps,void 0);h(this,Oi,new Map),h(this,ya,new Map),h(this,Ps,new Map)}_getSubscriber(t){switch(t.type){case"close":return new yr("close");case"block":return new wa(this);case"pending":return new Aa(this);case"event":return new Ea(this,t.filter);case"orphan":if(t.filter.orphan==="drop-log")return new yr("drop-log")}return super._getSubscriber(t)}_register(t,r){f(this,ya).set(t,r);let s=f(this,Ps).get(t);if(s){for(let i of s)r._handleMessage(i);f(this,Ps).delete(t)}}async _send(t){x(!Array.isArray(t),"WebSocket does not support batch send","payload",t);let r=new Promise((s,i)=>{f(this,Oi).set(t.id,{payload:t,resolve:s,reject:i})});return await this._waitUntilReady(),await this._write(JSON.stringify(t)),[await r]}async _processMessage(t){let r=JSON.parse(t);if(r&&typeof r=="object"&&"id"in r){let s=f(this,Oi).get(r.id);if(s==null){this.emit("error",ee("received result for unknown id","UNKNOWN_ERROR",{reasonCode:"UNKNOWN_ID",result:r}));return}f(this,Oi).delete(r.id),s.resolve(r)}else if(r&&r.method==="eth_subscription"){let s=r.params.subscription,i=f(this,ya).get(s);if(i)i._handleMessage(r.params.result);else{let o=f(this,Ps).get(s);o==null&&(o=[],f(this,Ps).set(s,o)),o.push(r.params.result)}}else{this.emit("error",ee("received unexpected message","UNKNOWN_ERROR",{reasonCode:"UNEXPECTED_MESSAGE",result:r}));return}}async _write(t){throw new Error("sub-classes must override this")}};Oi=new WeakMap,ya=new WeakMap,Ps=new WeakMap;var Ui,Ar,In=class extends Si{constructor(t,r,s){super(r,s);y(this,Ui,void 0);y(this,Ar,void 0);typeof t=="string"?(h(this,Ui,()=>new Jp(t)),h(this,Ar,f(this,Ui).call(this))):typeof t=="function"?(h(this,Ui,t),h(this,Ar,t())):(h(this,Ui,null),h(this,Ar,t)),this.websocket.onopen=async()=>{try{await this._start(),this.resume()}catch(i){console.log("failed to start WebsocketProvider",i)}},this.websocket.onmessage=i=>{this._processMessage(i.data)}}get websocket(){if(f(this,Ar)==null)throw new Error("websocket closed");return f(this,Ar)}async _write(t){this.websocket.send(t)}async destroy(){f(this,Ar)!=null&&(f(this,Ar).close(),h(this,Ar,null)),super.destroy()}};Ui=new WeakMap,Ar=new WeakMap;var Vc="84842078b09946638c03157f83405213";function sy(n){switch(n){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":return"base-goerli.infura.io";case"base-sepolia":return"base-sepolia.infura.io";case"bnb":return"bnbsmartchain-mainnet.infura.io";case"bnbt":return"bnbsmartchain-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"}x(!1,"unsupported network","network",n)}var ka=class extends In{constructor(t,r){let s=new Er(t,r),i=s._getConnection();E(!i.credentials,"INFURA WebSocket project secrets unsupported","UNSUPPORTED_OPERATION",{operation:"InfuraProvider.getWebSocketProvider()"});let o=i.url.replace(/^http/i,"ws").replace("/v3/","/ws/v3/");super(o,s._network);g(this,"projectId");g(this,"projectSecret");I(this,{projectId:s.projectId,projectSecret:s.projectSecret})}isCommunityResource(){return this.projectId===Vc}},Er=class extends we{constructor(t,r,s){t==null&&(t="mainnet");let i=$.from(t);r==null&&(r=Vc),s==null&&(s=null);let o=Er.getRequest(i,r,s);super(o,i,{staticNetwork:i});g(this,"projectId");g(this,"projectSecret");I(this,{projectId:r,projectSecret:s})}_getProvider(t){try{return new Er(t,this.projectId,this.projectSecret)}catch{}return super._getProvider(t)}isCommunityResource(){return this.projectId===Vc}static getWebSocketProvider(t,r){return new ka(t,r)}static getRequest(t,r,s){r==null&&(r=Vc),s==null&&(s=null);let i=new ce(`https://${sy(t.name)}/v3/${r}`);return i.allowGzip=!0,s&&i.setCredentials("",s),r===Vc&&(i.retryFunc=async(o,a,c)=>(Ke("InfuraProvider"),!0)),i}};p();m();var Uf="919b412a057b5e9c9b6dce193c5a60242d6efadb";function iy(n){switch(n){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"}x(!1,"unsupported network","network",n)}var Gr=class extends we{constructor(t,r){t==null&&(t="mainnet");let s=$.from(t);r==null&&(r=Uf);let i=Gr.getRequest(s,r);super(i,s,{staticNetwork:s});g(this,"token");I(this,{token:r})}_getProvider(t){try{return new Gr(t,this.token)}catch{}return super._getProvider(t)}isCommunityResource(){return this.token===Uf}static getRequest(t,r){r==null&&(r=Uf);let s=new ce(`https://${iy(t.name)}/${r}`);return s.allowGzip=!0,r===Uf&&(s.retryFunc=async(i,o,a)=>(Ke("QuickNodeProvider"),!0)),s}};p();m();var oy=BigInt("1"),ay=BigInt("2");function cy(n){for(let e=n.length-1;e>0;e--){let t=Math.floor(Math.random()*(e+1)),r=n[e];n[e]=n[t],n[t]=r}}function fy(n){return new Promise(e=>{setTimeout(e,n)})}function ju(){return new Date().getTime()}function zu(n){return JSON.stringify(n,(e,t)=>typeof t=="bigint"?{type:"bigint",value:t.toString()}:t)}var Wp={stallTimeout:400,priority:1,weight:1},jp={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 ly(n,e){for(;(n.blockNumber<0||n.blockNumber<e)&&(n._updateNumber||(n._updateNumber=(async()=>{try{let t=await n.provider.getBlockNumber();t>n.blockNumber&&(n.blockNumber=t)}catch(t){n.blockNumber=-2,n._lastFatalError=t,n._lastFatalErrorTimestamp=ju()}n._updateNumber=null})()),await n._updateNumber,n.outOfSync++,!n._lastFatalError););}function Qc(n){if(n==null)return"null";if(Array.isArray(n))return"["+n.map(Qc).join(",")+"]";if(typeof n=="object"&&typeof n.toJSON=="function")return Qc(n.toJSON());switch(typeof n){case"boolean":case"symbol":return n.toString();case"bigint":case"number":return BigInt(n).toString();case"string":return JSON.stringify(n);case"object":{let e=Object.keys(n);return e.sort(),"{"+e.map(t=>`${JSON.stringify(t)}:${Qc(n[t])}`).join(",")+"}"}}throw console.log("Could not serialize",n),new Error("Hmm...")}function Ju(n){if("error"in n){let t=n.error;return{tag:Qc(t),value:t}}let e=n.result;return{tag:Qc(e),value:e}}function Lf(n,e){let t=new Map;for(let{value:s,tag:i,weight:o}of e){let a=t.get(i)||{value:s,weight:0};a.weight+=o,t.set(i,a)}let r=null;for(let s of t.values())s.weight>=n&&(!r||s.weight>r.weight)&&(r=s);if(r)return r.value}function Zu(n,e){let t=0,r=new Map,s=null,i=[];for(let{value:a,tag:c,weight:l}of e)if(a instanceof Error){let u=r.get(c)||{value:a,weight:0};u.weight+=l,r.set(c,u),(s==null||u.weight>s.weight)&&(s=u)}else i.push(BigInt(a)),t+=l;if(t<n)return s&&s.weight>=n?s.value:void 0;i.sort((a,c)=>a<c?-1:c>a?1:0);let o=Math.floor(i.length/2);return i.length%2?i[o]:(i[o-1]+i[o]+oy)/ay}function Wu(n,e){let t=Lf(n,e);if(t!==void 0)return t;for(let r of e)if(r.value)return r.value}function uy(n,e){if(n===1)return H(Zu(n,e),"%internal");let t=new Map,r=(o,a)=>{let c=t.get(o)||{result:o,weight:0};c.weight+=a,t.set(o,c)};for(let{weight:o,value:a}of e){let c=H(a);r(c-1,o),r(c,o),r(c+1,o)}let s=0,i;for(let{weight:o,result:a}of t.values())o>=n&&(o>s||i!=null&&o===s&&a>i)&&(s=o,i=a);return i}var mt,Cn,Na,Df,Zp,Kc,qu,Ff,qp,Mf,Yp,zc,Yu,Li=class extends Qt{constructor(t,r,s){super(r,s);y(this,Df);y(this,Kc);y(this,Ff);y(this,Mf);y(this,zc);g(this,"quorum");g(this,"eventQuorum");g(this,"eventWorkers");y(this,mt,void 0);y(this,Cn,void 0);y(this,Na,void 0);h(this,mt,t.map(i=>i instanceof Qt?Object.assign({provider:i},Wp,jp):Object.assign({},Wp,i,jp))),h(this,Cn,-2),h(this,Na,null),s&&s.quorum!=null?this.quorum=s.quorum:this.quorum=Math.ceil(f(this,mt).reduce((i,o)=>(i+=o.weight,i),0)/2),this.eventQuorum=1,this.eventWorkers=1,x(this.quorum<=f(this,mt).reduce((i,o)=>i+o.weight,0),"quorum exceed provider weight","quorum",this.quorum)}get providerConfigs(){return f(this,mt).map(t=>{let r=Object.assign({},t);for(let s in r)s[0]==="_"&&delete r[s];return r})}async _detectNetwork(){return $.from(U(await this._perform({method:"chainId"})))}async _translatePerform(t,r){switch(r.method){case"broadcastTransaction":return await t.broadcastTransaction(r.signedTransaction);case"call":return await t.call(Object.assign({},r.transaction,{blockTag:r.blockTag}));case"chainId":return(await t.getNetwork()).chainId;case"estimateGas":return await t.estimateGas(r.transaction);case"getBalance":return await t.getBalance(r.address,r.blockTag);case"getBlock":{let s="blockHash"in r?r.blockHash:r.blockTag;return await t.getBlock(s,r.includeTransactions)}case"getBlockNumber":return await t.getBlockNumber();case"getCode":return await t.getCode(r.address,r.blockTag);case"getGasPrice":return(await t.getFeeData()).gasPrice;case"getPriorityFee":return(await t.getFeeData()).maxPriorityFeePerGas;case"getLogs":return await t.getLogs(r.filter);case"getStorage":return await t.getStorage(r.address,r.position,r.blockTag);case"getTransaction":return await t.getTransaction(r.hash);case"getTransactionCount":return await t.getTransactionCount(r.address,r.blockTag);case"getTransactionReceipt":return await t.getTransactionReceipt(r.hash);case"getTransactionResult":return await t.getTransactionResult(r.hash)}}async _perform(t){if(t.method==="broadcastTransaction"){let o=f(this,mt).map(l=>null),a=f(this,mt).map(async({provider:l,weight:u},d)=>{try{let b=await l._perform(t);o[d]=Object.assign(Ju({result:b}),{weight:u})}catch(b){o[d]=Object.assign(Ju({error:b}),{weight:u})}});for(;;){let l=o.filter(b=>b!=null);for(let{value:b}of l)if(!(b instanceof Error))return b;let u=Lf(this.quorum,o.filter(b=>b!=null));if(oe(u,"INSUFFICIENT_FUNDS"))throw u;let d=a.filter((b,w)=>o[w]==null);if(d.length===0)break;await Promise.race(d)}let c=Wu(this.quorum,o);if(E(c!==void 0,"problem multi-broadcasting","SERVER_ERROR",{request:"%sub-requests",info:{request:t,results:o.map(zu)}}),c instanceof Error)throw c;return c}await R(this,Ff,qp).call(this);let r=new Set,s=0;for(;;){let o=R(this,Kc,qu).call(this,r,t);if(o==null||(s+=o.config.weight,s>=this.quorum))break}let i=await R(this,zc,Yu).call(this,r,t);for(let o of r)o.perform&&o.result==null&&o.config.lateResponses++;return i}async destroy(){for(let{provider:t}of f(this,mt))t.destroy();super.destroy()}};mt=new WeakMap,Cn=new WeakMap,Na=new WeakMap,Df=new WeakSet,Zp=function(t){let r=Array.from(t).map(i=>i.config),s=f(this,mt).slice();cy(s),s.sort((i,o)=>i.priority-o.priority);for(let i of s)if(!i._lastFatalError&&r.indexOf(i)===-1)return i;return null},Kc=new WeakSet,qu=function(t,r){let s=R(this,Df,Zp).call(this,t);if(s==null)return null;let i={config:s,result:null,didBump:!1,perform:null,staller:null},o=ju();return i.perform=(async()=>{try{s.requests++;let c=await this._translatePerform(s.provider,r);i.result={result:c}}catch(c){s.errorResponses++,i.result={error:c}}let a=ju()-o;s._totalTime+=a,s.rollingDuration=.95*s.rollingDuration+.05*a,i.perform=null})(),i.staller=(async()=>{await fy(s.stallTimeout),i.staller=null})(),t.add(i),i},Ff=new WeakSet,qp=async function(){let t=f(this,Na);if(!t){let r=[];f(this,mt).forEach(s=>{r.push((async()=>{await ly(s,0),s._lastFatalError||(s._network=await s.provider.getNetwork())})())}),h(this,Na,t=(async()=>{await Promise.all(r);let s=null;for(let i of f(this,mt)){if(i._lastFatalError)continue;let o=i._network;s==null?s=o.chainId:o.chainId!==s&&E(!1,"cannot mix providers on different networks","UNSUPPORTED_OPERATION",{operation:"new FallbackProvider"})}})())}await t},Mf=new WeakSet,Yp=async function(t,r){let s=[];for(let i of t)if(i.result!=null){let{tag:o,value:a}=Ju(i.result);s.push({tag:o,value:a,weight:i.config.weight})}if(!(s.reduce((i,o)=>i+o.weight,0)<this.quorum)){switch(r.method){case"getBlockNumber":{f(this,Cn)===-2&&h(this,Cn,Math.ceil(H(Zu(this.quorum,f(this,mt).filter(o=>!o._lastFatalError).map(o=>({value:o.blockNumber,tag:H(o.blockNumber).toString(),weight:o.weight}))))));let i=uy(this.quorum,s);return i===void 0?void 0:(i>f(this,Cn)&&h(this,Cn,i),f(this,Cn))}case"getGasPrice":case"getPriorityFee":case"estimateGas":return Zu(this.quorum,s);case"getBlock":return"blockTag"in r&&r.blockTag==="pending"?Wu(this.quorum,s):Lf(this.quorum,s);case"call":case"chainId":case"getBalance":case"getTransactionCount":case"getCode":case"getStorage":case"getTransaction":case"getTransactionReceipt":case"getLogs":return Lf(this.quorum,s);case"broadcastTransaction":return Wu(this.quorum,s)}E(!1,"unsupported method","UNSUPPORTED_OPERATION",{operation:`_perform(${zu(r.method)})`})}},zc=new WeakSet,Yu=async function(t,r){if(t.size===0)throw new Error("no runners?!");let s=[],i=0;for(let a of t){if(a.perform&&s.push(a.perform),a.staller){s.push(a.staller);continue}a.didBump||(a.didBump=!0,i++)}let o=await R(this,Mf,Yp).call(this,t,r);if(o!==void 0){if(o instanceof Error)throw o;return o}for(let a=0;a<i;a++)R(this,Kc,qu).call(this,t,r);return E(s.length>0,"quorum not met","SERVER_ERROR",{request:"%sub-requests",info:{request:r,results:Array.from(t).map(a=>zu(a.result))}}),await Promise.race(s),await R(this,zc,Yu).call(this,t,r)};function dy(n){return n&&typeof n.send=="function"&&typeof n.close=="function"}var hy="goerli kovan sepolia classicKotti optimism-goerli arbitrum-goerli matic-mumbai bnbt".split(" ");function Xu(n,e){e==null&&(e={});let t=o=>e[o]==="-"?!1:typeof e.exclusive=="string"?o===e.exclusive:Array.isArray(e.exclusive)?e.exclusive.indexOf(o)!==-1:!0;if(typeof n=="string"&&n.match(/^https?:/))return new we(n);if(typeof n=="string"&&n.match(/^wss?:/)||dy(n))return new In(n);let r=null;try{r=$.from(n)}catch{}let s=[];if(t("publicPolygon")&&r&&(r.name==="matic"?s.push(new we("https://polygon-rpc.com/",r,{staticNetwork:r})):r.name==="matic-amoy"&&s.push(new we("https://rpc-amoy.polygon.technology/",r,{staticNetwork:r}))),t("alchemy"))try{s.push(new Dr(n,e.alchemy))}catch{}if(t("ankr")&&e.ankr!=null)try{s.push(new Lr(n,e.ankr))}catch{}if(t("chainstack"))try{s.push(new Fr(n,e.chainstack))}catch{}if(t("cloudflare"))try{s.push(new Ti(n))}catch{}if(t("etherscan"))try{s.push(new Ii(n,e.etherscan))}catch{}if(t("infura"))try{let o=e.infura,a;typeof o=="object"&&(a=o.projectSecret,o=o.projectId),s.push(new Er(n,o,a))}catch{}if(t("quicknode"))try{let o=e.quicknode;s.push(new Gr(n,o))}catch{}if(E(s.length,"unsupported default network","UNSUPPORTED_OPERATION",{operation:"getDefaultProvider"}),s.length===1)return s[0];let i=Math.floor(s.length/2);return i>2&&(i=2),r&&hy.indexOf(r.name)!==-1&&(i=1),e&&e.quorum&&(i=e.quorum),new Li(s,void 0,{quorum:i})}p();m();var Rs,Di,$u=class extends Kt{constructor(t){super(t.provider);g(this,"signer");y(this,Rs,void 0);y(this,Di,void 0);I(this,{signer:t}),h(this,Rs,null),h(this,Di,0)}async getAddress(){return this.signer.getAddress()}connect(t){return new $u(this.signer.connect(t))}async getNonce(t){if(t==="pending"){f(this,Rs)==null&&h(this,Rs,super.getNonce("pending"));let r=f(this,Di);return await f(this,Rs)+r}return super.getNonce(t)}increment(){jr(this,Di)._++}reset(){h(this,Di,0),h(this,Rs,null)}async sendTransaction(t){let r=this.getNonce("pending");return this.increment(),t=await this.signer.populateTransaction(t),t.nonce=await r,await this.signer.sendTransaction(t)}signTransaction(t){return this.signer.signTransaction(t)}signMessage(t){return this.signer.signMessage(t)}signTypedData(t,r,s){return this.signer.signTypedData(t,r,s)}},Jc=$u;Rs=new WeakMap,Di=new WeakMap;p();m();var Pa,Wc=class extends Mc{constructor(t,r,s){let i=Object.assign({},s??{},{batchMaxCount:1});x(t&&t.request,"invalid EIP-1193 provider","ethereum",t);super(r,i);y(this,Pa,void 0);h(this,Pa,async(o,a)=>{let c={method:o,params:a};this.emit("debug",{action:"sendEip1193Request",payload:c});try{let l=await t.request(c);return this.emit("debug",{action:"receiveEip1193Result",result:l}),l}catch(l){let u=new Error(l.message);throw u.code=l.code,u.data=l.data,u.payload=c,this.emit("debug",{action:"receiveEip1193Error",error:u}),u}})}async send(t,r){return await this._start(),await super.send(t,r)}async _send(t){x(!Array.isArray(t),"EIP-1193 does not support batch request","payload",t);try{let r=await f(this,Pa).call(this,t.method,t.params||[]);return[{id:t.id,result:r}]}catch(r){return[{id:t.id,error:{code:r.code,data:r.data,message:r.message}}]}}getRpcError(t,r){switch(r=JSON.parse(JSON.stringify(r)),r.error.code||-1){case 4001:r.error.message=`ethers-user-denied: ${r.error.message}`;break;case 4200:r.error.message=`ethers-unsupported: ${r.error.message}`;break}return super.getRpcError(t,r)}async hasSigner(t){t==null&&(t=0);let r=await this.send("eth_accounts",[]);return typeof t=="number"?r.length>t:(t=t.toLowerCase(),r.filter(s=>s.toLowerCase()===t).length!==0)}async getSigner(t){if(t==null&&(t=0),!await this.hasSigner(t))try{await f(this,Pa).call(this,"eth_requestAccounts",[])}catch(r){let s=r.payload;throw this.getRpcError(s,{id:s.id,error:r})}return await super.getSigner(t)}};Pa=new WeakMap;p();m();var Gf="62e1ad51b37b8e00394bda3b";function xy(n){switch(n){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"}x(!1,"unsupported network","network",n)}var Ts=class extends we{constructor(t,r,s){t==null&&(t="mainnet");let i=$.from(t);r==null&&(r=Gf),s==null&&(s=null);let o={staticNetwork:i},a=Ts.getRequest(i,r,s);super(a,i,o);g(this,"applicationId");g(this,"applicationSecret");I(this,{applicationId:r,applicationSecret:s})}_getProvider(t){try{return new Ts(t,this.applicationId,this.applicationSecret)}catch{}return super._getProvider(t)}static getRequest(t,r,s){r==null&&(r=Gf);let i=new ce(`https://${xy(t.name)}/v1/lb/${r}`);return i.allowGzip=!0,s&&i.setCredentials("",s),r===Gf&&(i.retryFunc=async(o,a,c)=>(Ke("PocketProvider"),!0)),i}isCommunityResource(){return this.applicationId===Gf}};p();m();var ed=void 0;p();m();p();m();var Ba,td=class extends Kt{constructor(t,r){super(r);g(this,"address");y(this,Ba,void 0);x(t&&typeof t.sign=="function","invalid private key","privateKey","[ REDACTED ]"),h(this,Ba,t);let s=pr(this.signingKey.publicKey);I(this,{address:s})}get signingKey(){return f(this,Ba)}get privateKey(){return this.signingKey.privateKey}async getAddress(){return this.address}connect(t){return new td(f(this,Ba),t)}async signTransaction(t){t=Gt(t);let{to:r,from:s}=await ue({to:t.to?be(t.to,this.provider):void 0,from:t.from?be(t.from,this.provider):void 0});r!=null&&(t.to=r),s!=null&&(t.from=s),t.from!=null&&(x(V(t.from)===this.address,"transaction from address mismatch","tx.from",t.from),delete t.from);let i=kt.from(t);return i.signature=this.signingKey.sign(i.unsignedHash),i.serialized}async signMessage(t){return this.signMessageSync(t)}signMessageSync(t){return this.signingKey.sign(Go(t)).serialized}async signTypedData(t,r,s){let i=await Lt.resolveNames(t,r,s,async o=>{E(this.provider!=null,"cannot resolve ENS names without a provider","UNSUPPORTED_OPERATION",{operation:"resolveName",info:{name:o}});let a=await this.provider.resolveName(o);return E(a!=null,"unconfigured ENS name","UNCONFIGURED_NAME",{value:o}),a});return this.signingKey.sign(Lt.hash(i.domain,r,i.value)).serialized}},On=td;Ba=new WeakMap;p();m();p();m();p();m();p();m();var Hf=" !#$%&'()*+,-./<=>?@[]^_`{|}~",py=/^[a-z]*$/i;function Xp(n,e){let t=97;return n.reduce((r,s)=>(s===e?t++:s.match(py)?r.push(String.fromCharCode(t)+s):(t=97,r.push(s)),r),[])}function my(n,e){for(let s=Hf.length-1;s>=0;s--)n=n.split(Hf[s]).join(e.substring(2*s,2*s+2));let t=[],r=n.replace(/(:|([0-9])|([A-Z][a-z]*))/g,(s,i,o,a)=>{if(o)for(let c=parseInt(o);c>=0;c--)t.push(";");else t.push(i.toLowerCase());return""});if(r)throw new Error(`leftovers: ${JSON.stringify(r)}`);return Xp(Xp(t,";"),":")}function _f(n){return x(n[0]==="0","unsupported auwl data","data",n),my(n.substring(1+2*Hf.length),n.substring(1,1+2*Hf.length))}p();m();var Fi=class{constructor(e){g(this,"locale");I(this,{locale:e})}split(e){return e.toLowerCase().split(/\s+/g)}join(e){return e.join(" ")}};var Ra,jc,Mi,Zc,rd,Sn=class extends Fi{constructor(t,r,s){super(t);y(this,Zc);y(this,Ra,void 0);y(this,jc,void 0);y(this,Mi,void 0);h(this,Ra,r),h(this,jc,s),h(this,Mi,null)}get _data(){return f(this,Ra)}_decodeWords(){return _f(f(this,Ra))}getWord(t){let r=R(this,Zc,rd).call(this);return x(t>=0&&t<r.length,`invalid word index: ${t}`,"index",t),r[t]}getWordIndex(t){return R(this,Zc,rd).call(this).indexOf(t)}};Ra=new WeakMap,jc=new WeakMap,Mi=new WeakMap,Zc=new WeakSet,rd=function(){if(f(this,Mi)==null){let t=this._decodeWords();if(He(t.join(`
`)+`
`)!==f(this,jc))throw new Error(`BIP39 Wordlist for ${this.locale} FAILED`);h(this,Mi,t)}return f(this,Mi)};var by="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 Rfe@Rm.Rs#T2O}OtoRa'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|UffUmb!Y!0Bje@Bm.BwayC)[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",gy="0x3c8acc1e7b08d8e76f9fda015ef48dc8c710a73cb7e0f77b2c18a9b5a7adde60",nd=null,tt=class extends Sn{constructor(){super("en",by,gy)}static wordlist(){return nd==null&&(nd=new tt),nd}};p();m();function $p(n){return(1<<n)-1<<8-n&255}function yy(n){return(1<<n)-1&255}function sd(n,e){Cs("NFKD"),e==null&&(e=tt.wordlist());let t=e.split(n);x(t.length%3===0&&t.length>=12&&t.length<=24,"invalid mnemonic length","mnemonic","[ REDACTED ]");let r=new Uint8Array(Math.ceil(11*t.length/8)),s=0;for(let l=0;l<t.length;l++){let u=e.getWordIndex(t[l].normalize("NFKD"));x(u>=0,`invalid mnemonic word at index ${l}`,"mnemonic","[ REDACTED ]");for(let d=0;d<11;d++)u&1<<10-d&&(r[s>>3]|=1<<7-s%8),s++}let i=32*t.length/3,o=t.length/3,a=$p(o),c=v(Pe(r.slice(0,i/8)))[0]&a;return x(c===(r[r.length-1]&a),"invalid mnemonic checksum","mnemonic","[ REDACTED ]"),T(r.slice(0,i/8))}function id(n,e){x(n.length%4===0&&n.length>=16&&n.length<=32,"invalid entropy size","entropy","[ REDACTED ]"),e==null&&(e=tt.wordlist());let t=[0],r=11;for(let o=0;o<n.length;o++)r>8?(t[t.length-1]<<=8,t[t.length-1]|=n[o],r-=8):(t[t.length-1]<<=r,t[t.length-1]|=n[o]>>8-r,t.push(n[o]&yy(8-r)),r+=3);let s=n.length/4,i=parseInt(Pe(n).substring(2,4),16)&$p(s);return t[t.length-1]<<=s,t[t.length-1]|=i>>8-s,e.join(t.map(o=>e.getWord(o)))}var od={},It=class{constructor(e,t,r,s,i){g(this,"phrase");g(this,"password");g(this,"wordlist");g(this,"entropy");s==null&&(s=""),i==null&&(i=tt.wordlist()),De(e,od,"Mnemonic"),I(this,{phrase:r,password:s,wordlist:i,entropy:t})}computeSeed(){let e=ae("mnemonic"+this.password,"NFKD");return st(ae(this.phrase,"NFKD"),e,2048,64,"sha512")}static fromPhrase(e,t,r){let s=sd(e,r);return e=id(v(s),r),new It(od,s,e,t,r)}static fromEntropy(e,t,r){let s=v(e,"entropy"),i=id(s,r);return new It(od,T(s),i,t,r)}static entropyToPhrase(e,t){let r=v(e,"entropy");return id(r,t)}static phraseToEntropy(e,t){return sd(e,t)}static isValidMnemonic(e,t){try{return sd(e,t),!0}catch{}return!1}};p();m();p();m();p();m();var ze=function(n,e,t,r){if(t==="a"&&!r)throw new TypeError("Private accessor was defined without a getter");if(typeof e=="function"?n!==e||!r:!e.has(n))throw new TypeError("Cannot read private member from an object whose class did not declare it");return t==="m"?r:t==="a"?r.call(n):r?r.value:e.get(n)},ad=function(n,e,t,r,s){if(r==="m")throw new TypeError("Private method is not writable");if(r==="a"&&!s)throw new TypeError("Private accessor was defined without a setter");if(typeof e=="function"?n!==e||!s:!e.has(n))throw new TypeError("Cannot write private member to an object whose class did not declare it");return r==="a"?s.call(n,t):s?s.value=t:e.set(n,t),t},Qf,Wt,Hr,wy={16:10,24:12,32:14},Ay=[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],Jt=[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,90,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],Vf=[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],Ey=[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,1673313503,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],ky=[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],Ny=[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,389623319,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],Py=[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],By=[1374988112,2118214995,437757123,975658646,1001089995,530400753,2902087851,1273168787,540080725,2910219766,2295101073,4110568485,1340463100,3307916247,641025152,3043140495,3736164937,632953703,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],Ry=[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],Ty=[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,1297403050,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],vy=[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,607398968,2738905026,499347990,3794078908,1011452712,227885567,2818666809,213114376,3034881240,1455525988,3414450555,850817237,1817998408,3092726480],Iy=[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],Cy=[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,1201765386,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],Oy=[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],Sy=[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,4002861748,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 cd(n){let e=[];for(let t=0;t<n.length;t+=4)e.push(n[t]<<24|n[t+1]<<16|n[t+2]<<8|n[t+3]);return e}var Gi=class{get key(){return ze(this,Qf,"f").slice()}constructor(e){if(Qf.set(this,void 0),Wt.set(this,void 0),Hr.set(this,void 0),!(this instanceof Gi))throw Error("AES must be instanitated with `new`");ad(this,Qf,new Uint8Array(e),"f");let t=wy[this.key.length];if(t==null)throw new TypeError("invalid key size (must be 16, 24 or 32 bytes)");ad(this,Hr,[],"f"),ad(this,Wt,[],"f");for(let u=0;u<=t;u++)ze(this,Hr,"f").push([0,0,0,0]),ze(this,Wt,"f").push([0,0,0,0]);let r=(t+1)*4,s=this.key.length/4,i=cd(this.key),o;for(let u=0;u<s;u++)o=u>>2,ze(this,Hr,"f")[o][u%4]=i[u],ze(this,Wt,"f")[t-o][u%4]=i[u];let a=0,c=s,l;for(;c<r;){if(l=i[s-1],i[0]^=Jt[l>>16&255]<<24^Jt[l>>8&255]<<16^Jt[l&255]<<8^Jt[l>>24&255]^Ay[a]<<24,a+=1,s!=8)for(let w=1;w<s;w++)i[w]^=i[w-1];else{for(let w=1;w<s/2;w++)i[w]^=i[w-1];l=i[s/2-1],i[s/2]^=Jt[l&255]^Jt[l>>8&255]<<8^Jt[l>>16&255]<<16^Jt[l>>24&255]<<24;for(let w=s/2+1;w<s;w++)i[w]^=i[w-1]}let u=0,d,b;for(;u<s&&c<r;)d=c>>2,b=c%4,ze(this,Hr,"f")[d][b]=i[u],ze(this,Wt,"f")[t-d][b]=i[u++],c++}for(let u=1;u<t;u++)for(let d=0;d<4;d++)l=ze(this,Wt,"f")[u][d],ze(this,Wt,"f")[u][d]=Iy[l>>24&255]^Cy[l>>16&255]^Oy[l>>8&255]^Sy[l&255]}encrypt(e){if(e.length!=16)throw new TypeError("invalid plaintext size (must be 16 bytes)");let t=ze(this,Hr,"f").length-1,r=[0,0,0,0],s=cd(e);for(let a=0;a<4;a++)s[a]^=ze(this,Hr,"f")[0][a];for(let a=1;a<t;a++){for(let c=0;c<4;c++)r[c]=Ey[s[c]>>24&255]^ky[s[(c+1)%4]>>16&255]^Ny[s[(c+2)%4]>>8&255]^Py[s[(c+3)%4]&255]^ze(this,Hr,"f")[a][c];s=r.slice()}let i=new Uint8Array(16),o=0;for(let a=0;a<4;a++)o=ze(this,Hr,"f")[t][a],i[4*a]=(Jt[s[a]>>24&255]^o>>24)&255,i[4*a+1]=(Jt[s[(a+1)%4]>>16&255]^o>>16)&255,i[4*a+2]=(Jt[s[(a+2)%4]>>8&255]^o>>8)&255,i[4*a+3]=(Jt[s[(a+3)%4]&255]^o)&255;return i}decrypt(e){if(e.length!=16)throw new TypeError("invalid ciphertext size (must be 16 bytes)");let t=ze(this,Wt,"f").length-1,r=[0,0,0,0],s=cd(e);for(let a=0;a<4;a++)s[a]^=ze(this,Wt,"f")[0][a];for(let a=1;a<t;a++){for(let c=0;c<4;c++)r[c]=By[s[c]>>24&255]^Ry[s[(c+3)%4]>>16&255]^Ty[s[(c+2)%4]>>8&255]^vy[s[(c+1)%4]&255]^ze(this,Wt,"f")[a][c];s=r.slice()}let i=new Uint8Array(16),o=0;for(let a=0;a<4;a++)o=ze(this,Wt,"f")[t][a],i[4*a]=(Vf[s[a]>>24&255]^o>>24)&255,i[4*a+1]=(Vf[s[(a+3)%4]>>16&255]^o>>16)&255,i[4*a+2]=(Vf[s[(a+2)%4]>>8&255]^o>>8)&255,i[4*a+3]=(Vf[s[(a+1)%4]&255]^o)&255;return i}};Qf=new WeakMap,Wt=new WeakMap,Hr=new WeakMap;p();m();var _r=class{constructor(e,t,r){if(r&&!(this instanceof r))throw new Error(`${e} must be instantiated with "new"`);Object.defineProperties(this,{aes:{enumerable:!0,value:new Gi(t)},name:{enumerable:!0,value:e}})}};p();m();var Kf=function(n,e,t,r,s){if(r==="m")throw new TypeError("Private method is not writable");if(r==="a"&&!s)throw new TypeError("Private accessor was defined without a setter");if(typeof e=="function"?n!==e||!s:!e.has(n))throw new TypeError("Cannot write private member to an object whose class did not declare it");return r==="a"?s.call(n,t):s?s.value=t:e.set(n,t),t},Ta=function(n,e,t,r){if(t==="a"&&!r)throw new TypeError("Private accessor was defined without a getter");if(typeof e=="function"?n!==e||!r:!e.has(n))throw new TypeError("Cannot read private member from an object whose class did not declare it");return t==="m"?r:t==="a"?r.call(n):r?r.value:e.get(n)},qc,Un,Hi=class extends _r{constructor(e,t){if(super("ECC",e,Hi),qc.set(this,void 0),Un.set(this,void 0),t){if(t.length%16)throw new TypeError("invalid iv size (must be 16 bytes)");Kf(this,qc,new Uint8Array(t),"f")}else Kf(this,qc,new Uint8Array(16),"f");Kf(this,Un,this.iv,"f")}get iv(){return new Uint8Array(Ta(this,qc,"f"))}encrypt(e){if(e.length%16)throw new TypeError("invalid plaintext size (must be multiple of 16 bytes)");let t=new Uint8Array(e.length);for(let r=0;r<e.length;r+=16){for(let s=0;s<16;s++)Ta(this,Un,"f")[s]^=e[r+s];Kf(this,Un,this.aes.encrypt(Ta(this,Un,"f")),"f"),t.set(Ta(this,Un,"f"),r)}return t}decrypt(e){if(e.length%16)throw new TypeError("invalid ciphertext size (must be multiple of 16 bytes)");let t=new Uint8Array(e.length);for(let r=0;r<e.length;r+=16){let s=this.aes.decrypt(e.subarray(r,r+16));for(let i=0;i<16;i++)t[r+i]=s[i]^Ta(this,Un,"f")[i],Ta(this,Un,"f")[i]=e[r+i]}return t}};qc=new WeakMap,Un=new WeakMap;p();m();var fd=function(n,e,t,r){if(t==="a"&&!r)throw new TypeError("Private accessor was defined without a getter");if(typeof e=="function"?n!==e||!r:!e.has(n))throw new TypeError("Cannot read private member from an object whose class did not declare it");return t==="m"?r:t==="a"?r.call(n):r?r.value:e.get(n)},Uy,Ly,zf,Dy;Ly=new WeakMap,zf=new WeakMap,Uy=new WeakSet,Dy=function(e){let t=this.segmentSize/8;fd(this,zf,"f").set(fd(this,zf,"f").subarray(t)),fd(this,zf,"f").set(e.subarray(0,t),16-t)};p();m();var va=function(n,e,t,r,s){if(r==="m")throw new TypeError("Private method is not writable");if(r==="a"&&!s)throw new TypeError("Private accessor was defined without a setter");if(typeof e=="function"?n!==e||!s:!e.has(n))throw new TypeError("Cannot write private member to an object whose class did not declare it");return r==="a"?s.call(n,t):s?s.value=t:e.set(n,t),t},jt=function(n,e,t,r){if(t==="a"&&!r)throw new TypeError("Private accessor was defined without a getter");if(typeof e=="function"?n!==e||!r:!e.has(n))throw new TypeError("Cannot read private member from an object whose class did not declare it");return t==="m"?r:t==="a"?r.call(n):r?r.value:e.get(n)},Yc,_i,Zt,Vr=class extends _r{constructor(e,t){super("CTR",e,Vr),Yc.set(this,void 0),_i.set(this,void 0),Zt.set(this,void 0),va(this,Zt,new Uint8Array(16),"f"),jt(this,Zt,"f").fill(0),va(this,Yc,jt(this,Zt,"f"),"f"),va(this,_i,16,"f"),t==null&&(t=1),typeof t=="number"?this.setCounterValue(t):this.setCounterBytes(t)}get counter(){return new Uint8Array(jt(this,Zt,"f"))}setCounterValue(e){if(!Number.isInteger(e)||e<0||e>Number.MAX_SAFE_INTEGER)throw new TypeError("invalid counter initial integer value");for(let t=15;t>=0;--t)jt(this,Zt,"f")[t]=e%256,e=Math.floor(e/256)}setCounterBytes(e){if(e.length!==16)throw new TypeError("invalid counter initial Uint8Array value length");jt(this,Zt,"f").set(e)}increment(){for(let e=15;e>=0;e--)if(jt(this,Zt,"f")[e]===255)jt(this,Zt,"f")[e]=0;else{jt(this,Zt,"f")[e]++;break}}encrypt(e){var t,r;let s=new Uint8Array(e);for(let i=0;i<s.length;i++)jt(this,_i,"f")===16&&(va(this,Yc,this.aes.encrypt(jt(this,Zt,"f")),"f"),va(this,_i,0,"f"),this.increment()),s[i]^=jt(this,Yc,"f")[va(this,_i,(r=jt(this,_i,"f"),t=r++,r),"f"),t];return s}decrypt(e){return this.encrypt(e)}};Yc=new WeakMap,_i=new WeakMap,Zt=new WeakMap;p();m();p();m();var Fy,My,Gy;Fy=new WeakMap,My=new WeakMap,Gy=new WeakMap;p();m();function ld(n){if(n.length<16)throw new TypeError("PKCS#7 invalid length");let e=n[n.length-1];if(e>16)throw new TypeError("PKCS#7 padding byte out of range");let t=n.length-e;for(let r=0;r<e;r++)if(n[t+r]!==e)throw new TypeError("PKCS#7 invalid padding byte");return new Uint8Array(n.subarray(0,t))}p();m();function ud(n){return typeof n=="string"&&!n.startsWith("0x")&&(n="0x"+n),xe(n)}function Ia(n,e){for(n=String(n);n.length<e;)n="0"+n;return n}function Vi(n){return typeof n=="string"?ae(n,"NFKC"):xe(n)}function Ae(n,e){let t=e.match(/^([a-z0-9$_.-]*)(:([a-z]+))?(!)?$/i);x(t!=null,"invalid path","path",e);let r=t[1],s=t[3],i=t[4]==="!",o=n;for(let a of r.toLowerCase().split(".")){if(Array.isArray(o)){if(!a.match(/^[0-9]+$/))break;o=o[parseInt(a)]}else if(typeof o=="object"){let c=null;for(let l in o)if(l.toLowerCase()===a){c=o[l];break}o=c}else o=null;if(o==null)break}if(x(!i||o!=null,"missing required value","path",r),s&&o!=null){if(s==="int"){if(typeof o=="string"&&o.match(/^-?[0-9]+$/))return parseInt(o);if(Number.isSafeInteger(o))return o}if(s==="number"&&typeof o=="string"&&o.match(/^-?[0-9.]*$/))return parseFloat(o);if(s==="data"&&typeof o=="string")return ud(o);if(s==="array"&&Array.isArray(o)||s===typeof o)return o;x(!1,`wrong type found for ${s} `,"path",r)}return o}var tm="m/44'/60'/0'/0/0";function Ca(n){try{let e=JSON.parse(n);if((e.version!=null?parseInt(e.version):0)===3)return!0}catch{}return!1}function Hy(n,e,t){if(Ae(n,"crypto.cipher:string")==="aes-128-ctr"){let s=Ae(n,"crypto.cipherparams.iv:data!"),i=new Vr(e,s);return T(i.decrypt(t))}E(!1,"unsupported cipher","UNSUPPORTED_OPERATION",{operation:"decrypt"})}function Jf(n,e){let t=v(e),r=Ae(n,"crypto.ciphertext:data!"),s=T(Z(K([t.slice(16,32),r]))).substring(2);x(s===Ae(n,"crypto.mac:string!").toLowerCase(),"incorrect password","password","[ REDACTED ]");let i=Hy(n,t.slice(0,16),r),o=pr(i);if(n.address){let l=n.address.toLowerCase();l.startsWith("0x")||(l="0x"+l),x(V(l)===o,"keystore address/privateKey mismatch","address",n.address)}let a={address:o,privateKey:i};if(Ae(n,"x-ethers.version:string")==="0.1"){let l=t.slice(32,64),u=Ae(n,"x-ethers.mnemonicCiphertext:data!"),d=Ae(n,"x-ethers.mnemonicCounter:data!"),b=new Vr(l,d);a.mnemonic={path:Ae(n,"x-ethers.path:string")||tm,locale:Ae(n,"x-ethers.locale:string")||"en",entropy:T(v(b.decrypt(u)))}}return a}function rm(n){let e=Ae(n,"crypto.kdf:string");if(e&&typeof e=="string"){if(e.toLowerCase()==="scrypt"){let t=Ae(n,"crypto.kdfparams.salt:data!"),r=Ae(n,"crypto.kdfparams.n:int!"),s=Ae(n,"crypto.kdfparams.r:int!"),i=Ae(n,"crypto.kdfparams.p:int!");x(r>0&&(r&r-1)===0,"invalid kdf.N","kdf.N",r),x(s>0&&i>0,"invalid kdf","kdf",e);let o=Ae(n,"crypto.kdfparams.dklen:int!");return x(o===32,"invalid kdf.dklen","kdf.dflen",o),{name:"scrypt",salt:t,N:r,r:s,p:i,dkLen:64}}else if(e.toLowerCase()==="pbkdf2"){let t=Ae(n,"crypto.kdfparams.salt:data!"),r=Ae(n,"crypto.kdfparams.prf:string!"),s=r.split("-").pop();x(s==="sha256"||s==="sha512","invalid kdf.pdf","kdf.pdf",r);let i=Ae(n,"crypto.kdfparams.c:int!"),o=Ae(n,"crypto.kdfparams.dklen:int!");return x(o===32,"invalid kdf.dklen","kdf.dklen",o),{name:"pbkdf2",salt:t,count:i,dkLen:o,algorithm:s}}}x(!1,"unsupported key-derivation function","kdf",e)}function Xc(n,e){let t=JSON.parse(n),r=Vi(e),s=rm(t);if(s.name==="pbkdf2"){let{salt:d,count:b,dkLen:w,algorithm:k}=s,A=st(r,d,b,w,k);return Jf(t,A)}E(s.name==="scrypt","cannot be reached","UNKNOWN_ERROR",{params:s});let{salt:i,N:o,r:a,p:c,dkLen:l}=s,u=lr(r,i,o,a,c,l);return Jf(t,u)}function em(n){return new Promise(e=>{setTimeout(()=>{e()},n)})}async function $c(n,e,t){let r=JSON.parse(n),s=Vi(e),i=rm(r);if(i.name==="pbkdf2"){t&&(t(0),await em(0));let{salt:b,count:w,dkLen:k,algorithm:A}=i,N=st(s,b,w,k,A);return t&&(t(1),await em(0)),Jf(r,N)}E(i.name==="scrypt","cannot be reached","UNKNOWN_ERROR",{params:i});let{salt:o,N:a,r:c,p:l,dkLen:u}=i,d=await fr(s,o,a,c,l,u,t);return Jf(r,d)}function nm(n){let e=n.salt!=null?v(n.salt,"options.salt"):je(32),t=1<<17,r=8,s=1;return n.scrypt&&(n.scrypt.N&&(t=n.scrypt.N),n.scrypt.r&&(r=n.scrypt.r),n.scrypt.p&&(s=n.scrypt.p)),x(typeof t=="number"&&t>0&&Number.isSafeInteger(t)&&(BigInt(t)&BigInt(t-1))===BigInt(0),"invalid scrypt N parameter","options.N",t),x(typeof r=="number"&&r>0&&Number.isSafeInteger(r),"invalid scrypt r parameter","options.r",r),x(typeof s=="number"&&s>0&&Number.isSafeInteger(s),"invalid scrypt p parameter","options.p",s),{name:"scrypt",dkLen:32,salt:e,N:t,r,p:s}}function sm(n,e,t,r){let s=v(t.privateKey,"privateKey"),i=r.iv!=null?v(r.iv,"options.iv"):je(16);x(i.length===16,"invalid options.iv length","options.iv",r.iv);let o=r.uuid!=null?v(r.uuid,"options.uuid"):je(16);x(o.length===16,"invalid options.uuid length","options.uuid",r.iv);let a=n.slice(0,16),c=n.slice(16,32),l=new Vr(a,i),u=v(l.encrypt(s)),d=Z(K([c,u])),b={address:t.address.substring(2).toLowerCase(),id:Ya(o),version:3,Crypto:{cipher:"aes-128-ctr",cipherparams:{iv:T(i).substring(2)},ciphertext:T(u).substring(2),kdf:"scrypt",kdfparams:{salt:T(e.salt).substring(2),n:e.N,dklen:32,p:e.p,r:e.r},mac:d.substring(2)}};if(t.mnemonic){let w=r.client!=null?r.client:`ethers/${Zi}`,k=t.mnemonic.path||tm,A=t.mnemonic.locale||"en",N=n.slice(32,64),B=v(t.mnemonic.entropy,"account.mnemonic.entropy"),O=je(16),C=new Vr(N,O),Q=v(C.encrypt(B)),L=new Date,_="UTC--"+(L.getUTCFullYear()+"-"+Ia(L.getUTCMonth()+1,2)+"-"+Ia(L.getUTCDate(),2)+"T"+Ia(L.getUTCHours(),2)+"-"+Ia(L.getUTCMinutes(),2)+"-"+Ia(L.getUTCSeconds(),2)+".0Z")+"--"+b.address;b["x-ethers"]={client:w,gethFilename:_,path:k,locale:A,mnemonicCounter:T(O).substring(2),mnemonicCiphertext:T(Q).substring(2),version:"0.1"}}return JSON.stringify(b)}function Qi(n,e,t){t==null&&(t={});let r=Vi(e),s=nm(t),i=lr(r,s.salt,s.N,s.r,s.p,64);return sm(v(i),s,n,t)}async function Ki(n,e,t){t==null&&(t={});let r=Vi(e),s=nm(t),i=await fr(r,s.salt,s.N,s.r,s.p,64,t.progressCallback);return sm(v(i),s,n,t)}var Oa="m/44'/60'/0'/0/0",_y=new Uint8Array([66,105,116,99,111,105,110,32,115,101,101,100]),zr=2147483648,Vy=BigInt("0xfffffffffffffffffffffffffffffffebaaedce6af48a03bbfd25e8cd0364141"),Qy="0123456789abcdef";function Wf(n,e){let t="";for(;n;)t=Qy[n%16]+t,n=Math.trunc(n/16);for(;t.length<e*2;)t="0"+t;return"0x"+t}function dd(n){let e=v(n),t=ne(Pe(Pe(e)),0,4),r=K([e,t]);return Ss(r)}var Kr={};function im(n,e,t,r){let s=new Uint8Array(37);n&zr?(E(r!=null,"cannot derive child of neutered node","UNSUPPORTED_OPERATION",{operation:"deriveChild"}),s.set(v(r),1)):s.set(v(t));for(let o=24;o>=0;o-=8)s[33+(o>>3)]=n>>24-o&255;let i=v(ar("sha512",e,s));return{IL:i.slice(0,32),IR:i.slice(32)}}function om(n,e){let t=e.split("/");x(t.length>0,"invalid path","path",e),t[0]==="m"&&(x(n.depth===0,`cannot derive root path (i.e. path starting with "m/") for a node at non-zero depth ${n.depth}`,"path",e),t.shift());let r=n;for(let s=0;s<t.length;s++){let i=t[s];if(i.match(/^[0-9]+'$/)){let o=parseInt(i.substring(0,i.length-1));x(o<zr,"invalid path index",`path[${s}]`,i),r=r.deriveChild(zr+o)}else if(i.match(/^[0-9]+$/)){let o=parseInt(i);x(o<zr,"invalid path index",`path[${s}]`,i),r=r.deriveChild(o)}else x(!1,"invalid path component",`path[${s}]`,i)}return r}var t0,hd,zi,e0,Qr=class extends On{constructor(t,r,s,i,o,a,c,l,u){super(r,u);y(this,t0);g(this,"publicKey");g(this,"fingerprint");g(this,"parentFingerprint");g(this,"mnemonic");g(this,"chainCode");g(this,"path");g(this,"index");g(this,"depth");De(t,Kr,"HDNodeWallet"),I(this,{publicKey:r.compressedPublicKey});let d=ne(cr(Pe(this.publicKey)),0,4);I(this,{parentFingerprint:s,fingerprint:d,chainCode:i,path:o,index:a,depth:c}),I(this,{mnemonic:l})}connect(t){return new Qr(Kr,this.signingKey,this.parentFingerprint,this.chainCode,this.path,this.index,this.depth,this.mnemonic,t)}async encrypt(t,r){return await Ki(R(this,t0,hd).call(this),t,{progressCallback:r})}encryptSync(t){return Qi(R(this,t0,hd).call(this),t)}get extendedKey(){return E(this.depth<256,"Depth too deep","UNSUPPORTED_OPERATION",{operation:"extendedKey"}),dd(K(["0x0488ADE4",Wf(this.depth,1),this.parentFingerprint,Wf(this.index,4),this.chainCode,K(["0x00",this.privateKey])]))}hasPath(){return this.path!=null}neuter(){return new Wr(Kr,this.address,this.publicKey,this.parentFingerprint,this.chainCode,this.path,this.index,this.depth,this.provider)}deriveChild(t){let r=H(t,"index");x(r<=4294967295,"invalid index","index",r);let s=this.path;s&&(s+="/"+(r&~zr),r&zr&&(s+="'"));let{IR:i,IL:o}=im(r,this.chainCode,this.publicKey,this.privateKey),a=new Ge(Se((Ct(o)+BigInt(this.privateKey))%Vy,32));return new Qr(Kr,a,this.fingerprint,T(i),s,r,this.depth+1,this.mnemonic,this.provider)}derivePath(t){return om(this,t)}static fromExtendedKey(t){let r=pe(Ga(t));x(r.length===82||dd(r.slice(0,78))===t,"invalid extended key","extendedKey","[ REDACTED ]");let s=r[4],i=T(r.slice(5,9)),o=parseInt(T(r.slice(9,13)).substring(2),16),a=T(r.slice(13,45)),c=r.slice(45,78);switch(T(r.slice(0,4))){case"0x0488b21e":case"0x043587cf":{let l=T(c);return new Wr(Kr,pr(l),l,i,a,null,o,s,null)}case"0x0488ade4":case"0x04358394 ":if(c[0]!==0)break;return new Qr(Kr,new Ge(c.slice(1)),i,a,null,o,s,null,null)}x(!1,"invalid extended key prefix","extendedKey","[ REDACTED ]")}static createRandom(t,r,s){var o;t==null&&(t=""),r==null&&(r=Oa),s==null&&(s=tt.wordlist());let i=It.fromEntropy(je(16),t,s);return R(o=Qr,zi,e0).call(o,i.computeSeed(),i).derivePath(r)}static fromMnemonic(t,r){var s;return r||(r=Oa),R(s=Qr,zi,e0).call(s,t.computeSeed(),t).derivePath(r)}static fromPhrase(t,r,s,i){var a;r==null&&(r=""),s==null&&(s=Oa),i==null&&(i=tt.wordlist());let o=It.fromPhrase(t,r,i);return R(a=Qr,zi,e0).call(a,o.computeSeed(),o).derivePath(s)}static fromSeed(t){var r;return R(r=Qr,zi,e0).call(r,t,null)}},Jr=Qr;t0=new WeakSet,hd=function(){let t={address:this.address,privateKey:this.privateKey},r=this.mnemonic;return this.path&&r&&r.wordlist.locale==="en"&&r.password===""&&(t.mnemonic={path:this.path,locale:"en",entropy:r.entropy}),t},zi=new WeakSet,e0=function(t,r){x(qt(t),"invalid seed","seed","[REDACTED]");let s=v(t,"seed");x(s.length>=16&&s.length<=64,"invalid seed","seed","[REDACTED]");let i=v(ar("sha512",_y,s)),o=new Ge(T(i.slice(0,32)));return new Qr(Kr,o,"0x00000000",T(i.slice(32)),"m",0,0,r,null)},y(Jr,zi);var Wr=class extends ki{constructor(t,r,s,i,o,a,c,l,u){super(r,u);g(this,"publicKey");g(this,"fingerprint");g(this,"parentFingerprint");g(this,"chainCode");g(this,"path");g(this,"index");g(this,"depth");De(t,Kr,"HDNodeVoidWallet"),I(this,{publicKey:s});let d=ne(cr(Pe(s)),0,4);I(this,{publicKey:s,fingerprint:d,parentFingerprint:i,chainCode:o,path:a,index:c,depth:l})}connect(t){return new Wr(Kr,this.address,this.publicKey,this.parentFingerprint,this.chainCode,this.path,this.index,this.depth,t)}get extendedKey(){return E(this.depth<256,"Depth too deep","UNSUPPORTED_OPERATION",{operation:"extendedKey"}),dd(K(["0x0488B21E",Wf(this.depth,1),this.parentFingerprint,Wf(this.index,4),this.chainCode,this.publicKey]))}hasPath(){return this.path!=null}deriveChild(t){let r=H(t,"index");x(r<=4294967295,"invalid index","index",r);let s=this.path;s&&(s+="/"+(r&~zr),r&zr&&(s+="'"));let{IR:i,IL:o}=im(r,this.chainCode,this.publicKey,null),a=Ge.addPoints(o,this.publicKey,!0),c=pr(a);return new Wr(Kr,c,a,this.fingerprint,T(i),s,r,this.depth+1,this.provider)}derivePath(t){return om(this,t)}};function xd(n){let e=H(n,"index");return x(e>=0&&e<zr,"invalid account index","index",e),`m/44'/60'/${e}'/0/0`}function pd(n){let e=H(n,"index");return x(e>=0&&e<zr,"invalid account index","index",e),`m/44'/60'/0'/0/${e}`}p();m();function Sa(n){try{if(JSON.parse(n).encseed)return!0}catch{}return!1}function Ua(n,e){let t=JSON.parse(n),r=Vi(e),s=V(Ae(t,"ethaddr:string!")),i=ud(Ae(t,"encseed:string!"));x(i&&i.length%16===0,"invalid encseed","json",n);let o=v(st(r,r,2e3,32,"sha256")).slice(0,16),a=i.slice(0,16),c=i.slice(16),l=new Hi(o,a),u=ld(v(l.decrypt(c))),d="";for(let b=0;b<u.length;b++)d+=String.fromCharCode(u[b]);return{address:s,privateKey:He(d)}}p();m();function am(n){return new Promise(e=>{setTimeout(()=>{e()},n)})}var r0,md,La=class extends On{constructor(e,t){typeof e=="string"&&!e.startsWith("0x")&&(e="0x"+e);let r=typeof e=="string"?new Ge(e):e;super(r,t)}connect(e){return new La(this.signingKey,e)}async encrypt(e,t){let r={address:this.address,privateKey:this.privateKey};return await Ki(r,e,{progressCallback:t})}encryptSync(e){let t={address:this.address,privateKey:this.privateKey};return Qi(t,e)}static async fromEncryptedJson(e,t,r){var i;let s=null;return Ca(e)?s=await $c(e,t,r):Sa(e)&&(r&&(r(0),await am(0)),s=Ua(e,t),r&&(r(1),await am(0))),R(i=La,r0,md).call(i,s)}static fromEncryptedJsonSync(e,t){var s;let r=null;return Ca(e)?r=Xc(e,t):Sa(e)?r=Ua(e,t):x(!1,"invalid JSON wallet","json","[ REDACTED ]"),R(s=La,r0,md).call(s,r)}static createRandom(e){let t=Jr.createRandom();return e?t.connect(e):t}static fromPhrase(e,t){let r=Jr.fromPhrase(e);return t?r.connect(t):r}},Da=La;r0=new WeakSet,md=function(e){if(x(e,"invalid JSON wallet","json","[ REDACTED ]"),"mnemonic"in e&&e.mnemonic&&e.mnemonic.locale==="en"){let r=It.fromEntropy(e.mnemonic.entropy),s=Jr.fromMnemonic(r,e.mnemonic.path);if(s.address===e.address&&s.privateKey===e.privateKey)return s;console.log("WARNING: JSON mismatch address/privateKey != mnemonic; fallback onto private key")}let t=new La(e.privateKey);return x(t.address===e.address,"address/privateKey mismatch","json","[ REDACTED ]"),t},y(Da,r0);p();m();p();m();p();m();p();m();var Ky=")!@#$%^&*(ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz-_";function cm(n,e){let t=(1<<n)-1,r=[],s=0,i=0,o=0;for(let a=0;a<e.length;a++)for(s=s<<6|Ky.indexOf(e[a]),i+=6;i>=n;){let c=s>>i-n;s&=(1<<i-n)-1,i-=n,c===0?o+=t:(r.push(c+o),o=0)}return r}function fm(n,e){let t=_f(n).join(",");return e.split(/,/g).forEach(r=>{let s=r.match(/^([a-z]*)([0-9]+)([0-9])(.*)$/);x(s!==null,"internal error parsing accents","accents",e);let i=0,o=cm(parseInt(s[3]),s[4]),a=parseInt(s[2]),c=new RegExp(`([${s[1]}])`,"g");t=t.replace(c,(l,u)=>(--o[i]===0&&(u=String.fromCharCode(u.charCodeAt(0),a),i++),u))}),t.split(",")}var s0,n0=class extends Sn{constructor(t,r,s,i){super(t,r,i);y(this,s0,void 0);h(this,s0,s)}get _accent(){return f(this,s0)}_decodeWords(){return fm(this._data,this._accent)}};s0=new WeakMap;p();m();var bd={en:tt.wordlist()};export{Mt as AbiCoder,Qt as AbstractProvider,Kt as AbstractSigner,Dr as AlchemyProvider,Lr as AnkrProvider,kn as BaseContract,On as BaseWallet,li as Block,Wc as BrowserProvider,Fr as ChainstackProvider,Ti as CloudflareProvider,ot as ConstructorFragment,xt as Contract,ui as ContractEventPayload,xi as ContractFactory,qo as ContractTransactionReceipt,En as ContractTransactionResponse,fs as ContractUnknownEventPayload,Cr as EnsPlugin,Nn as EnsResolver,Wo as ErrorDescription,ve as ErrorFragment,Hl as EtherSymbol,vi as EtherscanPlugin,Ii as EtherscanProvider,qe as EventFragment,An as EventLog,Xr as EventPayload,dt as FallbackFragment,Li as FallbackProvider,as as FeeData,Pc as FeeDataNetworkPlugin,so as FetchCancelSignal,ce as FetchRequest,er as FetchResponse,bi as FetchUrlFeeDataNetworkPlugin,Vn as FixedNumber,Nt as Fragment,Ye as FunctionFragment,Ir as GasCostPlugin,Wr as HDNodeVoidWallet,Jr as HDNodeWallet,fi as Indexed,Er as InfuraProvider,ka as InfuraWebSocketProvider,gn as Interface,ed as IpcSocketProvider,Es as JsonRpcApiProvider,we as JsonRpcProvider,As as JsonRpcSigner,tt as LangEn,Pt as Log,zo as LogDescription,Gl as MaxInt256,Fl as MaxUint256,sc as MessagePrefix,Ml as MinInt256,It as Mnemonic,Xo as MulticoinProviderPlugin,Ll as N,bn as NamedFragment,$ as Network,Rt as NetworkPlugin,Jc as NonceManager,ke as ParamType,Ts as PocketProvider,Gr as QuickNodeProvider,sr as Result,Me as Signature,Ge as SigningKey,wa as SocketBlockSubscriber,Ea as SocketEventSubscriber,Aa as SocketPendingSubscriber,Si as SocketProvider,Bs as SocketSubscriber,Ft as StructFragment,kt as Transaction,Jo as TransactionDescription,wn as TransactionReceipt,vr as TransactionResponse,le as Typed,Lt as TypedDataEncoder,cs as UndecodedEventLog,yr as UnmanagedSubscriber,f0 as Utf8ErrorFuncs,ki as VoidSigner,Da as Wallet,In as WebSocketProvider,Dl as WeiPerEther,Fi as Wordlist,Sn as WordlistOwl,n0 as WordlistOwlA,ur as ZeroAddress,bo as ZeroHash,_e as accessListify,E as assert,x as assertArgument,Is as assertArgumentCount,Cs as assertNormalize,De as assertPrivate,w0 as checkResultErrors,pr as computeAddress,ar as computeHmac,K as concat,Gt as copyRequest,ft as dataLength,ne as dataSlice,Ga as decodeBase58,Ha as decodeBase64,wu as decodeBytes32String,Qn as decodeRlp,Ua as decryptCrowdsaleJson,$c as decryptKeystoreJson,Xc as decryptKeystoreJsonSync,Oa as defaultPath,I as defineProperties,dc as dnsEncode,Ss as encodeBase58,_a as encodeBase64,yu as encodeBytes32String,Ot as encodeRlp,Ki as encryptKeystoreJson,Qi as encryptKeystoreJsonSync,$0 as ensNormalize,lm as ethers,il as formatEther,x0 as formatUnits,qr as fromTwos,xd as getAccountPath,V as getAddress,U as getBigInt,v as getBytes,xe as getBytesCopy,Ql as getCreate2Address,ti as getCreateAddress,Xu as getDefaultProvider,Vl as getIcapAddress,pd as getIndexedAccountPath,H as getNumber,Os as getUint,Go as hashMessage,T as hexlify,He as id,zl as isAddress,Eo as isAddressable,qt as isBytesLike,Mn as isCallException,Sa as isCrowdsaleJson,oe as isError,q as isHexString,Ca as isKeystoreJson,iu as isValidName,Z as keccak256,lx as lock,ee as makeError,bt as mask,ts as namehash,ol as parseEther,p0 as parseUnits,st as pbkdf2,je as randomBytes,un as recoverAddress,be as resolveAddress,ue as resolveProperties,cr as ripemd160,fr as scrypt,lr as scryptSync,Pe as sha256,js as sha512,Ke as showThrottleMessage,xc as solidityPacked,du as solidityPackedKeccak256,hu as solidityPackedSha256,Zf as stripZerosLeft,pe as toBeArray,Se as toBeHex,Ct as toBigInt,Ma as toNumber,lt as toQuantity,Yr as toTwos,ae as toUtf8Bytes,Yf as toUtf8CodePoints,rt as toUtf8String,Ya as uuidV4,uu as verifyMessage,mu as verifyTypedData,Zi as version,bd as wordlists,Zr as zeroPadBytes,Ie as zeroPadValue};
window.inOKXExtension = true;
window.inMiniApp = false;
window.ASSETS_BUILD_TYPE = "publish";
//# sourceMappingURL=lib-P4JPZNED.js.map