@cowprotocol/cow-sdk 6.0.0-RC.27 → 6.0.0-RC.28
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/index-2d5c6f87.js +29 -0
- package/dist/index-2d5c6f87.js.map +1 -0
- package/dist/index.js +4 -4
- package/dist/index.js.map +1 -1
- package/dist/index.modern.mjs +1 -1
- package/dist/index.module.js +4 -4
- package/dist/index.module.js.map +1 -1
- package/dist/package.json +5 -5
- package/dist/{utils-df10e15d.js → utils-cf970f74.js} +1 -1
- package/dist/{utils-df10e15d.js.map → utils-cf970f74.js.map} +1 -1
- package/dist/{utils-2426a555.js → utils-e615506c.js} +1 -1
- package/dist/{utils-2426a555.js.map → utils-e615506c.js.map} +1 -1
- package/dist/{utils-9bb3d1df.js → utils-ef72eec9.js} +2 -2
- package/dist/{utils-9bb3d1df.js.map → utils-ef72eec9.js.map} +1 -1
- package/package.json +5 -5
- package/dist/index-ee37a7a1.js +0 -29
- package/dist/index-ee37a7a1.js.map +0 -1
|
@@ -0,0 +1,29 @@
|
|
|
1
|
+
import"cross-fetch/polyfill";import{RateLimiter as e}from"limiter";import{backOff as t}from"exponential-backoff";import{utils as n,Contract as r,ethers as i,constants as s,BigNumber as a}from"ethers";import{MetadataApi as o,stringifyDeterministic as u}from"@cowprotocol/app-data";import{keccak256 as l,toUtf8Bytes as c,defaultAbiCoder as d,solidityKeccak256 as h,getCreate2Address as p,arrayify as f,joinSignature as m,splitSignature as y,formatBytes32String as g}from"ethers/lib/utils";import b from"deepmerge";import{ORDER_TYPE_FIELDS as v,OrderKind as w,SigningScheme as A,hashTypedData as T,isTypedDataSigner as E,OrderBalance as I}from"@cowprotocol/contracts";import{Signer as S,VoidSigner as k}from"@ethersproject/abstract-signer";import{Planner as C,Contract as _}from"@weiroll/weiroll.js";import{gql as x,request as M}from"graphql-request";import{StandardMerkleTree as N}from"@openzeppelin/merkle-tree";var R;function P(e){return"bridge"in e}function O(e){return!P(e)}function B(e){if(!P(e))throw new Error("Quote result is not of type BridgeQuoteAndPost. Are you sure the sell and buy chains different?")}function D(e){if(!O(e))throw new Error("Quote result is not of type QuoteAndPost. Are you sure the sell and buy chains are the same?")}function F(){return F=Object.assign?Object.assign.bind():function(e){for(var t=1;t<arguments.length;t++){var n=arguments[t];for(var r in n)Object.prototype.hasOwnProperty.call(n,r)&&(e[r]=n[r])}return e},F.apply(this,arguments)}function L(e,t){if(null==e)return{};var n,r,i={},s=Object.keys(e);for(r=0;r<s.length;r++)t.indexOf(n=s[r])>=0||(i[n]=e[n]);return i}!function(e){e.NOT_INITIATED="not_initiated",e.IN_PROGRESS="in_progress",e.EXECUTED="executed",e.FAILED="failed",e.EXPIRED="expired"}(R||(R={}));const U="Order";var G,H;!function(e){e[e.MAINNET=1]="MAINNET",e[e.GNOSIS_CHAIN=100]="GNOSIS_CHAIN",e[e.ARBITRUM_ONE=42161]="ARBITRUM_ONE",e[e.BASE=8453]="BASE",e[e.SEPOLIA=11155111]="SEPOLIA"}(G||(G={})),function(e){e[e.POLYGON=137]="POLYGON",e[e.OPTIMISM=10]="OPTIMISM"}(H||(H={}));class q extends Error{constructor(e,t){super(e),this.error_code=void 0,this.error_code=t}}class z extends Error{constructor(e,t){super("string"==typeof t?t:e.statusText),this.response=void 0,this.body=void 0,this.response=e,this.body=t}}const V=[408,425,429,500,502,503,504],K={numOfAttempts:10,maxDelay:Infinity,jitter:"none",retry:e=>!(e instanceof z)||V.includes(e.response.status)},j={tokensPerInterval:5,interval:"second"},W=async e=>{if(204!==e.status)try{const t=e.headers.get("Content-Type");if(t)return t.toLowerCase().startsWith("application/json")?await e.json():await e.text()}catch(e){console.error(e)}};async function J(e,{path:n,query:r,method:i,body:s},a,o){const u=`${e}${n}${r?"?"+r:""}`,l={method:i,body:(()=>{if(s)return"string"==typeof s?s:JSON.stringify(s)})(),headers:{Accept:"application/json","Content-Type":"application/json"}};return t(async()=>{await a.removeTokens(1);const e=await fetch(u,l),t=await W(e);return e.status>=200&&e.status<300?t:Promise.reject(new z(e,t))},o)}const Q="0xEeeeeEeeeEeEeeEeEeEeeEEEeeeeEeeeeeeeEEeE",Y="https://raw.githubusercontent.com/cowprotocol/token-lists/main/src/public/images",X={decimals:18,name:"Wrapped Ether",symbol:"WETH",logoUrl:`${Y}/1/0xc02aaa39b223fe8d0a0e5c4f27ead9083c756cc2/logo.png`},Z={[G.MAINNET]:F({},X,{chainId:G.MAINNET,address:"0xC02aaA39b223FE8D0A0e5C4F27eAD9083C756Cc2"}),[G.GNOSIS_CHAIN]:{chainId:G.GNOSIS_CHAIN,address:"0xe91D153E0b41518A2Ce8Dd3D7944Fa863463a97d",decimals:18,name:"Wrapped XDAI",symbol:"WXDAI",logoUrl:`${Y}/100/0xe91d153e0b41518a2ce8dd3d7944fa863463a97d/logo.png`},[G.ARBITRUM_ONE]:F({},X,{chainId:G.ARBITRUM_ONE,address:"0x82aF49447D8a07e3bd95BD0d56f35241523fBab1"}),[G.BASE]:F({},X,{chainId:G.BASE,address:"0x4200000000000000000000000000000000000006"}),[G.SEPOLIA]:F({},X,{chainId:G.SEPOLIA,address:"0xfFf9976782d46CC05630D1f6eBAb18b2324d6B14"})},$={address:Q,decimals:18,name:"Ether",symbol:"ETH",logoUrl:`${Y}/1/${Q}/logo.png`},ee="https://raw.githubusercontent.com/cowprotocol/cow-sdk/refs/heads/main",te=`${ee}/src/chains`,ne=`${te}/images/mainnet-logo.svg`,re={id:G.MAINNET,label:"Ethereum",nativeCurrency:F({},$,{chainId:G.MAINNET}),addressPrefix:"eth",isTestnet:!1,contracts:{ensRegistry:{address:"0x00000000000C2E074eC69A0dFb2997BA6C7d2e1e"},ensUniversalResolver:{address:"0xce01f8eee7E479C928F8919abD53E553a36CeF67",blockCreated:19258213},multicall3:{address:"0xca11bde05977b3631167028862be2a173976ca11",blockCreated:14353601}},rpcUrls:{default:{http:["https://eth.merkle.io"]}},color:"#62688F",logo:{light:ne,dark:ne},website:{name:"Ethereum",url:"https://ethereum.org"},docs:{name:"Ethereum Docs",url:"https://ethereum.org/en/developers/docs"},blockExplorer:{name:"Etherscan",url:"https://etherscan.io"}},ie=`${te}/images/gnosis-logo.svg`,se={id:G.GNOSIS_CHAIN,label:"Gnosis Chain",nativeCurrency:F({},$,{chainId:G.GNOSIS_CHAIN,name:"xDAI",symbol:"xDAI",logoUrl:`${Y}/100/${Q}/logo.png`}),addressPrefix:"gno",isTestnet:!1,contracts:{multicall3:{address:"0xca11bde05977b3631167028862be2a173976ca11",blockCreated:21022491}},rpcUrls:{default:{http:["https://rpc.gnosischain.com"],webSocket:["wss://rpc.gnosischain.com/wss"]}},color:"#07795B",logo:{light:ie,dark:ie},website:{name:"Gnosis Chain",url:"https://www.gnosischain.com"},docs:{name:"Gnosis Chain Docs",url:"https://docs.gnosischain.com"},blockExplorer:{name:"Gnosisscan",url:"https://gnosisscan.io"},bridges:[{name:"Gnosis Chain Bridge",url:"https://bridge.gnosischain.com"}]},ae=`${te}/images/arbitrum-one-logo-light.svg`,oe=`${te}/images/arbitrum-one-logo-dark.svg`,ue={id:G.ARBITRUM_ONE,label:"Arbitrum One",nativeCurrency:F({},$,{chainId:G.ARBITRUM_ONE}),addressPrefix:"arb1",isTestnet:!1,contracts:{multicall3:{address:"0xca11bde05977b3631167028862be2a173976ca11",blockCreated:7654707}},rpcUrls:{default:{http:["https://arb1.arbitrum.io/rpc"]}},color:"#1B4ADD",logo:{light:ae,dark:oe},website:{name:"Arbitrum",url:"https://arbitrum.io"},docs:{name:"Arbitrum Docs",url:"https://docs.arbitrum.io"},blockExplorer:{name:"Arbiscan",url:"https://arbiscan.io"},bridges:[{name:"Arbitrum Bridge",url:"https://bridge.arbitrum.io"}]},le=`${te}/images/base-logo.svg`,ce={id:G.BASE,label:"Base",nativeCurrency:F({},$,{chainId:G.BASE}),addressPrefix:"base",isTestnet:!1,contracts:{multicall3:{address:"0xca11bde05977b3631167028862be2a173976ca11",blockCreated:5022}},rpcUrls:{default:{http:["https://mainnet.base.org"]}},color:"#0052FF",logo:{light:le,dark:le},website:{name:"Base",url:"https://base.org"},docs:{name:"Base Docs",url:"https://docs.base.org"},blockExplorer:{name:"BaseScan",url:"https://basescan.org"},bridges:[{name:"Superchain Bridges",url:"https://bridge.base.org/deposit"}]},de=`${te}/images/sepolia-logo.svg`,he={id:G.SEPOLIA,label:"Sepolia",nativeCurrency:F({},$,{chainId:G.SEPOLIA}),addressPrefix:"sep",isTestnet:!0,contracts:{multicall3:{address:"0xca11bde05977b3631167028862be2a173976ca11",blockCreated:751532},ensRegistry:{address:"0x00000000000C2E074eC69A0dFb2997BA6C7d2e1e"},ensUniversalResolver:{address:"0xc8Af999e38273D658BE1b921b88A9Ddf005769cC",blockCreated:5317080}},rpcUrls:{default:{http:["https://sepolia.drpc.org"]}},color:"#C12FF2",logo:{light:de,dark:de},website:{name:"Ethereum",url:"https://sepolia.dev"},docs:{name:"Sepolia Docs",url:"https://ethereum.org/en/developers/docs/networks/#sepolia"},blockExplorer:{name:"Etherscan",url:"https://sepolia.etherscan.io"}},pe=`${te}/images/optimism-logo.svg`,fe={id:10,label:"Optimism",logo:{light:pe,dark:pe},nativeCurrency:F({},$,{chainId:10}),addressPrefix:"op",isTestnet:!1,contracts:{multicall3:{address:"0xca11bde05977b3631167028862be2a173976ca11",blockCreated:4286263}},rpcUrls:{default:{http:["https://mainnet.optimism.io"]}},color:"#ff0420",website:{name:"Optimism",url:"https://optimism.io"},docs:{name:"Optimism Docs",url:"https://docs.optimism.io"},blockExplorer:{name:"Etherscan",url:"https://optimistic.etherscan.io"}},me=`${te}/polygon-logo.svg`,ye={id:137,label:"Polygon",logo:{light:me,dark:me},nativeCurrency:F({},$,{chainId:137,name:"POL",symbol:"POL",logoUrl:me}),addressPrefix:"op",isTestnet:!1,contracts:{multicall3:{address:"0xca11bde05977b3631167028862be2a173976ca11",blockCreated:25770160}},rpcUrls:{default:{http:["https://polygon-rpc.com"]}},color:"#ff0420",website:{name:"Polygon",url:"https://polygon.technology"},docs:{name:"Polygon Docs",url:"https://docs.polygon.technology"},blockExplorer:{name:"PolygonScan",url:"https://polygonscan.com"}},ge={[G.MAINNET]:re,[G.GNOSIS_CHAIN]:se,[G.ARBITRUM_ONE]:ue,[G.BASE]:ce,[G.SEPOLIA]:he},be=Object.values(ge),ve=be.map(e=>e.id),we={[H.OPTIMISM]:fe,[H.POLYGON]:ye},Ae=be.concat(Object.values(we)),Te=Ae.map(e=>e.id);function Ee(e){return ve.reduce((t,n)=>F({},t,{[n]:"function"==typeof e?e(n):e}),{})}function Ie(e){return Ee(e)}const Se="0xEeeeeEeeeEeEeeEeEeEeeEEEeeeeEeeeeeeeEEeE",ke="0x2f55e8b20D0B9FEFA187AA7d00B6Cbe563605bF5",Ce="0xfdaFc9d1902f4e0b84f65F49f244b32b31013b74",_e="0x00E989b87700514118Fa55326CD1cCE82faebEF6",xe="0x2CFFA8cf11B90C9F437567b86352169dF4009F73",Me=Ie("0x9008D19f58AAbD9eD0D60971565AA8510560ab41"),Ne=Ie("0xC92E8bdf79f0507f65a392b0ab4667716BFE0110"),Re=Ie(ke),Pe=Ie(Ce),Oe="0xba3cb449bd2b4adddbc894d8697f5170800eadec",Be="0x04501b9b1d52e67f6862d157e00d13419d2d6e95",De=Ie(Oe),Fe=Ie(Be),Le=4294967295;function Ue(e){return function(e){const{ethflowData:t}=e;if(!t)return e;const{userValidTo:n}=t;return F({},e,{validTo:n,owner:e.onchainUser||e.owner,sellToken:Se})}(function(e){const{executedFeeAmount:t,executedFee:n}=e,r=BigInt(t||"0"),i=BigInt(n||"0");return F({},e,{totalFee:String(r+i)})}(e))}let Ge=!1;function He(e){Ge&&console.log(`[COW TRADING SDK] ${e}`)}function qe(e){Ge=e}const ze=["prod","staging"],Ve={env:"prod",chainId:G.MAINNET},Ke="https://gnosis.mypinata.cloud/ipfs",je="https://api.pinata.cloud",We=(e,t)=>"bigint"==typeof t||"object"==typeof t&&null!==t&&"_isBigNumber"in t?t.toString():t,Je={[G.MAINNET]:"https://api.cow.fi/mainnet",[G.GNOSIS_CHAIN]:"https://api.cow.fi/xdai",[G.ARBITRUM_ONE]:"https://api.cow.fi/arbitrum_one",[G.BASE]:"https://api.cow.fi/base",[G.SEPOLIA]:"https://api.cow.fi/sepolia"},Qe={[G.MAINNET]:"https://barn.api.cow.fi/mainnet",[G.GNOSIS_CHAIN]:"https://barn.api.cow.fi/xdai",[G.ARBITRUM_ONE]:"https://barn.api.cow.fi/arbitrum_one",[G.BASE]:"https://barn.api.cow.fi/base",[G.SEPOLIA]:"https://barn.api.cow.fi/sepolia"};function Ye(e){return Object.keys(e).reduce((t,n)=>{const r=e[n];return void 0!==r&&(t[n]=r),t},{})}class Xe{constructor(t={}){this.context=void 0,this.rateLimiter=void 0,this.context=F({},Ve,t),this.rateLimiter=new e(t.limiterOpts||j)}getVersion(e={}){return this.fetch({path:"/api/v1/version",method:"GET"},e)}getTrades(e,t={}){if(e.owner&&e.orderUid)return Promise.reject(new q("Cannot specify both owner and orderId"));if(!e.owner&&!e.orderUid)return Promise.reject(new q("Must specify either owner or orderId"));const n=new URLSearchParams(Ye(e));return this.fetch({path:"/api/v1/trades",method:"GET",query:n},t)}getOrders({owner:e,offset:t=0,limit:n=1e3},r={}){const i=new URLSearchParams(Ye({offset:t.toString(),limit:n.toString()}));return this.fetch({path:`/api/v1/account/${e}/orders`,method:"GET",query:i},r).then(e=>e.map(Ue))}getTxOrders(e,t={}){return this.fetch({path:`/api/v1/transactions/${e}/orders`,method:"GET"},t).then(e=>e.map(Ue))}getOrder(e,t={}){return this.fetch({path:`/api/v1/orders/${e}`,method:"GET"},t).then(e=>Ue(e))}getOrderCompetitionStatus(e,t={}){return this.fetch({path:`/api/v1/orders/${e}/status`,method:"GET"},t)}getOrderMultiEnv(e,t={}){const{env:n}=this.getContextWithOverride(t),r=ze.filter(e=>e!==n);let i=0;const s=n=>{const a=r[i];return n instanceof z&&404===n.response.status&&a?(i++,this.getOrder(e,F({},t,{env:a})).catch(s)):Promise.reject(n)};return this.getOrder(e,F({},t,{env:n})).catch(s)}getQuote(e,t={}){return this.fetch({path:"/api/v1/quote",method:"POST",body:e},t)}sendSignedOrderCancellations(e,t={}){return this.fetch({path:"/api/v1/orders",method:"DELETE",body:e},t)}sendOrder(e,t={}){return this.fetch({path:"/api/v1/orders",method:"POST",body:e},t)}getNativePrice(e,t={}){return this.fetch({path:`/api/v1/token/${e}/native_price`,method:"GET"},t)}getTotalSurplus(e,t={}){return this.fetch({path:`/api/v1/users/${e}/total_surplus`,method:"GET"},t)}getAppData(e,t={}){return this.fetch({path:`/api/v1/app_data/${e}`,method:"GET"},t)}uploadAppData(e,t,n={}){return this.fetch({path:`/api/v1/app_data/${e}`,method:"PUT",body:{fullAppData:t}},n)}getSolverCompetition(e,t={}){return this.fetch({path:`/api/v1/solver_competition${"string"==typeof e?"/by_tx_hash":""}/${e}`,method:"GET"},t)}getOrderLink(e,t){const{chainId:n,env:r}=this.getContextWithOverride(t);return this.getApiBaseUrls(r)[n]+`/api/v1/orders/${e}`}getContextWithOverride(e={}){return F({},this.context,e)}getApiBaseUrls(e){return this.context.baseUrls?this.context.baseUrls:"prod"===e?Je:Qe}fetch(t,n={}){const{chainId:r,env:i,backoffOpts:s}=this.getContextWithOverride(n),a=this.getApiBaseUrls(i)[r],o=s||K,u=n.limiterOpts?new e(n.limiterOpts):this.rateLimiter;return He(`Fetching OrderBook API: ${a}${t.path}. Params: ${JSON.stringify(t,We)}`),J(a,t,u,o)}}var Ze,$e,et,tt,nt,rt,it,st,at,ot,ut,lt,ct,dt,ht;!function(e){e.ERC20="erc20",e.INTERNAL="internal"}(Ze||(Ze={})),function(e){var t;(t=e.type||(e.type={})).OPEN="open",t.SCHEDULED="scheduled",t.ACTIVE="active",t.SOLVED="solved",t.EXECUTING="executing",t.TRADED="traded",t.CANCELLED="cancelled"}($e||($e={})),function(e){e.EIP712="eip712",e.ETHSIGN="ethsign"}(et||(et={})),function(e){var t;(t=e.placementError||(e.placementError={})).QUOTE_NOT_FOUND="QuoteNotFound",t.VALID_TO_TOO_FAR_IN_FUTURE="ValidToTooFarInFuture",t.PRE_VALIDATION_ERROR="PreValidationError"}(tt||(tt={})),function(e){var t;(t=e.errorType||(e.errorType={})).INVALID_SIGNATURE="InvalidSignature",t.WRONG_OWNER="WrongOwner",t.ORDER_NOT_FOUND="OrderNotFound",t.ALREADY_CANCELLED="AlreadyCancelled",t.ORDER_FULLY_EXECUTED="OrderFullyExecuted",t.ORDER_EXPIRED="OrderExpired",t.ON_CHAIN_ORDER="OnChainOrder"}(nt||(nt={})),function(e){e.MARKET="market",e.LIMIT="limit",e.LIQUIDITY="liquidity"}(rt||(rt={})),function(e){e.BUY="buy",e.SELL="sell"}(it||(it={})),function(e){var t;(t=e.errorType||(e.errorType={})).DUPLICATED_ORDER="DuplicatedOrder",t.QUOTE_NOT_FOUND="QuoteNotFound",t.QUOTE_NOT_VERIFIED="QuoteNotVerified",t.INVALID_QUOTE="InvalidQuote",t.MISSING_FROM="MissingFrom",t.WRONG_OWNER="WrongOwner",t.INVALID_EIP1271SIGNATURE="InvalidEip1271Signature",t.INSUFFICIENT_BALANCE="InsufficientBalance",t.INSUFFICIENT_ALLOWANCE="InsufficientAllowance",t.INVALID_SIGNATURE="InvalidSignature",t.SELL_AMOUNT_OVERFLOW="SellAmountOverflow",t.TRANSFER_SIMULATION_FAILED="TransferSimulationFailed",t.ZERO_AMOUNT="ZeroAmount",t.INCOMPATIBLE_SIGNING_SCHEME="IncompatibleSigningScheme",t.TOO_MANY_LIMIT_ORDERS="TooManyLimitOrders",t.TOO_MUCH_GAS="TooMuchGas",t.UNSUPPORTED_BUY_TOKEN_DESTINATION="UnsupportedBuyTokenDestination",t.UNSUPPORTED_SELL_TOKEN_SOURCE="UnsupportedSellTokenSource",t.UNSUPPORTED_ORDER_TYPE="UnsupportedOrderType",t.INSUFFICIENT_VALID_TO="InsufficientValidTo",t.EXCESSIVE_VALID_TO="ExcessiveValidTo",t.INVALID_NATIVE_SELL_TOKEN="InvalidNativeSellToken",t.SAME_BUY_AND_SELL_TOKEN="SameBuyAndSellToken",t.UNSUPPORTED_TOKEN="UnsupportedToken",t.INVALID_APP_DATA="InvalidAppData",t.APP_DATA_HASH_MISMATCH="AppDataHashMismatch",t.APPDATA_FROM_MISMATCH="AppdataFromMismatch"}(st||(st={})),function(e){e.BUY="buy"}(at||(at={})),function(e){e.SELL="sell"}(ot||(ot={})),function(e){e.PRESIGNATURE_PENDING="presignaturePending",e.OPEN="open",e.FULFILLED="fulfilled",e.CANCELLED="cancelled",e.EXPIRED="expired"}(ut||(ut={})),function(e){var t;(t=e.errorType||(e.errorType={})).QUOTE_NOT_VERIFIED="QuoteNotVerified",t.UNSUPPORTED_TOKEN="UnsupportedToken",t.ZERO_AMOUNT="ZeroAmount",t.UNSUPPORTED_ORDER_TYPE="UnsupportedOrderType"}(lt||(lt={})),function(e){e.FAST="fast",e.OPTIMAL="optimal",e.VERIFIED="verified"}(ct||(ct={})),function(e){e.ERC20="erc20",e.INTERNAL="internal",e.EXTERNAL="external"}(dt||(dt={})),function(e){e.EIP712="eip712",e.ETHSIGN="ethsign",e.PRESIGN="presign",e.EIP1271="eip1271"}(ht||(ht={}));const pt=BigInt(1e4);function ft(e){var t;const{orderParams:n,sellDecimals:r,buyDecimals:i,slippagePercentBps:s}=e,a=null!==(t=e.partnerFeeBps)&&void 0!==t?t:0,o=n.kind===it.SELL,u=mt(n.feeAmount,r),l=mt(n.sellAmount,r),c=mt(n.buyAmount,i),d=c.num/l.num,h=mt(l.big+u.big,r),p=mt(d*h.num,i),f=a>0?(o?p.big:l.big)*BigInt(a)/pt:BigInt(0),m=o?{sellAmount:h.big,buyAmount:c.big-f}:{sellAmount:h.big+f,buyAmount:c.big},y=e=>e*BigInt(s)/pt,g=o?{sellAmount:m.sellAmount,buyAmount:m.buyAmount-y(m.buyAmount)}:{sellAmount:m.sellAmount+y(m.sellAmount),buyAmount:m.buyAmount};return{isSell:o,costs:{networkFee:{amountInSellCurrency:u.big,amountInBuyCurrency:mt(d*u.num,i).big},partnerFee:{amount:f,bps:a}},beforeNetworkCosts:{sellAmount:l.big,buyAmount:p.big},afterNetworkCosts:{sellAmount:h.big,buyAmount:c.big},afterPartnerFees:m,afterSlippage:g}}function mt(e,t){if("number"==typeof e){const n=e*10**t,r=n.toFixed();return{big:BigInt(r.includes("e")?n:r),num:e}}const n=BigInt(e);return{big:n,num:Number(n)/10**t}}function yt(e){return gt(e)?ge[e]:bt(e)?we[e]:void 0}function gt(e){return e in ge}function bt(e){return e in we}function vt(e){return gt(e)||bt(e)}const wt=1800,At=50,Tt={[G.MAINNET]:200,[G.ARBITRUM_ONE]:50,[G.BASE]:50,[G.GNOSIS_CHAIN]:50,[G.SEPOLIA]:50},Et={[et.EIP712]:ht.EIP712,[et.ETHSIGN]:ht.ETHSIGN},It=BigInt(15e4),St=()=>import("./utils-ef72eec9.js");class kt{static async signOrder(e,t,n){const{signOrder:r}=await St();return r(e,t,n)}static async signOrderCancellation(e,t,n){const{signOrderCancellation:r}=await St();return r(e,t,n)}static async signOrderCancellations(e,t,n){const{signOrderCancellations:r}=await St();return r(e,t,n)}static async getDomain(e){const{getDomain:t}=await St();return t(e)}static async generateOrderId(e,t,n){const{generateOrderId:r}=await St();return r(e,t,n)}static async getDomainSeparator(e){const{getDomain:t}=await St(),{_TypedDataEncoder:n}=await import("ethers/lib/utils");return n.hashDomain(t(e))}static getEIP712Types(){return{Order:[{name:"sellToken",type:"address"},{name:"buyToken",type:"address"},{name:"receiver",type:"address"},{name:"sellAmount",type:"uint256"},{name:"buyAmount",type:"uint256"},{name:"validTo",type:"uint32"},{name:"appData",type:"bytes32"},{name:"feeAmount",type:"uint256"},{name:"kind",type:"string"},{name:"partiallyFillable",type:"bool"},{name:"sellTokenBalance",type:"string"},{name:"buyTokenBalance",type:"string"}]}}}function Ct({from:e,networkCostsAmount:t="0"},n,r){const{sellAmount:i,buyAmount:s,sellToken:a,sellTokenDecimals:o,buyToken:u,buyTokenDecimals:l,kind:c,partiallyFillable:d=!1,slippageBps:h=At,partnerFee:p,validFor:f}=n,m=n.receiver||e,y=n.validTo||Math.floor(Date.now()/1e3)+(f||wt),g={sellToken:a,buyToken:u,sellAmount:i,buyAmount:s,receiver:m,validTo:y,kind:c,feeAmount:t,appData:r,partiallyFillable:d},{afterSlippage:b}=ft({orderParams:g,slippagePercentBps:h,partnerFeeBps:null==p?void 0:p.bps,sellDecimals:o,buyDecimals:l});return{sellToken:a,buyToken:u,sellAmount:b.sellAmount.toString(),buyAmount:b.buyAmount.toString(),validTo:y,kind:c,partiallyFillable:d,appData:r,receiver:m,feeAmount:"0",sellTokenBalance:dt.ERC20,buyTokenBalance:Ze.ERC20}}async function _t(e,t,n,r){const{orderDigest:i,orderId:s}=await kt.generateOrderId(e,F({},t,{sellTokenBalance:t.sellTokenBalance,buyTokenBalance:t.buyTokenBalance,validTo:Le,sellToken:Z[e].address}),{owner:"staging"===r?Be:Oe});return n&&await n(s,i)?(console.error("ETH FLOW","[calculateUniqueOrderId] ❌ Collision detected: "+s,{sellAmount:t.sellAmount,fee:t.feeAmount}),_t(e,function(e){return F({},e,{buyAmount:(BigInt(e.buyAmount)-BigInt(1)).toString()})}(t),n)):s}const xt=[{inputs:[{internalType:"address",name:"impl",type:"address"},{internalType:"bytes32",name:"bName",type:"bytes32"},{internalType:"bytes32",name:"bNode",type:"bytes32"}],stateMutability:"nonpayable",type:"constructor"},{inputs:[],name:"InvalidSignature",type:"error"},{inputs:[],name:"NonceAlreadyUsed",type:"error"},{inputs:[],name:"SettingEnsRecordsFailed",type:"error"},{anonymous:!1,inputs:[{indexed:!1,internalType:"address",name:"user",type:"address"},{indexed:!1,internalType:"address",name:"shed",type:"address"}],name:"COWShedBuilt",type:"event"},{inputs:[{internalType:"bytes32",name:"node",type:"bytes32"}],name:"addr",outputs:[{internalType:"address",name:"",type:"address"}],stateMutability:"view",type:"function"},{inputs:[],name:"baseName",outputs:[{internalType:"string",name:"",type:"string"}],stateMutability:"view",type:"function"},{inputs:[],name:"baseNode",outputs:[{internalType:"bytes32",name:"",type:"bytes32"}],stateMutability:"view",type:"function"},{inputs:[{components:[{internalType:"address",name:"target",type:"address"},{internalType:"uint256",name:"value",type:"uint256"},{internalType:"bytes",name:"callData",type:"bytes"},{internalType:"bool",name:"allowFailure",type:"bool"},{internalType:"bool",name:"isDelegateCall",type:"bool"}],internalType:"struct Call[]",name:"calls",type:"tuple[]"},{internalType:"bytes32",name:"nonce",type:"bytes32"},{internalType:"uint256",name:"deadline",type:"uint256"},{internalType:"address",name:"user",type:"address"},{internalType:"bytes",name:"signature",type:"bytes"}],name:"executeHooks",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"bytes32",name:"",type:"bytes32"}],name:"forwardResolutionNodeToAddress",outputs:[{internalType:"address",name:"",type:"address"}],stateMutability:"view",type:"function"},{inputs:[],name:"implementation",outputs:[{internalType:"address",name:"",type:"address"}],stateMutability:"view",type:"function"},{inputs:[{internalType:"address",name:"user",type:"address"}],name:"initializeEns",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"address",name:"user",type:"address"},{internalType:"bool",name:"withEns",type:"bool"}],name:"initializeProxy",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"bytes32",name:"node",type:"bytes32"}],name:"name",outputs:[{internalType:"string",name:"",type:"string"}],stateMutability:"view",type:"function"},{inputs:[{internalType:"address",name:"",type:"address"}],name:"ownerOf",outputs:[{internalType:"address",name:"",type:"address"}],stateMutability:"view",type:"function"},{inputs:[{internalType:"address",name:"who",type:"address"}],name:"proxyOf",outputs:[{internalType:"address",name:"",type:"address"}],stateMutability:"view",type:"function"},{inputs:[{internalType:"bytes32",name:"",type:"bytes32"}],name:"reverseResolutionNodeToAddress",outputs:[{internalType:"address",name:"",type:"address"}],stateMutability:"view",type:"function"},{inputs:[{internalType:"bytes4",name:"interfaceId",type:"bytes4"}],name:"supportsInterface",outputs:[{internalType:"bool",name:"",type:"bool"}],stateMutability:"pure",type:"function"}];class Mt{static createInterface(){return new n.Interface(xt)}static connect(e,t){return new r(e,xt,t)}}Mt.abi=xt;const Nt=[{inputs:[{internalType:"address",name:"_settlement",type:"address"}],stateMutability:"nonpayable",type:"constructor"},{inputs:[],name:"InterfaceNotSupported",type:"error"},{inputs:[],name:"InvalidHandler",type:"error"},{inputs:[],name:"ProofNotAuthed",type:"error"},{inputs:[],name:"SingleOrderNotAuthed",type:"error"},{inputs:[],name:"SwapGuardRestricted",type:"error"},{anonymous:!1,inputs:[{indexed:!0,internalType:"address",name:"owner",type:"address"},{components:[{internalType:"contract IConditionalOrder",name:"handler",type:"address"},{internalType:"bytes32",name:"salt",type:"bytes32"},{internalType:"bytes",name:"staticInput",type:"bytes"}],indexed:!1,internalType:"struct IConditionalOrder.ConditionalOrderParams",name:"params",type:"tuple"}],name:"ConditionalOrderCreated",type:"event"},{anonymous:!1,inputs:[{indexed:!0,internalType:"address",name:"owner",type:"address"},{indexed:!1,internalType:"bytes32",name:"root",type:"bytes32"},{components:[{internalType:"uint256",name:"location",type:"uint256"},{internalType:"bytes",name:"data",type:"bytes"}],indexed:!1,internalType:"struct ComposableCoW.Proof",name:"proof",type:"tuple"}],name:"MerkleRootSet",type:"event"},{anonymous:!1,inputs:[{indexed:!0,internalType:"address",name:"owner",type:"address"},{indexed:!1,internalType:"contract ISwapGuard",name:"swapGuard",type:"address"}],name:"SwapGuardSet",type:"event"},{inputs:[{internalType:"address",name:"",type:"address"},{internalType:"bytes32",name:"",type:"bytes32"}],name:"cabinet",outputs:[{internalType:"bytes32",name:"",type:"bytes32"}],stateMutability:"view",type:"function"},{inputs:[{components:[{internalType:"contract IConditionalOrder",name:"handler",type:"address"},{internalType:"bytes32",name:"salt",type:"bytes32"},{internalType:"bytes",name:"staticInput",type:"bytes"}],internalType:"struct IConditionalOrder.ConditionalOrderParams",name:"params",type:"tuple"},{internalType:"bool",name:"dispatch",type:"bool"}],name:"create",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[{components:[{internalType:"contract IConditionalOrder",name:"handler",type:"address"},{internalType:"bytes32",name:"salt",type:"bytes32"},{internalType:"bytes",name:"staticInput",type:"bytes"}],internalType:"struct IConditionalOrder.ConditionalOrderParams",name:"params",type:"tuple"},{internalType:"contract IValueFactory",name:"factory",type:"address"},{internalType:"bytes",name:"data",type:"bytes"},{internalType:"bool",name:"dispatch",type:"bool"}],name:"createWithContext",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[],name:"domainSeparator",outputs:[{internalType:"bytes32",name:"",type:"bytes32"}],stateMutability:"view",type:"function"},{inputs:[{internalType:"address",name:"owner",type:"address"},{components:[{internalType:"contract IConditionalOrder",name:"handler",type:"address"},{internalType:"bytes32",name:"salt",type:"bytes32"},{internalType:"bytes",name:"staticInput",type:"bytes"}],internalType:"struct IConditionalOrder.ConditionalOrderParams",name:"params",type:"tuple"},{internalType:"bytes",name:"offchainInput",type:"bytes"},{internalType:"bytes32[]",name:"proof",type:"bytes32[]"}],name:"getTradeableOrderWithSignature",outputs:[{components:[{internalType:"contract IERC20",name:"sellToken",type:"address"},{internalType:"contract IERC20",name:"buyToken",type:"address"},{internalType:"address",name:"receiver",type:"address"},{internalType:"uint256",name:"sellAmount",type:"uint256"},{internalType:"uint256",name:"buyAmount",type:"uint256"},{internalType:"uint32",name:"validTo",type:"uint32"},{internalType:"bytes32",name:"appData",type:"bytes32"},{internalType:"uint256",name:"feeAmount",type:"uint256"},{internalType:"bytes32",name:"kind",type:"bytes32"},{internalType:"bool",name:"partiallyFillable",type:"bool"},{internalType:"bytes32",name:"sellTokenBalance",type:"bytes32"},{internalType:"bytes32",name:"buyTokenBalance",type:"bytes32"}],internalType:"struct GPv2Order.Data",name:"order",type:"tuple"},{internalType:"bytes",name:"signature",type:"bytes"}],stateMutability:"view",type:"function"},{inputs:[{components:[{internalType:"contract IConditionalOrder",name:"handler",type:"address"},{internalType:"bytes32",name:"salt",type:"bytes32"},{internalType:"bytes",name:"staticInput",type:"bytes"}],internalType:"struct IConditionalOrder.ConditionalOrderParams",name:"params",type:"tuple"}],name:"hash",outputs:[{internalType:"bytes32",name:"",type:"bytes32"}],stateMutability:"pure",type:"function"},{inputs:[{internalType:"contract Safe",name:"safe",type:"address"},{internalType:"address",name:"sender",type:"address"},{internalType:"bytes32",name:"_hash",type:"bytes32"},{internalType:"bytes32",name:"_domainSeparator",type:"bytes32"},{internalType:"bytes32",name:"",type:"bytes32"},{internalType:"bytes",name:"encodeData",type:"bytes"},{internalType:"bytes",name:"payload",type:"bytes"}],name:"isValidSafeSignature",outputs:[{internalType:"bytes4",name:"magic",type:"bytes4"}],stateMutability:"view",type:"function"},{inputs:[{internalType:"bytes32",name:"singleOrderHash",type:"bytes32"}],name:"remove",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"address",name:"",type:"address"}],name:"roots",outputs:[{internalType:"bytes32",name:"",type:"bytes32"}],stateMutability:"view",type:"function"},{inputs:[{internalType:"bytes32",name:"root",type:"bytes32"},{components:[{internalType:"uint256",name:"location",type:"uint256"},{internalType:"bytes",name:"data",type:"bytes"}],internalType:"struct ComposableCoW.Proof",name:"proof",type:"tuple"}],name:"setRoot",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"bytes32",name:"root",type:"bytes32"},{components:[{internalType:"uint256",name:"location",type:"uint256"},{internalType:"bytes",name:"data",type:"bytes"}],internalType:"struct ComposableCoW.Proof",name:"proof",type:"tuple"},{internalType:"contract IValueFactory",name:"factory",type:"address"},{internalType:"bytes",name:"data",type:"bytes"}],name:"setRootWithContext",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"contract ISwapGuard",name:"swapGuard",type:"address"}],name:"setSwapGuard",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"address",name:"",type:"address"},{internalType:"bytes32",name:"",type:"bytes32"}],name:"singleOrders",outputs:[{internalType:"bool",name:"",type:"bool"}],stateMutability:"view",type:"function"},{inputs:[{internalType:"address",name:"",type:"address"}],name:"swapGuards",outputs:[{internalType:"contract ISwapGuard",name:"",type:"address"}],stateMutability:"view",type:"function"}];class Rt{static createInterface(){return new n.Interface(Nt)}static connect(e,t){return new r(e,Nt,t)}}Rt.abi=Nt;const Pt=[{inputs:[{components:[{internalType:"contract IERC20",name:"buyToken",type:"address"},{internalType:"address",name:"receiver",type:"address"},{internalType:"uint256",name:"sellAmount",type:"uint256"},{internalType:"uint256",name:"buyAmount",type:"uint256"},{internalType:"bytes32",name:"appData",type:"bytes32"},{internalType:"uint256",name:"feeAmount",type:"uint256"},{internalType:"uint32",name:"validTo",type:"uint32"},{internalType:"bool",name:"partiallyFillable",type:"bool"},{internalType:"int64",name:"quoteId",type:"int64"}],internalType:"struct EthFlowOrder.Data",name:"order",type:"tuple"}],name:"createOrder",outputs:[{internalType:"bytes32",name:"orderHash",type:"bytes32"}],stateMutability:"payable",type:"function"},{inputs:[{components:[{internalType:"contract IERC20",name:"buyToken",type:"address"},{internalType:"address",name:"receiver",type:"address"},{internalType:"uint256",name:"sellAmount",type:"uint256"},{internalType:"uint256",name:"buyAmount",type:"uint256"},{internalType:"bytes32",name:"appData",type:"bytes32"},{internalType:"uint256",name:"feeAmount",type:"uint256"},{internalType:"uint32",name:"validTo",type:"uint32"},{internalType:"bool",name:"partiallyFillable",type:"bool"},{internalType:"int64",name:"quoteId",type:"int64"}],internalType:"struct EthFlowOrder.Data",name:"order",type:"tuple"}],name:"invalidateOrder",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"bytes32",name:"",type:"bytes32"}],name:"orders",outputs:[{internalType:"address",name:"owner",type:"address"},{internalType:"uint32",name:"validTo",type:"uint32"}],stateMutability:"view",type:"function"}];class Ot{static createInterface(){return new n.Interface(Pt)}static connect(e,t){return new r(e,Pt,t)}}Ot.abi=Pt;const Bt=[{anonymous:!1,inputs:[{indexed:!0,internalType:"contract Safe",name:"safe",type:"address"},{indexed:!1,internalType:"bytes32",name:"domainSeparator",type:"bytes32"},{indexed:!1,internalType:"contract ISafeSignatureVerifier",name:"verifier",type:"address"}],name:"AddedDomainVerifier",type:"event"},{anonymous:!1,inputs:[{indexed:!0,internalType:"contract Safe",name:"safe",type:"address"},{indexed:!1,internalType:"bytes4",name:"interfaceId",type:"bytes4"}],name:"AddedInterface",type:"event"},{anonymous:!1,inputs:[{indexed:!0,internalType:"contract Safe",name:"safe",type:"address"},{indexed:!1,internalType:"bytes4",name:"selector",type:"bytes4"},{indexed:!1,internalType:"bytes32",name:"method",type:"bytes32"}],name:"AddedSafeMethod",type:"event"},{anonymous:!1,inputs:[{indexed:!0,internalType:"contract Safe",name:"safe",type:"address"},{indexed:!1,internalType:"bytes32",name:"domainSeparator",type:"bytes32"},{indexed:!1,internalType:"contract ISafeSignatureVerifier",name:"oldVerifier",type:"address"},{indexed:!1,internalType:"contract ISafeSignatureVerifier",name:"newVerifier",type:"address"}],name:"ChangedDomainVerifier",type:"event"},{anonymous:!1,inputs:[{indexed:!0,internalType:"contract Safe",name:"safe",type:"address"},{indexed:!1,internalType:"bytes4",name:"selector",type:"bytes4"},{indexed:!1,internalType:"bytes32",name:"oldMethod",type:"bytes32"},{indexed:!1,internalType:"bytes32",name:"newMethod",type:"bytes32"}],name:"ChangedSafeMethod",type:"event"},{anonymous:!1,inputs:[{indexed:!0,internalType:"contract Safe",name:"safe",type:"address"},{indexed:!1,internalType:"bytes32",name:"domainSeparator",type:"bytes32"}],name:"RemovedDomainVerifier",type:"event"},{anonymous:!1,inputs:[{indexed:!0,internalType:"contract Safe",name:"safe",type:"address"},{indexed:!1,internalType:"bytes4",name:"interfaceId",type:"bytes4"}],name:"RemovedInterface",type:"event"},{anonymous:!1,inputs:[{indexed:!0,internalType:"contract Safe",name:"safe",type:"address"},{indexed:!1,internalType:"bytes4",name:"selector",type:"bytes4"}],name:"RemovedSafeMethod",type:"event"},{stateMutability:"nonpayable",type:"fallback"},{inputs:[{internalType:"contract Safe",name:"",type:"address"},{internalType:"bytes32",name:"",type:"bytes32"}],name:"domainVerifiers",outputs:[{internalType:"contract ISafeSignatureVerifier",name:"",type:"address"}],stateMutability:"view",type:"function"},{inputs:[{internalType:"bytes32",name:"_hash",type:"bytes32"},{internalType:"bytes",name:"signature",type:"bytes"}],name:"isValidSignature",outputs:[{internalType:"bytes4",name:"magic",type:"bytes4"}],stateMutability:"view",type:"function"},{inputs:[{internalType:"address",name:"",type:"address"},{internalType:"address",name:"",type:"address"},{internalType:"uint256[]",name:"",type:"uint256[]"},{internalType:"uint256[]",name:"",type:"uint256[]"},{internalType:"bytes",name:"",type:"bytes"}],name:"onERC1155BatchReceived",outputs:[{internalType:"bytes4",name:"",type:"bytes4"}],stateMutability:"pure",type:"function"},{inputs:[{internalType:"address",name:"",type:"address"},{internalType:"address",name:"",type:"address"},{internalType:"uint256",name:"",type:"uint256"},{internalType:"uint256",name:"",type:"uint256"},{internalType:"bytes",name:"",type:"bytes"}],name:"onERC1155Received",outputs:[{internalType:"bytes4",name:"",type:"bytes4"}],stateMutability:"pure",type:"function"},{inputs:[{internalType:"address",name:"",type:"address"},{internalType:"address",name:"",type:"address"},{internalType:"uint256",name:"",type:"uint256"},{internalType:"bytes",name:"",type:"bytes"}],name:"onERC721Received",outputs:[{internalType:"bytes4",name:"",type:"bytes4"}],stateMutability:"pure",type:"function"},{inputs:[{internalType:"contract Safe",name:"",type:"address"},{internalType:"bytes4",name:"",type:"bytes4"}],name:"safeInterfaces",outputs:[{internalType:"bool",name:"",type:"bool"}],stateMutability:"view",type:"function"},{inputs:[{internalType:"contract Safe",name:"",type:"address"},{internalType:"bytes4",name:"",type:"bytes4"}],name:"safeMethods",outputs:[{internalType:"bytes32",name:"",type:"bytes32"}],stateMutability:"view",type:"function"},{inputs:[{internalType:"bytes32",name:"domainSeparator",type:"bytes32"},{internalType:"contract ISafeSignatureVerifier",name:"newVerifier",type:"address"}],name:"setDomainVerifier",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"bytes4",name:"selector",type:"bytes4"},{internalType:"bytes32",name:"newMethod",type:"bytes32"}],name:"setSafeMethod",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"bytes4",name:"interfaceId",type:"bytes4"},{internalType:"bool",name:"supported",type:"bool"}],name:"setSupportedInterface",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"bytes4",name:"_interfaceId",type:"bytes4"},{internalType:"bytes32[]",name:"handlerWithSelectors",type:"bytes32[]"}],name:"setSupportedInterfaceBatch",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"bytes4",name:"interfaceId",type:"bytes4"}],name:"supportsInterface",outputs:[{internalType:"bool",name:"",type:"bool"}],stateMutability:"view",type:"function"}];class Dt{static createInterface(){return new n.Interface(Bt)}static connect(e,t){return new r(e,Bt,t)}}Dt.abi=Bt;const Ft=[{anonymous:!1,inputs:[{indexed:!0,internalType:"address",name:"owner",type:"address"},{indexed:!1,internalType:"contract IERC20",name:"sellToken",type:"address"},{indexed:!1,internalType:"contract IERC20",name:"buyToken",type:"address"},{indexed:!1,internalType:"uint256",name:"sellAmount",type:"uint256"},{indexed:!1,internalType:"uint256",name:"buyAmount",type:"uint256"},{indexed:!1,internalType:"uint256",name:"feeAmount",type:"uint256"},{indexed:!1,internalType:"bytes",name:"orderUid",type:"bytes"}],name:"Trade",type:"event"},{inputs:[{internalType:"bytes",name:"orderUid",type:"bytes"},{internalType:"bool",name:"signed",type:"bool"}],name:"setPreSignature",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"bytes",name:"orderUid",type:"bytes"}],name:"invalidateOrder",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[],name:"domainSeparator",outputs:[{name:"",type:"bytes32"}],stateMutability:"nonpayable",type:"function"}];class Lt{static createInterface(){return new n.Interface(Ft)}static connect(e,t){return new r(e,Ft,t)}}function Ut(e,t){return F({},e,{quoteId:t.id,sellAmount:t.quote.sellAmount,buyAmount:t.quote.buyAmount})}function Gt(e){return e.sellToken.toLowerCase()===Se.toLowerCase()}function Ht(e){return e+e*BigInt(20)/BigInt(100)}function qt(e,t){const{costs:{networkFee:n,partnerFee:r}}=e;function i(e){return{sellAmount:t(e.sellAmount),buyAmount:t(e.buyAmount)}}return F({},e,{costs:F({},e.costs,{networkFee:F({},n,{amountInSellCurrency:t(n.amountInSellCurrency),amountInBuyCurrency:t(n.amountInBuyCurrency)}),partnerFee:F({},r,{amount:t(r.amount)})}),beforeNetworkCosts:i(e.beforeNetworkCosts),afterNetworkCosts:i(e.afterNetworkCosts),afterPartnerFees:i(e.afterPartnerFees),afterSlippage:i(e.afterSlippage)})}function zt({quoteParameters:e,orderParameters:t}){return F({},e,{sellToken:t.sellToken})}function Vt(e,t){return F({},t,{sellToken:Z[e].address,slippageBps:"number"==typeof t.slippageBps?t.slippageBps:Tt[e]})}async function Kt(e,t,n,r,i={}){const{networkCostsAmount:s="0",checkEthFlowOrderExists:a}=i,o=await e.getAddress(),u=F({},n,Vt(r,n)),{quoteId:l}=u,c=function(e,t){return Ot.connect("staging"===t?Be:Oe,e)}(e,u.env),d=Ct({from:o,networkCostsAmount:s},u,t),h=await _t(r,d,a,u.env),p=F({},d,{quoteId:l,appData:t,validTo:d.validTo.toString()}),f=await c.estimateGas.createOrder(p,{value:d.sellAmount}).then(e=>BigInt(e.toHexString())).catch(e=>(console.error(e),It));return{orderId:h,orderToSign:d,transaction:{data:c.interface.encodeFunctionData("createOrder",[p]),gasLimit:"0x"+Ht(f).toString(16),to:c.address,value:"0x"+BigInt(d.sellAmount).toString(16)}}}async function jt(e,t,n,r,i={}){const{appDataKeccak256:s,fullAppData:a}=n,{orderId:o,transaction:u,orderToSign:l}=await Kt(t,s,r,e.context.chainId,i);He("Uploading app-data"),await e.uploadAppData(s,a),He("Sending on-chain order transaction");const c=await t.sendTransaction(u);return He(`On-chain order transaction sent, txHash: ${c.hash}, order: ${o}`),{txHash:c.hash,orderId:o,orderToSign:l,signature:"",signingScheme:ht.EIP1271}}async function Wt(e,t,n,r,i={}){const{networkCostsAmount:s="0",signingScheme:a=ht.EIP712}=i;if(Gt(r)){const s=r.quoteId;if("number"==typeof s)return jt(e,t,n,F({},r,{quoteId:s}),i);throw new Error("quoteId is required for EthFlow orders")}const{quoteId:o=null,owner:u}=r,{appDataKeccak256:l,fullAppData:c}=n,d=e.context.chainId,h=u||await t.getAddress(),p=Ct({from:h,networkCostsAmount:s},r,n.appDataKeccak256);He("Signing order...");const{signature:f,signingScheme:m}=await(async()=>{if(a===ht.PRESIGN)return{signature:h,signingScheme:ht.PRESIGN};{const e=await kt.signOrder(p,d,t);return{signature:e.signature,signingScheme:Et[e.signingScheme]}}})(),y=F({},p,{from:h,signature:f,signingScheme:m,quoteId:o,appData:c,appDataHash:l});He("Posting order...");const g=await e.sendOrder(y);return He(`Order created, id: ${g}`),{orderId:g,signature:f,signingScheme:m,orderToSign:p}}Lt.abi=Ft;const Jt=new o;async function Qt({slippageBps:e,appCode:t,orderClass:n,partnerFee:r},i){const s={slippageBips:e},a={orderClass:n},o=await Jt.generateAppDataDoc(b({appCode:t,metadata:{quote:s,orderClass:a,partnerFee:r}},i||{})),{fullAppData:u,appDataKeccak256:l}=await Yt(o);return{doc:o,fullAppData:u,appDataKeccak256:l}}async function Yt(e){const t=await u(e);return{fullAppData:t,appDataKeccak256:l(c(t))}}async function Xt(e,t){var n;const r=null!=(n=t.metadata)&&n.hooks?F({},e,{metadata:F({},e.metadata,{hooks:{}})}):e,i=t?b(r,t):r,{fullAppData:s,appDataKeccak256:a}=await Yt(i);return{fullAppData:s,appDataKeccak256:a,doc:i}}const Zt=[{name:"name",type:"string"},{name:"version",type:"string"},{name:"chainId",type:"uint256"},{name:"verifyingContract",type:"address"}];var $t="undefined"!=typeof globalThis?globalThis:"undefined"!=typeof window?window:"undefined"!=typeof global?global:"undefined"!=typeof self?self:{};function en(e){var t={exports:{}};return e(t,t.exports),t.exports}var tn={__proto__:null,default:{}},nn=en(function(e){!function(e,t){function n(e,t){if(!e)throw new Error(t||"Assertion failed")}function r(e,t){e.super_=t;var n=function(){};n.prototype=t.prototype,e.prototype=new n,e.prototype.constructor=e}function i(e,t,n){if(i.isBN(e))return e;this.negative=0,this.words=null,this.length=0,this.red=null,null!==e&&("le"!==t&&"be"!==t||(n=t,t=10),this._init(e||0,t||10,n||"be"))}var s;"object"==typeof e?e.exports=i:t.BN=i,i.BN=i,i.wordSize=26;try{s="undefined"!=typeof window&&void 0!==window.Buffer?window.Buffer:tn.Buffer}catch(e){}function a(e,t){var r=e.charCodeAt(t);return r>=48&&r<=57?r-48:r>=65&&r<=70?r-55:r>=97&&r<=102?r-87:void n(!1,"Invalid character in "+e)}function o(e,t,n){var r=a(e,n);return n-1>=t&&(r|=a(e,n-1)<<4),r}function u(e,t,r,i){for(var s=0,a=0,o=Math.min(e.length,r),u=t;u<o;u++){var l=e.charCodeAt(u)-48;s*=i,a=l>=49?l-49+10:l>=17?l-17+10:l,n(l>=0&&a<i,"Invalid character"),s+=a}return s}function l(e,t){e.words=t.words,e.length=t.length,e.negative=t.negative,e.red=t.red}if(i.isBN=function(e){return e instanceof i||null!==e&&"object"==typeof e&&e.constructor.wordSize===i.wordSize&&Array.isArray(e.words)},i.max=function(e,t){return e.cmp(t)>0?e:t},i.min=function(e,t){return e.cmp(t)<0?e:t},i.prototype._init=function(e,t,r){if("number"==typeof e)return this._initNumber(e,t,r);if("object"==typeof e)return this._initArray(e,t,r);"hex"===t&&(t=16),n(t===(0|t)&&t>=2&&t<=36);var i=0;"-"===(e=e.toString().replace(/\s+/g,""))[0]&&(i++,this.negative=1),i<e.length&&(16===t?this._parseHex(e,i,r):(this._parseBase(e,t,i),"le"===r&&this._initArray(this.toArray(),t,r)))},i.prototype._initNumber=function(e,t,r){e<0&&(this.negative=1,e=-e),e<67108864?(this.words=[67108863&e],this.length=1):e<4503599627370496?(this.words=[67108863&e,e/67108864&67108863],this.length=2):(n(e<9007199254740992),this.words=[67108863&e,e/67108864&67108863,1],this.length=3),"le"===r&&this._initArray(this.toArray(),t,r)},i.prototype._initArray=function(e,t,r){if(n("number"==typeof e.length),e.length<=0)return this.words=[0],this.length=1,this;this.length=Math.ceil(e.length/3),this.words=new Array(this.length);for(var i=0;i<this.length;i++)this.words[i]=0;var s,a,o=0;if("be"===r)for(i=e.length-1,s=0;i>=0;i-=3)this.words[s]|=(a=e[i]|e[i-1]<<8|e[i-2]<<16)<<o&67108863,this.words[s+1]=a>>>26-o&67108863,(o+=24)>=26&&(o-=26,s++);else if("le"===r)for(i=0,s=0;i<e.length;i+=3)this.words[s]|=(a=e[i]|e[i+1]<<8|e[i+2]<<16)<<o&67108863,this.words[s+1]=a>>>26-o&67108863,(o+=24)>=26&&(o-=26,s++);return this._strip()},i.prototype._parseHex=function(e,t,n){this.length=Math.ceil((e.length-t)/6),this.words=new Array(this.length);for(var r=0;r<this.length;r++)this.words[r]=0;var i,s=0,a=0;if("be"===n)for(r=e.length-1;r>=t;r-=2)i=o(e,t,r)<<s,this.words[a]|=67108863&i,s>=18?(s-=18,this.words[a+=1]|=i>>>26):s+=8;else for(r=(e.length-t)%2==0?t+1:t;r<e.length;r+=2)i=o(e,t,r)<<s,this.words[a]|=67108863&i,s>=18?(s-=18,this.words[a+=1]|=i>>>26):s+=8;this._strip()},i.prototype._parseBase=function(e,t,n){this.words=[0],this.length=1;for(var r=0,i=1;i<=67108863;i*=t)r++;r--,i=i/t|0;for(var s=e.length-n,a=s%r,o=Math.min(s,s-a)+n,l=0,c=n;c<o;c+=r)l=u(e,c,c+r,t),this.imuln(i),this.words[0]+l<67108864?this.words[0]+=l:this._iaddn(l);if(0!==a){var d=1;for(l=u(e,c,e.length,t),c=0;c<a;c++)d*=t;this.imuln(d),this.words[0]+l<67108864?this.words[0]+=l:this._iaddn(l)}this._strip()},i.prototype.copy=function(e){e.words=new Array(this.length);for(var t=0;t<this.length;t++)e.words[t]=this.words[t];e.length=this.length,e.negative=this.negative,e.red=this.red},i.prototype._move=function(e){l(e,this)},i.prototype.clone=function(){var e=new i(null);return this.copy(e),e},i.prototype._expand=function(e){for(;this.length<e;)this.words[this.length++]=0;return this},i.prototype._strip=function(){for(;this.length>1&&0===this.words[this.length-1];)this.length--;return this._normSign()},i.prototype._normSign=function(){return 1===this.length&&0===this.words[0]&&(this.negative=0),this},"undefined"!=typeof Symbol&&"function"==typeof Symbol.for)try{i.prototype[Symbol.for("nodejs.util.inspect.custom")]=c}catch(e){i.prototype.inspect=c}else i.prototype.inspect=c;function c(){return(this.red?"<BN-R: ":"<BN: ")+this.toString(16)+">"}var d=["","0","00","000","0000","00000","000000","0000000","00000000","000000000","0000000000","00000000000","000000000000","0000000000000","00000000000000","000000000000000","0000000000000000","00000000000000000","000000000000000000","0000000000000000000","00000000000000000000","000000000000000000000","0000000000000000000000","00000000000000000000000","000000000000000000000000","0000000000000000000000000"],h=[0,0,25,16,12,11,10,9,8,8,7,7,7,7,6,6,6,6,6,6,6,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5],p=[0,0,33554432,43046721,16777216,48828125,60466176,40353607,16777216,43046721,1e7,19487171,35831808,62748517,7529536,11390625,16777216,24137569,34012224,47045881,64e6,4084101,5153632,6436343,7962624,9765625,11881376,14348907,17210368,20511149,243e5,28629151,33554432,39135393,45435424,52521875,60466176];function f(e,t,n){n.negative=t.negative^e.negative;var r=e.length+t.length|0;n.length=r,r=r-1|0;var i=0|e.words[0],s=0|t.words[0],a=i*s,o=a/67108864|0;n.words[0]=67108863&a;for(var u=1;u<r;u++){for(var l=o>>>26,c=67108863&o,d=Math.min(u,t.length-1),h=Math.max(0,u-e.length+1);h<=d;h++)l+=(a=(i=0|e.words[u-h|0])*(s=0|t.words[h])+c)/67108864|0,c=67108863&a;n.words[u]=0|c,o=0|l}return 0!==o?n.words[u]=0|o:n.length--,n._strip()}i.prototype.toString=function(e,t){var r;if(t=0|t||1,16===(e=e||10)||"hex"===e){r="";for(var i=0,s=0,a=0;a<this.length;a++){var o=this.words[a],u=(16777215&(o<<i|s)).toString(16);s=o>>>24-i&16777215,(i+=2)>=26&&(i-=26,a--),r=0!==s||a!==this.length-1?d[6-u.length]+u+r:u+r}for(0!==s&&(r=s.toString(16)+r);r.length%t!=0;)r="0"+r;return 0!==this.negative&&(r="-"+r),r}if(e===(0|e)&&e>=2&&e<=36){var l=h[e],c=p[e];r="";var f=this.clone();for(f.negative=0;!f.isZero();){var m=f.modrn(c).toString(e);r=(f=f.idivn(c)).isZero()?m+r:d[l-m.length]+m+r}for(this.isZero()&&(r="0"+r);r.length%t!=0;)r="0"+r;return 0!==this.negative&&(r="-"+r),r}n(!1,"Base should be between 2 and 36")},i.prototype.toNumber=function(){var e=this.words[0];return 2===this.length?e+=67108864*this.words[1]:3===this.length&&1===this.words[2]?e+=4503599627370496+67108864*this.words[1]:this.length>2&&n(!1,"Number can only safely store up to 53 bits"),0!==this.negative?-e:e},i.prototype.toJSON=function(){return this.toString(16,2)},s&&(i.prototype.toBuffer=function(e,t){return this.toArrayLike(s,e,t)}),i.prototype.toArray=function(e,t){return this.toArrayLike(Array,e,t)},i.prototype.toArrayLike=function(e,t,r){this._strip();var i=this.byteLength(),s=r||Math.max(1,i);n(i<=s,"byte array longer than desired length"),n(s>0,"Requested array length <= 0");var a=function(e,t){return e.allocUnsafe?e.allocUnsafe(t):new e(t)}(e,s);return this["_toArrayLike"+("le"===t?"LE":"BE")](a,i),a},i.prototype._toArrayLikeLE=function(e,t){for(var n=0,r=0,i=0,s=0;i<this.length;i++){var a=this.words[i]<<s|r;e[n++]=255&a,n<e.length&&(e[n++]=a>>8&255),n<e.length&&(e[n++]=a>>16&255),6===s?(n<e.length&&(e[n++]=a>>24&255),r=0,s=0):(r=a>>>24,s+=2)}if(n<e.length)for(e[n++]=r;n<e.length;)e[n++]=0},i.prototype._toArrayLikeBE=function(e,t){for(var n=e.length-1,r=0,i=0,s=0;i<this.length;i++){var a=this.words[i]<<s|r;e[n--]=255&a,n>=0&&(e[n--]=a>>8&255),n>=0&&(e[n--]=a>>16&255),6===s?(n>=0&&(e[n--]=a>>24&255),r=0,s=0):(r=a>>>24,s+=2)}if(n>=0)for(e[n--]=r;n>=0;)e[n--]=0},i.prototype._countBits=Math.clz32?function(e){return 32-Math.clz32(e)}:function(e){var t=e,n=0;return t>=4096&&(n+=13,t>>>=13),t>=64&&(n+=7,t>>>=7),t>=8&&(n+=4,t>>>=4),t>=2&&(n+=2,t>>>=2),n+t},i.prototype._zeroBits=function(e){if(0===e)return 26;var t=e,n=0;return 0==(8191&t)&&(n+=13,t>>>=13),0==(127&t)&&(n+=7,t>>>=7),0==(15&t)&&(n+=4,t>>>=4),0==(3&t)&&(n+=2,t>>>=2),0==(1&t)&&n++,n},i.prototype.bitLength=function(){var e=this._countBits(this.words[this.length-1]);return 26*(this.length-1)+e},i.prototype.zeroBits=function(){if(this.isZero())return 0;for(var e=0,t=0;t<this.length;t++){var n=this._zeroBits(this.words[t]);if(e+=n,26!==n)break}return e},i.prototype.byteLength=function(){return Math.ceil(this.bitLength()/8)},i.prototype.toTwos=function(e){return 0!==this.negative?this.abs().inotn(e).iaddn(1):this.clone()},i.prototype.fromTwos=function(e){return this.testn(e-1)?this.notn(e).iaddn(1).ineg():this.clone()},i.prototype.isNeg=function(){return 0!==this.negative},i.prototype.neg=function(){return this.clone().ineg()},i.prototype.ineg=function(){return this.isZero()||(this.negative^=1),this},i.prototype.iuor=function(e){for(;this.length<e.length;)this.words[this.length++]=0;for(var t=0;t<e.length;t++)this.words[t]=this.words[t]|e.words[t];return this._strip()},i.prototype.ior=function(e){return n(0==(this.negative|e.negative)),this.iuor(e)},i.prototype.or=function(e){return this.length>e.length?this.clone().ior(e):e.clone().ior(this)},i.prototype.uor=function(e){return this.length>e.length?this.clone().iuor(e):e.clone().iuor(this)},i.prototype.iuand=function(e){var t;t=this.length>e.length?e:this;for(var n=0;n<t.length;n++)this.words[n]=this.words[n]&e.words[n];return this.length=t.length,this._strip()},i.prototype.iand=function(e){return n(0==(this.negative|e.negative)),this.iuand(e)},i.prototype.and=function(e){return this.length>e.length?this.clone().iand(e):e.clone().iand(this)},i.prototype.uand=function(e){return this.length>e.length?this.clone().iuand(e):e.clone().iuand(this)},i.prototype.iuxor=function(e){var t,n;this.length>e.length?(t=this,n=e):(t=e,n=this);for(var r=0;r<n.length;r++)this.words[r]=t.words[r]^n.words[r];if(this!==t)for(;r<t.length;r++)this.words[r]=t.words[r];return this.length=t.length,this._strip()},i.prototype.ixor=function(e){return n(0==(this.negative|e.negative)),this.iuxor(e)},i.prototype.xor=function(e){return this.length>e.length?this.clone().ixor(e):e.clone().ixor(this)},i.prototype.uxor=function(e){return this.length>e.length?this.clone().iuxor(e):e.clone().iuxor(this)},i.prototype.inotn=function(e){n("number"==typeof e&&e>=0);var t=0|Math.ceil(e/26),r=e%26;this._expand(t),r>0&&t--;for(var i=0;i<t;i++)this.words[i]=67108863&~this.words[i];return r>0&&(this.words[i]=~this.words[i]&67108863>>26-r),this._strip()},i.prototype.notn=function(e){return this.clone().inotn(e)},i.prototype.setn=function(e,t){n("number"==typeof e&&e>=0);var r=e/26|0,i=e%26;return this._expand(r+1),this.words[r]=t?this.words[r]|1<<i:this.words[r]&~(1<<i),this._strip()},i.prototype.iadd=function(e){var t,n,r;if(0!==this.negative&&0===e.negative)return this.negative=0,t=this.isub(e),this.negative^=1,this._normSign();if(0===this.negative&&0!==e.negative)return e.negative=0,t=this.isub(e),e.negative=1,t._normSign();this.length>e.length?(n=this,r=e):(n=e,r=this);for(var i=0,s=0;s<r.length;s++)this.words[s]=67108863&(t=(0|n.words[s])+(0|r.words[s])+i),i=t>>>26;for(;0!==i&&s<n.length;s++)this.words[s]=67108863&(t=(0|n.words[s])+i),i=t>>>26;if(this.length=n.length,0!==i)this.words[this.length]=i,this.length++;else if(n!==this)for(;s<n.length;s++)this.words[s]=n.words[s];return this},i.prototype.add=function(e){var t;return 0!==e.negative&&0===this.negative?(e.negative=0,t=this.sub(e),e.negative^=1,t):0===e.negative&&0!==this.negative?(this.negative=0,t=e.sub(this),this.negative=1,t):this.length>e.length?this.clone().iadd(e):e.clone().iadd(this)},i.prototype.isub=function(e){if(0!==e.negative){e.negative=0;var t=this.iadd(e);return e.negative=1,t._normSign()}if(0!==this.negative)return this.negative=0,this.iadd(e),this.negative=1,this._normSign();var n,r,i=this.cmp(e);if(0===i)return this.negative=0,this.length=1,this.words[0]=0,this;i>0?(n=this,r=e):(n=e,r=this);for(var s=0,a=0;a<r.length;a++)s=(t=(0|n.words[a])-(0|r.words[a])+s)>>26,this.words[a]=67108863&t;for(;0!==s&&a<n.length;a++)s=(t=(0|n.words[a])+s)>>26,this.words[a]=67108863&t;if(0===s&&a<n.length&&n!==this)for(;a<n.length;a++)this.words[a]=n.words[a];return this.length=Math.max(this.length,a),n!==this&&(this.negative=1),this._strip()},i.prototype.sub=function(e){return this.clone().isub(e)};var m=function(e,t,n){var r,i,s,a=e.words,o=t.words,u=n.words,l=0,c=0|a[0],d=8191&c,h=c>>>13,p=0|a[1],f=8191&p,m=p>>>13,y=0|a[2],g=8191&y,b=y>>>13,v=0|a[3],w=8191&v,A=v>>>13,T=0|a[4],E=8191&T,I=T>>>13,S=0|a[5],k=8191&S,C=S>>>13,_=0|a[6],x=8191&_,M=_>>>13,N=0|a[7],R=8191&N,P=N>>>13,O=0|a[8],B=8191&O,D=O>>>13,F=0|a[9],L=8191&F,U=F>>>13,G=0|o[0],H=8191&G,q=G>>>13,z=0|o[1],V=8191&z,K=z>>>13,j=0|o[2],W=8191&j,J=j>>>13,Q=0|o[3],Y=8191&Q,X=Q>>>13,Z=0|o[4],$=8191&Z,ee=Z>>>13,te=0|o[5],ne=8191&te,re=te>>>13,ie=0|o[6],se=8191&ie,ae=ie>>>13,oe=0|o[7],ue=8191&oe,le=oe>>>13,ce=0|o[8],de=8191&ce,he=ce>>>13,pe=0|o[9],fe=8191&pe,me=pe>>>13;n.negative=e.negative^t.negative,n.length=19;var ye=(l+(r=Math.imul(d,H))|0)+((8191&(i=(i=Math.imul(d,q))+Math.imul(h,H)|0))<<13)|0;l=((s=Math.imul(h,q))+(i>>>13)|0)+(ye>>>26)|0,ye&=67108863,r=Math.imul(f,H),i=(i=Math.imul(f,q))+Math.imul(m,H)|0,s=Math.imul(m,q);var ge=(l+(r=r+Math.imul(d,V)|0)|0)+((8191&(i=(i=i+Math.imul(d,K)|0)+Math.imul(h,V)|0))<<13)|0;l=((s=s+Math.imul(h,K)|0)+(i>>>13)|0)+(ge>>>26)|0,ge&=67108863,r=Math.imul(g,H),i=(i=Math.imul(g,q))+Math.imul(b,H)|0,s=Math.imul(b,q),r=r+Math.imul(f,V)|0,i=(i=i+Math.imul(f,K)|0)+Math.imul(m,V)|0,s=s+Math.imul(m,K)|0;var be=(l+(r=r+Math.imul(d,W)|0)|0)+((8191&(i=(i=i+Math.imul(d,J)|0)+Math.imul(h,W)|0))<<13)|0;l=((s=s+Math.imul(h,J)|0)+(i>>>13)|0)+(be>>>26)|0,be&=67108863,r=Math.imul(w,H),i=(i=Math.imul(w,q))+Math.imul(A,H)|0,s=Math.imul(A,q),r=r+Math.imul(g,V)|0,i=(i=i+Math.imul(g,K)|0)+Math.imul(b,V)|0,s=s+Math.imul(b,K)|0,r=r+Math.imul(f,W)|0,i=(i=i+Math.imul(f,J)|0)+Math.imul(m,W)|0,s=s+Math.imul(m,J)|0;var ve=(l+(r=r+Math.imul(d,Y)|0)|0)+((8191&(i=(i=i+Math.imul(d,X)|0)+Math.imul(h,Y)|0))<<13)|0;l=((s=s+Math.imul(h,X)|0)+(i>>>13)|0)+(ve>>>26)|0,ve&=67108863,r=Math.imul(E,H),i=(i=Math.imul(E,q))+Math.imul(I,H)|0,s=Math.imul(I,q),r=r+Math.imul(w,V)|0,i=(i=i+Math.imul(w,K)|0)+Math.imul(A,V)|0,s=s+Math.imul(A,K)|0,r=r+Math.imul(g,W)|0,i=(i=i+Math.imul(g,J)|0)+Math.imul(b,W)|0,s=s+Math.imul(b,J)|0,r=r+Math.imul(f,Y)|0,i=(i=i+Math.imul(f,X)|0)+Math.imul(m,Y)|0,s=s+Math.imul(m,X)|0;var we=(l+(r=r+Math.imul(d,$)|0)|0)+((8191&(i=(i=i+Math.imul(d,ee)|0)+Math.imul(h,$)|0))<<13)|0;l=((s=s+Math.imul(h,ee)|0)+(i>>>13)|0)+(we>>>26)|0,we&=67108863,r=Math.imul(k,H),i=(i=Math.imul(k,q))+Math.imul(C,H)|0,s=Math.imul(C,q),r=r+Math.imul(E,V)|0,i=(i=i+Math.imul(E,K)|0)+Math.imul(I,V)|0,s=s+Math.imul(I,K)|0,r=r+Math.imul(w,W)|0,i=(i=i+Math.imul(w,J)|0)+Math.imul(A,W)|0,s=s+Math.imul(A,J)|0,r=r+Math.imul(g,Y)|0,i=(i=i+Math.imul(g,X)|0)+Math.imul(b,Y)|0,s=s+Math.imul(b,X)|0,r=r+Math.imul(f,$)|0,i=(i=i+Math.imul(f,ee)|0)+Math.imul(m,$)|0,s=s+Math.imul(m,ee)|0;var Ae=(l+(r=r+Math.imul(d,ne)|0)|0)+((8191&(i=(i=i+Math.imul(d,re)|0)+Math.imul(h,ne)|0))<<13)|0;l=((s=s+Math.imul(h,re)|0)+(i>>>13)|0)+(Ae>>>26)|0,Ae&=67108863,r=Math.imul(x,H),i=(i=Math.imul(x,q))+Math.imul(M,H)|0,s=Math.imul(M,q),r=r+Math.imul(k,V)|0,i=(i=i+Math.imul(k,K)|0)+Math.imul(C,V)|0,s=s+Math.imul(C,K)|0,r=r+Math.imul(E,W)|0,i=(i=i+Math.imul(E,J)|0)+Math.imul(I,W)|0,s=s+Math.imul(I,J)|0,r=r+Math.imul(w,Y)|0,i=(i=i+Math.imul(w,X)|0)+Math.imul(A,Y)|0,s=s+Math.imul(A,X)|0,r=r+Math.imul(g,$)|0,i=(i=i+Math.imul(g,ee)|0)+Math.imul(b,$)|0,s=s+Math.imul(b,ee)|0,r=r+Math.imul(f,ne)|0,i=(i=i+Math.imul(f,re)|0)+Math.imul(m,ne)|0,s=s+Math.imul(m,re)|0;var Te=(l+(r=r+Math.imul(d,se)|0)|0)+((8191&(i=(i=i+Math.imul(d,ae)|0)+Math.imul(h,se)|0))<<13)|0;l=((s=s+Math.imul(h,ae)|0)+(i>>>13)|0)+(Te>>>26)|0,Te&=67108863,r=Math.imul(R,H),i=(i=Math.imul(R,q))+Math.imul(P,H)|0,s=Math.imul(P,q),r=r+Math.imul(x,V)|0,i=(i=i+Math.imul(x,K)|0)+Math.imul(M,V)|0,s=s+Math.imul(M,K)|0,r=r+Math.imul(k,W)|0,i=(i=i+Math.imul(k,J)|0)+Math.imul(C,W)|0,s=s+Math.imul(C,J)|0,r=r+Math.imul(E,Y)|0,i=(i=i+Math.imul(E,X)|0)+Math.imul(I,Y)|0,s=s+Math.imul(I,X)|0,r=r+Math.imul(w,$)|0,i=(i=i+Math.imul(w,ee)|0)+Math.imul(A,$)|0,s=s+Math.imul(A,ee)|0,r=r+Math.imul(g,ne)|0,i=(i=i+Math.imul(g,re)|0)+Math.imul(b,ne)|0,s=s+Math.imul(b,re)|0,r=r+Math.imul(f,se)|0,i=(i=i+Math.imul(f,ae)|0)+Math.imul(m,se)|0,s=s+Math.imul(m,ae)|0;var Ee=(l+(r=r+Math.imul(d,ue)|0)|0)+((8191&(i=(i=i+Math.imul(d,le)|0)+Math.imul(h,ue)|0))<<13)|0;l=((s=s+Math.imul(h,le)|0)+(i>>>13)|0)+(Ee>>>26)|0,Ee&=67108863,r=Math.imul(B,H),i=(i=Math.imul(B,q))+Math.imul(D,H)|0,s=Math.imul(D,q),r=r+Math.imul(R,V)|0,i=(i=i+Math.imul(R,K)|0)+Math.imul(P,V)|0,s=s+Math.imul(P,K)|0,r=r+Math.imul(x,W)|0,i=(i=i+Math.imul(x,J)|0)+Math.imul(M,W)|0,s=s+Math.imul(M,J)|0,r=r+Math.imul(k,Y)|0,i=(i=i+Math.imul(k,X)|0)+Math.imul(C,Y)|0,s=s+Math.imul(C,X)|0,r=r+Math.imul(E,$)|0,i=(i=i+Math.imul(E,ee)|0)+Math.imul(I,$)|0,s=s+Math.imul(I,ee)|0,r=r+Math.imul(w,ne)|0,i=(i=i+Math.imul(w,re)|0)+Math.imul(A,ne)|0,s=s+Math.imul(A,re)|0,r=r+Math.imul(g,se)|0,i=(i=i+Math.imul(g,ae)|0)+Math.imul(b,se)|0,s=s+Math.imul(b,ae)|0,r=r+Math.imul(f,ue)|0,i=(i=i+Math.imul(f,le)|0)+Math.imul(m,ue)|0,s=s+Math.imul(m,le)|0;var Ie=(l+(r=r+Math.imul(d,de)|0)|0)+((8191&(i=(i=i+Math.imul(d,he)|0)+Math.imul(h,de)|0))<<13)|0;l=((s=s+Math.imul(h,he)|0)+(i>>>13)|0)+(Ie>>>26)|0,Ie&=67108863,r=Math.imul(L,H),i=(i=Math.imul(L,q))+Math.imul(U,H)|0,s=Math.imul(U,q),r=r+Math.imul(B,V)|0,i=(i=i+Math.imul(B,K)|0)+Math.imul(D,V)|0,s=s+Math.imul(D,K)|0,r=r+Math.imul(R,W)|0,i=(i=i+Math.imul(R,J)|0)+Math.imul(P,W)|0,s=s+Math.imul(P,J)|0,r=r+Math.imul(x,Y)|0,i=(i=i+Math.imul(x,X)|0)+Math.imul(M,Y)|0,s=s+Math.imul(M,X)|0,r=r+Math.imul(k,$)|0,i=(i=i+Math.imul(k,ee)|0)+Math.imul(C,$)|0,s=s+Math.imul(C,ee)|0,r=r+Math.imul(E,ne)|0,i=(i=i+Math.imul(E,re)|0)+Math.imul(I,ne)|0,s=s+Math.imul(I,re)|0,r=r+Math.imul(w,se)|0,i=(i=i+Math.imul(w,ae)|0)+Math.imul(A,se)|0,s=s+Math.imul(A,ae)|0,r=r+Math.imul(g,ue)|0,i=(i=i+Math.imul(g,le)|0)+Math.imul(b,ue)|0,s=s+Math.imul(b,le)|0,r=r+Math.imul(f,de)|0,i=(i=i+Math.imul(f,he)|0)+Math.imul(m,de)|0,s=s+Math.imul(m,he)|0;var Se=(l+(r=r+Math.imul(d,fe)|0)|0)+((8191&(i=(i=i+Math.imul(d,me)|0)+Math.imul(h,fe)|0))<<13)|0;l=((s=s+Math.imul(h,me)|0)+(i>>>13)|0)+(Se>>>26)|0,Se&=67108863,r=Math.imul(L,V),i=(i=Math.imul(L,K))+Math.imul(U,V)|0,s=Math.imul(U,K),r=r+Math.imul(B,W)|0,i=(i=i+Math.imul(B,J)|0)+Math.imul(D,W)|0,s=s+Math.imul(D,J)|0,r=r+Math.imul(R,Y)|0,i=(i=i+Math.imul(R,X)|0)+Math.imul(P,Y)|0,s=s+Math.imul(P,X)|0,r=r+Math.imul(x,$)|0,i=(i=i+Math.imul(x,ee)|0)+Math.imul(M,$)|0,s=s+Math.imul(M,ee)|0,r=r+Math.imul(k,ne)|0,i=(i=i+Math.imul(k,re)|0)+Math.imul(C,ne)|0,s=s+Math.imul(C,re)|0,r=r+Math.imul(E,se)|0,i=(i=i+Math.imul(E,ae)|0)+Math.imul(I,se)|0,s=s+Math.imul(I,ae)|0,r=r+Math.imul(w,ue)|0,i=(i=i+Math.imul(w,le)|0)+Math.imul(A,ue)|0,s=s+Math.imul(A,le)|0,r=r+Math.imul(g,de)|0,i=(i=i+Math.imul(g,he)|0)+Math.imul(b,de)|0,s=s+Math.imul(b,he)|0;var ke=(l+(r=r+Math.imul(f,fe)|0)|0)+((8191&(i=(i=i+Math.imul(f,me)|0)+Math.imul(m,fe)|0))<<13)|0;l=((s=s+Math.imul(m,me)|0)+(i>>>13)|0)+(ke>>>26)|0,ke&=67108863,r=Math.imul(L,W),i=(i=Math.imul(L,J))+Math.imul(U,W)|0,s=Math.imul(U,J),r=r+Math.imul(B,Y)|0,i=(i=i+Math.imul(B,X)|0)+Math.imul(D,Y)|0,s=s+Math.imul(D,X)|0,r=r+Math.imul(R,$)|0,i=(i=i+Math.imul(R,ee)|0)+Math.imul(P,$)|0,s=s+Math.imul(P,ee)|0,r=r+Math.imul(x,ne)|0,i=(i=i+Math.imul(x,re)|0)+Math.imul(M,ne)|0,s=s+Math.imul(M,re)|0,r=r+Math.imul(k,se)|0,i=(i=i+Math.imul(k,ae)|0)+Math.imul(C,se)|0,s=s+Math.imul(C,ae)|0,r=r+Math.imul(E,ue)|0,i=(i=i+Math.imul(E,le)|0)+Math.imul(I,ue)|0,s=s+Math.imul(I,le)|0,r=r+Math.imul(w,de)|0,i=(i=i+Math.imul(w,he)|0)+Math.imul(A,de)|0,s=s+Math.imul(A,he)|0;var Ce=(l+(r=r+Math.imul(g,fe)|0)|0)+((8191&(i=(i=i+Math.imul(g,me)|0)+Math.imul(b,fe)|0))<<13)|0;l=((s=s+Math.imul(b,me)|0)+(i>>>13)|0)+(Ce>>>26)|0,Ce&=67108863,r=Math.imul(L,Y),i=(i=Math.imul(L,X))+Math.imul(U,Y)|0,s=Math.imul(U,X),r=r+Math.imul(B,$)|0,i=(i=i+Math.imul(B,ee)|0)+Math.imul(D,$)|0,s=s+Math.imul(D,ee)|0,r=r+Math.imul(R,ne)|0,i=(i=i+Math.imul(R,re)|0)+Math.imul(P,ne)|0,s=s+Math.imul(P,re)|0,r=r+Math.imul(x,se)|0,i=(i=i+Math.imul(x,ae)|0)+Math.imul(M,se)|0,s=s+Math.imul(M,ae)|0,r=r+Math.imul(k,ue)|0,i=(i=i+Math.imul(k,le)|0)+Math.imul(C,ue)|0,s=s+Math.imul(C,le)|0,r=r+Math.imul(E,de)|0,i=(i=i+Math.imul(E,he)|0)+Math.imul(I,de)|0,s=s+Math.imul(I,he)|0;var _e=(l+(r=r+Math.imul(w,fe)|0)|0)+((8191&(i=(i=i+Math.imul(w,me)|0)+Math.imul(A,fe)|0))<<13)|0;l=((s=s+Math.imul(A,me)|0)+(i>>>13)|0)+(_e>>>26)|0,_e&=67108863,r=Math.imul(L,$),i=(i=Math.imul(L,ee))+Math.imul(U,$)|0,s=Math.imul(U,ee),r=r+Math.imul(B,ne)|0,i=(i=i+Math.imul(B,re)|0)+Math.imul(D,ne)|0,s=s+Math.imul(D,re)|0,r=r+Math.imul(R,se)|0,i=(i=i+Math.imul(R,ae)|0)+Math.imul(P,se)|0,s=s+Math.imul(P,ae)|0,r=r+Math.imul(x,ue)|0,i=(i=i+Math.imul(x,le)|0)+Math.imul(M,ue)|0,s=s+Math.imul(M,le)|0,r=r+Math.imul(k,de)|0,i=(i=i+Math.imul(k,he)|0)+Math.imul(C,de)|0,s=s+Math.imul(C,he)|0;var xe=(l+(r=r+Math.imul(E,fe)|0)|0)+((8191&(i=(i=i+Math.imul(E,me)|0)+Math.imul(I,fe)|0))<<13)|0;l=((s=s+Math.imul(I,me)|0)+(i>>>13)|0)+(xe>>>26)|0,xe&=67108863,r=Math.imul(L,ne),i=(i=Math.imul(L,re))+Math.imul(U,ne)|0,s=Math.imul(U,re),r=r+Math.imul(B,se)|0,i=(i=i+Math.imul(B,ae)|0)+Math.imul(D,se)|0,s=s+Math.imul(D,ae)|0,r=r+Math.imul(R,ue)|0,i=(i=i+Math.imul(R,le)|0)+Math.imul(P,ue)|0,s=s+Math.imul(P,le)|0,r=r+Math.imul(x,de)|0,i=(i=i+Math.imul(x,he)|0)+Math.imul(M,de)|0,s=s+Math.imul(M,he)|0;var Me=(l+(r=r+Math.imul(k,fe)|0)|0)+((8191&(i=(i=i+Math.imul(k,me)|0)+Math.imul(C,fe)|0))<<13)|0;l=((s=s+Math.imul(C,me)|0)+(i>>>13)|0)+(Me>>>26)|0,Me&=67108863,r=Math.imul(L,se),i=(i=Math.imul(L,ae))+Math.imul(U,se)|0,s=Math.imul(U,ae),r=r+Math.imul(B,ue)|0,i=(i=i+Math.imul(B,le)|0)+Math.imul(D,ue)|0,s=s+Math.imul(D,le)|0,r=r+Math.imul(R,de)|0,i=(i=i+Math.imul(R,he)|0)+Math.imul(P,de)|0,s=s+Math.imul(P,he)|0;var Ne=(l+(r=r+Math.imul(x,fe)|0)|0)+((8191&(i=(i=i+Math.imul(x,me)|0)+Math.imul(M,fe)|0))<<13)|0;l=((s=s+Math.imul(M,me)|0)+(i>>>13)|0)+(Ne>>>26)|0,Ne&=67108863,r=Math.imul(L,ue),i=(i=Math.imul(L,le))+Math.imul(U,ue)|0,s=Math.imul(U,le),r=r+Math.imul(B,de)|0,i=(i=i+Math.imul(B,he)|0)+Math.imul(D,de)|0,s=s+Math.imul(D,he)|0;var Re=(l+(r=r+Math.imul(R,fe)|0)|0)+((8191&(i=(i=i+Math.imul(R,me)|0)+Math.imul(P,fe)|0))<<13)|0;l=((s=s+Math.imul(P,me)|0)+(i>>>13)|0)+(Re>>>26)|0,Re&=67108863,r=Math.imul(L,de),i=(i=Math.imul(L,he))+Math.imul(U,de)|0,s=Math.imul(U,he);var Pe=(l+(r=r+Math.imul(B,fe)|0)|0)+((8191&(i=(i=i+Math.imul(B,me)|0)+Math.imul(D,fe)|0))<<13)|0;l=((s=s+Math.imul(D,me)|0)+(i>>>13)|0)+(Pe>>>26)|0,Pe&=67108863;var Oe=(l+(r=Math.imul(L,fe))|0)+((8191&(i=(i=Math.imul(L,me))+Math.imul(U,fe)|0))<<13)|0;return l=((s=Math.imul(U,me))+(i>>>13)|0)+(Oe>>>26)|0,Oe&=67108863,u[0]=ye,u[1]=ge,u[2]=be,u[3]=ve,u[4]=we,u[5]=Ae,u[6]=Te,u[7]=Ee,u[8]=Ie,u[9]=Se,u[10]=ke,u[11]=Ce,u[12]=_e,u[13]=xe,u[14]=Me,u[15]=Ne,u[16]=Re,u[17]=Pe,u[18]=Oe,0!==l&&(u[19]=l,n.length++),n};function y(e,t,n){n.negative=t.negative^e.negative,n.length=e.length+t.length;for(var r=0,i=0,s=0;s<n.length-1;s++){var a=i;i=0;for(var o=67108863&r,u=Math.min(s,t.length-1),l=Math.max(0,s-e.length+1);l<=u;l++){var c=(0|e.words[s-l])*(0|t.words[l]),d=67108863&c;o=67108863&(d=d+o|0),i+=(a=(a=a+(c/67108864|0)|0)+(d>>>26)|0)>>>26,a&=67108863}n.words[s]=o,r=a,a=i}return 0!==r?n.words[s]=r:n.length--,n._strip()}function g(e,t,n){return y(e,t,n)}Math.imul||(m=f),i.prototype.mulTo=function(e,t){var n=this.length+e.length;return 10===this.length&&10===e.length?m(this,e,t):n<63?f(this,e,t):n<1024?y(this,e,t):g(this,e,t)},i.prototype.mul=function(e){var t=new i(null);return t.words=new Array(this.length+e.length),this.mulTo(e,t)},i.prototype.mulf=function(e){var t=new i(null);return t.words=new Array(this.length+e.length),g(this,e,t)},i.prototype.imul=function(e){return this.clone().mulTo(e,this)},i.prototype.imuln=function(e){var t=e<0;t&&(e=-e),n("number"==typeof e),n(e<67108864);for(var r=0,i=0;i<this.length;i++){var s=(0|this.words[i])*e,a=(67108863&s)+(67108863&r);r>>=26,r+=s/67108864|0,r+=a>>>26,this.words[i]=67108863&a}return 0!==r&&(this.words[i]=r,this.length++),t?this.ineg():this},i.prototype.muln=function(e){return this.clone().imuln(e)},i.prototype.sqr=function(){return this.mul(this)},i.prototype.isqr=function(){return this.imul(this.clone())},i.prototype.pow=function(e){var t=function(e){for(var t=new Array(e.bitLength()),n=0;n<t.length;n++)t[n]=e.words[n/26|0]>>>n%26&1;return t}(e);if(0===t.length)return new i(1);for(var n=this,r=0;r<t.length&&0===t[r];r++,n=n.sqr());if(++r<t.length)for(var s=n.sqr();r<t.length;r++,s=s.sqr())0!==t[r]&&(n=n.mul(s));return n},i.prototype.iushln=function(e){n("number"==typeof e&&e>=0);var t,r=e%26,i=(e-r)/26,s=67108863>>>26-r<<26-r;if(0!==r){var a=0;for(t=0;t<this.length;t++){var o=this.words[t]&s;this.words[t]=(0|this.words[t])-o<<r|a,a=o>>>26-r}a&&(this.words[t]=a,this.length++)}if(0!==i){for(t=this.length-1;t>=0;t--)this.words[t+i]=this.words[t];for(t=0;t<i;t++)this.words[t]=0;this.length+=i}return this._strip()},i.prototype.ishln=function(e){return n(0===this.negative),this.iushln(e)},i.prototype.iushrn=function(e,t,r){var i;n("number"==typeof e&&e>=0),i=t?(t-t%26)/26:0;var s=e%26,a=Math.min((e-s)/26,this.length),o=67108863^67108863>>>s<<s,u=r;if(i-=a,i=Math.max(0,i),u){for(var l=0;l<a;l++)u.words[l]=this.words[l];u.length=a}if(0===a);else if(this.length>a)for(this.length-=a,l=0;l<this.length;l++)this.words[l]=this.words[l+a];else this.words[0]=0,this.length=1;var c=0;for(l=this.length-1;l>=0&&(0!==c||l>=i);l--){var d=0|this.words[l];this.words[l]=c<<26-s|d>>>s,c=d&o}return u&&0!==c&&(u.words[u.length++]=c),0===this.length&&(this.words[0]=0,this.length=1),this._strip()},i.prototype.ishrn=function(e,t,r){return n(0===this.negative),this.iushrn(e,t,r)},i.prototype.shln=function(e){return this.clone().ishln(e)},i.prototype.ushln=function(e){return this.clone().iushln(e)},i.prototype.shrn=function(e){return this.clone().ishrn(e)},i.prototype.ushrn=function(e){return this.clone().iushrn(e)},i.prototype.testn=function(e){n("number"==typeof e&&e>=0);var t=e%26,r=(e-t)/26;return!(this.length<=r||!(this.words[r]&1<<t))},i.prototype.imaskn=function(e){n("number"==typeof e&&e>=0);var t=e%26,r=(e-t)/26;return n(0===this.negative,"imaskn works only with positive numbers"),this.length<=r?this:(0!==t&&r++,this.length=Math.min(r,this.length),0!==t&&(this.words[this.length-1]&=67108863^67108863>>>t<<t),this._strip())},i.prototype.maskn=function(e){return this.clone().imaskn(e)},i.prototype.iaddn=function(e){return n("number"==typeof e),n(e<67108864),e<0?this.isubn(-e):0!==this.negative?1===this.length&&(0|this.words[0])<=e?(this.words[0]=e-(0|this.words[0]),this.negative=0,this):(this.negative=0,this.isubn(e),this.negative=1,this):this._iaddn(e)},i.prototype._iaddn=function(e){this.words[0]+=e;for(var t=0;t<this.length&&this.words[t]>=67108864;t++)this.words[t]-=67108864,t===this.length-1?this.words[t+1]=1:this.words[t+1]++;return this.length=Math.max(this.length,t+1),this},i.prototype.isubn=function(e){if(n("number"==typeof e),n(e<67108864),e<0)return this.iaddn(-e);if(0!==this.negative)return this.negative=0,this.iaddn(e),this.negative=1,this;if(this.words[0]-=e,1===this.length&&this.words[0]<0)this.words[0]=-this.words[0],this.negative=1;else for(var t=0;t<this.length&&this.words[t]<0;t++)this.words[t]+=67108864,this.words[t+1]-=1;return this._strip()},i.prototype.addn=function(e){return this.clone().iaddn(e)},i.prototype.subn=function(e){return this.clone().isubn(e)},i.prototype.iabs=function(){return this.negative=0,this},i.prototype.abs=function(){return this.clone().iabs()},i.prototype._ishlnsubmul=function(e,t,r){var i,s;this._expand(e.length+r);var a=0;for(i=0;i<e.length;i++){s=(0|this.words[i+r])+a;var o=(0|e.words[i])*t;a=((s-=67108863&o)>>26)-(o/67108864|0),this.words[i+r]=67108863&s}for(;i<this.length-r;i++)a=(s=(0|this.words[i+r])+a)>>26,this.words[i+r]=67108863&s;if(0===a)return this._strip();for(n(-1===a),a=0,i=0;i<this.length;i++)a=(s=-(0|this.words[i])+a)>>26,this.words[i]=67108863&s;return this.negative=1,this._strip()},i.prototype._wordDiv=function(e,t){var n,r=this.clone(),s=e,a=0|s.words[s.length-1];0!=(n=26-this._countBits(a))&&(s=s.ushln(n),r.iushln(n),a=0|s.words[s.length-1]);var o,u=r.length-s.length;if("mod"!==t){(o=new i(null)).length=u+1,o.words=new Array(o.length);for(var l=0;l<o.length;l++)o.words[l]=0}var c=r.clone()._ishlnsubmul(s,1,u);0===c.negative&&(r=c,o&&(o.words[u]=1));for(var d=u-1;d>=0;d--){var h=67108864*(0|r.words[s.length+d])+(0|r.words[s.length+d-1]);for(h=Math.min(h/a|0,67108863),r._ishlnsubmul(s,h,d);0!==r.negative;)h--,r.negative=0,r._ishlnsubmul(s,1,d),r.isZero()||(r.negative^=1);o&&(o.words[d]=h)}return o&&o._strip(),r._strip(),"div"!==t&&0!==n&&r.iushrn(n),{div:o||null,mod:r}},i.prototype.divmod=function(e,t,r){return n(!e.isZero()),this.isZero()?{div:new i(0),mod:new i(0)}:0!==this.negative&&0===e.negative?(o=this.neg().divmod(e,t),"mod"!==t&&(s=o.div.neg()),"div"!==t&&(a=o.mod.neg(),r&&0!==a.negative&&a.iadd(e)),{div:s,mod:a}):0===this.negative&&0!==e.negative?(o=this.divmod(e.neg(),t),"mod"!==t&&(s=o.div.neg()),{div:s,mod:o.mod}):0!=(this.negative&e.negative)?(o=this.neg().divmod(e.neg(),t),"div"!==t&&(a=o.mod.neg(),r&&0!==a.negative&&a.isub(e)),{div:o.div,mod:a}):e.length>this.length||this.cmp(e)<0?{div:new i(0),mod:this}:1===e.length?"div"===t?{div:this.divn(e.words[0]),mod:null}:"mod"===t?{div:null,mod:new i(this.modrn(e.words[0]))}:{div:this.divn(e.words[0]),mod:new i(this.modrn(e.words[0]))}:this._wordDiv(e,t);var s,a,o},i.prototype.div=function(e){return this.divmod(e,"div",!1).div},i.prototype.mod=function(e){return this.divmod(e,"mod",!1).mod},i.prototype.umod=function(e){return this.divmod(e,"mod",!0).mod},i.prototype.divRound=function(e){var t=this.divmod(e);if(t.mod.isZero())return t.div;var n=0!==t.div.negative?t.mod.isub(e):t.mod,r=e.ushrn(1),i=e.andln(1),s=n.cmp(r);return s<0||1===i&&0===s?t.div:0!==t.div.negative?t.div.isubn(1):t.div.iaddn(1)},i.prototype.modrn=function(e){var t=e<0;t&&(e=-e),n(e<=67108863);for(var r=(1<<26)%e,i=0,s=this.length-1;s>=0;s--)i=(r*i+(0|this.words[s]))%e;return t?-i:i},i.prototype.modn=function(e){return this.modrn(e)},i.prototype.idivn=function(e){var t=e<0;t&&(e=-e),n(e<=67108863);for(var r=0,i=this.length-1;i>=0;i--){var s=(0|this.words[i])+67108864*r;this.words[i]=s/e|0,r=s%e}return this._strip(),t?this.ineg():this},i.prototype.divn=function(e){return this.clone().idivn(e)},i.prototype.egcd=function(e){n(0===e.negative),n(!e.isZero());var t=this,r=e.clone();t=0!==t.negative?t.umod(e):t.clone();for(var s=new i(1),a=new i(0),o=new i(0),u=new i(1),l=0;t.isEven()&&r.isEven();)t.iushrn(1),r.iushrn(1),++l;for(var c=r.clone(),d=t.clone();!t.isZero();){for(var h=0,p=1;0==(t.words[0]&p)&&h<26;++h,p<<=1);if(h>0)for(t.iushrn(h);h-- >0;)(s.isOdd()||a.isOdd())&&(s.iadd(c),a.isub(d)),s.iushrn(1),a.iushrn(1);for(var f=0,m=1;0==(r.words[0]&m)&&f<26;++f,m<<=1);if(f>0)for(r.iushrn(f);f-- >0;)(o.isOdd()||u.isOdd())&&(o.iadd(c),u.isub(d)),o.iushrn(1),u.iushrn(1);t.cmp(r)>=0?(t.isub(r),s.isub(o),a.isub(u)):(r.isub(t),o.isub(s),u.isub(a))}return{a:o,b:u,gcd:r.iushln(l)}},i.prototype._invmp=function(e){n(0===e.negative),n(!e.isZero());var t=this,r=e.clone();t=0!==t.negative?t.umod(e):t.clone();for(var s,a=new i(1),o=new i(0),u=r.clone();t.cmpn(1)>0&&r.cmpn(1)>0;){for(var l=0,c=1;0==(t.words[0]&c)&&l<26;++l,c<<=1);if(l>0)for(t.iushrn(l);l-- >0;)a.isOdd()&&a.iadd(u),a.iushrn(1);for(var d=0,h=1;0==(r.words[0]&h)&&d<26;++d,h<<=1);if(d>0)for(r.iushrn(d);d-- >0;)o.isOdd()&&o.iadd(u),o.iushrn(1);t.cmp(r)>=0?(t.isub(r),a.isub(o)):(r.isub(t),o.isub(a))}return(s=0===t.cmpn(1)?a:o).cmpn(0)<0&&s.iadd(e),s},i.prototype.gcd=function(e){if(this.isZero())return e.abs();if(e.isZero())return this.abs();var t=this.clone(),n=e.clone();t.negative=0,n.negative=0;for(var r=0;t.isEven()&&n.isEven();r++)t.iushrn(1),n.iushrn(1);for(;;){for(;t.isEven();)t.iushrn(1);for(;n.isEven();)n.iushrn(1);var i=t.cmp(n);if(i<0){var s=t;t=n,n=s}else if(0===i||0===n.cmpn(1))break;t.isub(n)}return n.iushln(r)},i.prototype.invm=function(e){return this.egcd(e).a.umod(e)},i.prototype.isEven=function(){return 0==(1&this.words[0])},i.prototype.isOdd=function(){return 1==(1&this.words[0])},i.prototype.andln=function(e){return this.words[0]&e},i.prototype.bincn=function(e){n("number"==typeof e);var t=e%26,r=(e-t)/26,i=1<<t;if(this.length<=r)return this._expand(r+1),this.words[r]|=i,this;for(var s=i,a=r;0!==s&&a<this.length;a++){var o=0|this.words[a];s=(o+=s)>>>26,this.words[a]=o&=67108863}return 0!==s&&(this.words[a]=s,this.length++),this},i.prototype.isZero=function(){return 1===this.length&&0===this.words[0]},i.prototype.cmpn=function(e){var t,r=e<0;if(0!==this.negative&&!r)return-1;if(0===this.negative&&r)return 1;if(this._strip(),this.length>1)t=1;else{r&&(e=-e),n(e<=67108863,"Number is too big");var i=0|this.words[0];t=i===e?0:i<e?-1:1}return 0!==this.negative?0|-t:t},i.prototype.cmp=function(e){if(0!==this.negative&&0===e.negative)return-1;if(0===this.negative&&0!==e.negative)return 1;var t=this.ucmp(e);return 0!==this.negative?0|-t:t},i.prototype.ucmp=function(e){if(this.length>e.length)return 1;if(this.length<e.length)return-1;for(var t=0,n=this.length-1;n>=0;n--){var r=0|this.words[n],i=0|e.words[n];if(r!==i){r<i?t=-1:r>i&&(t=1);break}}return t},i.prototype.gtn=function(e){return 1===this.cmpn(e)},i.prototype.gt=function(e){return 1===this.cmp(e)},i.prototype.gten=function(e){return this.cmpn(e)>=0},i.prototype.gte=function(e){return this.cmp(e)>=0},i.prototype.ltn=function(e){return-1===this.cmpn(e)},i.prototype.lt=function(e){return-1===this.cmp(e)},i.prototype.lten=function(e){return this.cmpn(e)<=0},i.prototype.lte=function(e){return this.cmp(e)<=0},i.prototype.eqn=function(e){return 0===this.cmpn(e)},i.prototype.eq=function(e){return 0===this.cmp(e)},i.red=function(e){return new I(e)},i.prototype.toRed=function(e){return n(!this.red,"Already a number in reduction context"),n(0===this.negative,"red works only with positives"),e.convertTo(this)._forceRed(e)},i.prototype.fromRed=function(){return n(this.red,"fromRed works only with numbers in reduction context"),this.red.convertFrom(this)},i.prototype._forceRed=function(e){return this.red=e,this},i.prototype.forceRed=function(e){return n(!this.red,"Already a number in reduction context"),this._forceRed(e)},i.prototype.redAdd=function(e){return n(this.red,"redAdd works only with red numbers"),this.red.add(this,e)},i.prototype.redIAdd=function(e){return n(this.red,"redIAdd works only with red numbers"),this.red.iadd(this,e)},i.prototype.redSub=function(e){return n(this.red,"redSub works only with red numbers"),this.red.sub(this,e)},i.prototype.redISub=function(e){return n(this.red,"redISub works only with red numbers"),this.red.isub(this,e)},i.prototype.redShl=function(e){return n(this.red,"redShl works only with red numbers"),this.red.shl(this,e)},i.prototype.redMul=function(e){return n(this.red,"redMul works only with red numbers"),this.red._verify2(this,e),this.red.mul(this,e)},i.prototype.redIMul=function(e){return n(this.red,"redMul works only with red numbers"),this.red._verify2(this,e),this.red.imul(this,e)},i.prototype.redSqr=function(){return n(this.red,"redSqr works only with red numbers"),this.red._verify1(this),this.red.sqr(this)},i.prototype.redISqr=function(){return n(this.red,"redISqr works only with red numbers"),this.red._verify1(this),this.red.isqr(this)},i.prototype.redSqrt=function(){return n(this.red,"redSqrt works only with red numbers"),this.red._verify1(this),this.red.sqrt(this)},i.prototype.redInvm=function(){return n(this.red,"redInvm works only with red numbers"),this.red._verify1(this),this.red.invm(this)},i.prototype.redNeg=function(){return n(this.red,"redNeg works only with red numbers"),this.red._verify1(this),this.red.neg(this)},i.prototype.redPow=function(e){return n(this.red&&!e.red,"redPow(normalNum)"),this.red._verify1(this),this.red.pow(this,e)};var b={k256:null,p224:null,p192:null,p25519:null};function v(e,t){this.name=e,this.p=new i(t,16),this.n=this.p.bitLength(),this.k=new i(1).iushln(this.n).isub(this.p),this.tmp=this._tmp()}function w(){v.call(this,"k256","ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff fffffffe fffffc2f")}function A(){v.call(this,"p224","ffffffff ffffffff ffffffff ffffffff 00000000 00000000 00000001")}function T(){v.call(this,"p192","ffffffff ffffffff ffffffff fffffffe ffffffff ffffffff")}function E(){v.call(this,"25519","7fffffffffffffff ffffffffffffffff ffffffffffffffff ffffffffffffffed")}function I(e){if("string"==typeof e){var t=i._prime(e);this.m=t.p,this.prime=t}else n(e.gtn(1),"modulus must be greater than 1"),this.m=e,this.prime=null}function S(e){I.call(this,e),this.shift=this.m.bitLength(),this.shift%26!=0&&(this.shift+=26-this.shift%26),this.r=new i(1).iushln(this.shift),this.r2=this.imod(this.r.sqr()),this.rinv=this.r._invmp(this.m),this.minv=this.rinv.mul(this.r).isubn(1).div(this.m),this.minv=this.minv.umod(this.r),this.minv=this.r.sub(this.minv)}v.prototype._tmp=function(){var e=new i(null);return e.words=new Array(Math.ceil(this.n/13)),e},v.prototype.ireduce=function(e){var t,n=e;do{this.split(n,this.tmp),t=(n=(n=this.imulK(n)).iadd(this.tmp)).bitLength()}while(t>this.n);var r=t<this.n?-1:n.ucmp(this.p);return 0===r?(n.words[0]=0,n.length=1):r>0?n.isub(this.p):void 0!==n.strip?n.strip():n._strip(),n},v.prototype.split=function(e,t){e.iushrn(this.n,0,t)},v.prototype.imulK=function(e){return e.imul(this.k)},r(w,v),w.prototype.split=function(e,t){for(var n=4194303,r=Math.min(e.length,9),i=0;i<r;i++)t.words[i]=e.words[i];if(t.length=r,e.length<=9)return e.words[0]=0,void(e.length=1);var s=e.words[9];for(t.words[t.length++]=s&n,i=10;i<e.length;i++){var a=0|e.words[i];e.words[i-10]=(a&n)<<4|s>>>22,s=a}e.words[i-10]=s>>>=22,e.length-=0===s&&e.length>10?10:9},w.prototype.imulK=function(e){e.words[e.length]=0,e.words[e.length+1]=0,e.length+=2;for(var t=0,n=0;n<e.length;n++){var r=0|e.words[n];e.words[n]=67108863&(t+=977*r),t=64*r+(t/67108864|0)}return 0===e.words[e.length-1]&&(e.length--,0===e.words[e.length-1]&&e.length--),e},r(A,v),r(T,v),r(E,v),E.prototype.imulK=function(e){for(var t=0,n=0;n<e.length;n++){var r=19*(0|e.words[n])+t,i=67108863&r;r>>>=26,e.words[n]=i,t=r}return 0!==t&&(e.words[e.length++]=t),e},i._prime=function(e){if(b[e])return b[e];var t;if("k256"===e)t=new w;else if("p224"===e)t=new A;else if("p192"===e)t=new T;else{if("p25519"!==e)throw new Error("Unknown prime "+e);t=new E}return b[e]=t,t},I.prototype._verify1=function(e){n(0===e.negative,"red works only with positives"),n(e.red,"red works only with red numbers")},I.prototype._verify2=function(e,t){n(0==(e.negative|t.negative),"red works only with positives"),n(e.red&&e.red===t.red,"red works only with red numbers")},I.prototype.imod=function(e){return this.prime?this.prime.ireduce(e)._forceRed(this):(l(e,e.umod(this.m)._forceRed(this)),e)},I.prototype.neg=function(e){return e.isZero()?e.clone():this.m.sub(e)._forceRed(this)},I.prototype.add=function(e,t){this._verify2(e,t);var n=e.add(t);return n.cmp(this.m)>=0&&n.isub(this.m),n._forceRed(this)},I.prototype.iadd=function(e,t){this._verify2(e,t);var n=e.iadd(t);return n.cmp(this.m)>=0&&n.isub(this.m),n},I.prototype.sub=function(e,t){this._verify2(e,t);var n=e.sub(t);return n.cmpn(0)<0&&n.iadd(this.m),n._forceRed(this)},I.prototype.isub=function(e,t){this._verify2(e,t);var n=e.isub(t);return n.cmpn(0)<0&&n.iadd(this.m),n},I.prototype.shl=function(e,t){return this._verify1(e),this.imod(e.ushln(t))},I.prototype.imul=function(e,t){return this._verify2(e,t),this.imod(e.imul(t))},I.prototype.mul=function(e,t){return this._verify2(e,t),this.imod(e.mul(t))},I.prototype.isqr=function(e){return this.imul(e,e.clone())},I.prototype.sqr=function(e){return this.mul(e,e)},I.prototype.sqrt=function(e){if(e.isZero())return e.clone();var t=this.m.andln(3);if(n(t%2==1),3===t){var r=this.m.add(new i(1)).iushrn(2);return this.pow(e,r)}for(var s=this.m.subn(1),a=0;!s.isZero()&&0===s.andln(1);)a++,s.iushrn(1);n(!s.isZero());var o=new i(1).toRed(this),u=o.redNeg(),l=this.m.subn(1).iushrn(1),c=this.m.bitLength();for(c=new i(2*c*c).toRed(this);0!==this.pow(c,l).cmp(u);)c.redIAdd(u);for(var d=this.pow(c,s),h=this.pow(e,s.addn(1).iushrn(1)),p=this.pow(e,s),f=a;0!==p.cmp(o);){for(var m=p,y=0;0!==m.cmp(o);y++)m=m.redSqr();n(y<f);var g=this.pow(d,new i(1).iushln(f-y-1));h=h.redMul(g),d=g.redSqr(),p=p.redMul(d),f=y}return h},I.prototype.invm=function(e){var t=e._invmp(this.m);return 0!==t.negative?(t.negative=0,this.imod(t).redNeg()):this.imod(t)},I.prototype.pow=function(e,t){if(t.isZero())return new i(1).toRed(this);if(0===t.cmpn(1))return e.clone();var n=new Array(16);n[0]=new i(1).toRed(this),n[1]=e;for(var r=2;r<n.length;r++)n[r]=this.mul(n[r-1],e);var s=n[0],a=0,o=0,u=t.bitLength()%26;for(0===u&&(u=26),r=t.length-1;r>=0;r--){for(var l=t.words[r],c=u-1;c>=0;c--){var d=l>>c&1;s!==n[0]&&(s=this.sqr(s)),0!==d||0!==a?(a<<=1,a|=d,(4==++o||0===r&&0===c)&&(s=this.mul(s,n[a]),o=0,a=0)):o=0}u=26}return s},I.prototype.convertTo=function(e){var t=e.umod(this.m);return t===e?t.clone():t},I.prototype.convertFrom=function(e){var t=e.clone();return t.red=null,t},i.mont=function(e){return new S(e)},r(S,I),S.prototype.convertTo=function(e){return this.imod(e.ushln(this.shift))},S.prototype.convertFrom=function(e){var t=this.imod(e.mul(this.rinv));return t.red=null,t},S.prototype.imul=function(e,t){if(e.isZero()||t.isZero())return e.words[0]=0,e.length=1,e;var n=e.imul(t),r=n.maskn(this.shift).mul(this.minv).imaskn(this.shift).mul(this.m),i=n.isub(r).iushrn(this.shift),s=i;return i.cmp(this.m)>=0?s=i.isub(this.m):i.cmpn(0)<0&&(s=i.iadd(this.m)),s._forceRed(this)},S.prototype.mul=function(e,t){if(e.isZero()||t.isZero())return new i(0)._forceRed(this);var n=e.mul(t),r=n.maskn(this.shift).mul(this.minv).imaskn(this.shift).mul(this.m),s=n.isub(r).iushrn(this.shift),a=s;return s.cmp(this.m)>=0?a=s.isub(this.m):s.cmpn(0)<0&&(a=s.iadd(this.m)),a._forceRed(this)},S.prototype.invm=function(e){return this.imod(e._invmp(this.m).mul(this.r2))._forceRed(this)}}(e,$t)});let rn=!1,sn=!1;const an={debug:1,default:2,info:2,warning:3,error:4,off:5};let on=an.default,un=null;const ln=function(){try{const e=[];if(["NFD","NFC","NFKD","NFKC"].forEach(t=>{try{if("test"!=="test".normalize(t))throw new Error("bad normalize")}catch(n){e.push(t)}}),e.length)throw new Error("missing "+e.join(", "));if(String.fromCharCode(233).normalize("NFD")!==String.fromCharCode(101,769))throw new Error("broken implementation")}catch(e){return e.message}return null}();var cn,dn;!function(e){e.DEBUG="DEBUG",e.INFO="INFO",e.WARNING="WARNING",e.ERROR="ERROR",e.OFF="OFF"}(cn||(cn={})),function(e){e.UNKNOWN_ERROR="UNKNOWN_ERROR",e.NOT_IMPLEMENTED="NOT_IMPLEMENTED",e.UNSUPPORTED_OPERATION="UNSUPPORTED_OPERATION",e.NETWORK_ERROR="NETWORK_ERROR",e.SERVER_ERROR="SERVER_ERROR",e.TIMEOUT="TIMEOUT",e.BUFFER_OVERRUN="BUFFER_OVERRUN",e.NUMERIC_FAULT="NUMERIC_FAULT",e.MISSING_NEW="MISSING_NEW",e.INVALID_ARGUMENT="INVALID_ARGUMENT",e.MISSING_ARGUMENT="MISSING_ARGUMENT",e.UNEXPECTED_ARGUMENT="UNEXPECTED_ARGUMENT",e.CALL_EXCEPTION="CALL_EXCEPTION",e.INSUFFICIENT_FUNDS="INSUFFICIENT_FUNDS",e.NONCE_EXPIRED="NONCE_EXPIRED",e.REPLACEMENT_UNDERPRICED="REPLACEMENT_UNDERPRICED",e.UNPREDICTABLE_GAS_LIMIT="UNPREDICTABLE_GAS_LIMIT",e.TRANSACTION_REPLACED="TRANSACTION_REPLACED",e.ACTION_REJECTED="ACTION_REJECTED"}(dn||(dn={}));const hn="0123456789abcdef";class pn{constructor(e){Object.defineProperty(this,"version",{enumerable:!0,value:e,writable:!1})}_log(e,t){const n=e.toLowerCase();null==an[n]&&this.throwArgumentError("invalid log level name","logLevel",e),on>an[n]||console.log.apply(console,t)}debug(...e){this._log(pn.levels.DEBUG,e)}info(...e){this._log(pn.levels.INFO,e)}warn(...e){this._log(pn.levels.WARNING,e)}makeError(e,t,n){if(sn)return this.makeError("censored error",t,{});t||(t=pn.errors.UNKNOWN_ERROR),n||(n={});const r=[];Object.keys(n).forEach(e=>{const t=n[e];try{if(t instanceof Uint8Array){let n="";for(let e=0;e<t.length;e++)n+=hn[t[e]>>4],n+=hn[15&t[e]];r.push(e+"=Uint8Array(0x"+n+")")}else r.push(e+"="+JSON.stringify(t))}catch(t){r.push(e+"="+JSON.stringify(n[e].toString()))}}),r.push(`code=${t}`),r.push(`version=${this.version}`);const i=e;let s="";switch(t){case dn.NUMERIC_FAULT:{s="NUMERIC_FAULT";const t=e;switch(t){case"overflow":case"underflow":case"division-by-zero":s+="-"+t;break;case"negative-power":case"negative-width":s+="-unsupported";break;case"unbound-bitwise-result":s+="-unbound-result"}break}case dn.CALL_EXCEPTION:case dn.INSUFFICIENT_FUNDS:case dn.MISSING_NEW:case dn.NONCE_EXPIRED:case dn.REPLACEMENT_UNDERPRICED:case dn.TRANSACTION_REPLACED:case dn.UNPREDICTABLE_GAS_LIMIT:s=t}s&&(e+=" [ See: https://links.ethers.org/v5-errors-"+s+" ]"),r.length&&(e+=" ("+r.join(", ")+")");const a=new Error(e);return a.reason=i,a.code=t,Object.keys(n).forEach(function(e){a[e]=n[e]}),a}throwError(e,t,n){throw this.makeError(e,t,n)}throwArgumentError(e,t,n){return this.throwError(e,pn.errors.INVALID_ARGUMENT,{argument:t,value:n})}assert(e,t,n,r){e||this.throwError(t,n,r)}assertArgument(e,t,n,r){e||this.throwArgumentError(t,n,r)}checkNormalize(e){ln&&this.throwError("platform missing String.prototype.normalize",pn.errors.UNSUPPORTED_OPERATION,{operation:"String.prototype.normalize",form:ln})}checkSafeUint53(e,t){"number"==typeof e&&(null==t&&(t="value not safe"),(e<0||e>=9007199254740991)&&this.throwError(t,pn.errors.NUMERIC_FAULT,{operation:"checkSafeInteger",fault:"out-of-safe-range",value:e}),e%1&&this.throwError(t,pn.errors.NUMERIC_FAULT,{operation:"checkSafeInteger",fault:"non-integer",value:e}))}checkArgumentCount(e,t,n){n=n?": "+n:"",e<t&&this.throwError("missing argument"+n,pn.errors.MISSING_ARGUMENT,{count:e,expectedCount:t}),e>t&&this.throwError("too many arguments"+n,pn.errors.UNEXPECTED_ARGUMENT,{count:e,expectedCount:t})}checkNew(e,t){e!==Object&&null!=e||this.throwError("missing new",pn.errors.MISSING_NEW,{name:t.name})}checkAbstract(e,t){e===t?this.throwError("cannot instantiate abstract class "+JSON.stringify(t.name)+" directly; use a sub-class",pn.errors.UNSUPPORTED_OPERATION,{name:e.name,operation:"new"}):e!==Object&&null!=e||this.throwError("missing new",pn.errors.MISSING_NEW,{name:t.name})}static globalLogger(){return un||(un=new pn("logger/5.8.0")),un}static setCensorship(e,t){if(!e&&t&&this.globalLogger().throwError("cannot permanently disable censorship",pn.errors.UNSUPPORTED_OPERATION,{operation:"setCensorship"}),rn){if(!e)return;this.globalLogger().throwError("error censorship permanent",pn.errors.UNSUPPORTED_OPERATION,{operation:"setCensorship"})}sn=!!e,rn=!!t}static setLogLevel(e){const t=an[e.toLowerCase()];null!=t?on=t:pn.globalLogger().warn("invalid log level - "+e)}static from(e){return new pn(e)}}pn.errors=dn,pn.levels=cn;const fn=new pn("bytes/5.8.0");function mn(e){return!!e.toHexString}function yn(e){return e.slice||(e.slice=function(){const t=Array.prototype.slice.call(arguments);return yn(new Uint8Array(Array.prototype.slice.apply(e,t)))}),e}function gn(e){return En(e)&&!(e.length%2)||vn(e)}function bn(e){return"number"==typeof e&&e==e&&e%1==0}function vn(e){if(null==e)return!1;if(e.constructor===Uint8Array)return!0;if("string"==typeof e)return!1;if(!bn(e.length)||e.length<0)return!1;for(let t=0;t<e.length;t++){const n=e[t];if(!bn(n)||n<0||n>=256)return!1}return!0}function wn(e,t){if(t||(t={}),"number"==typeof e){fn.checkSafeUint53(e,"invalid arrayify value");const t=[];for(;e;)t.unshift(255&e),e=parseInt(String(e/256));return 0===t.length&&t.push(0),yn(new Uint8Array(t))}if(t.allowMissingPrefix&&"string"==typeof e&&"0x"!==e.substring(0,2)&&(e="0x"+e),mn(e)&&(e=e.toHexString()),En(e)){let n=e.substring(2);n.length%2&&("left"===t.hexPad?n="0"+n:"right"===t.hexPad?n+="0":fn.throwArgumentError("hex data is odd-length","value",e));const r=[];for(let e=0;e<n.length;e+=2)r.push(parseInt(n.substring(e,e+2),16));return yn(new Uint8Array(r))}return vn(e)?yn(new Uint8Array(e)):fn.throwArgumentError("invalid arrayify value","value",e)}function An(e){const t=e.map(e=>wn(e)),n=t.reduce((e,t)=>e+t.length,0),r=new Uint8Array(n);return t.reduce((e,t)=>(r.set(t,e),e+t.length),0),yn(r)}function Tn(e){let t=wn(e);if(0===t.length)return t;let n=0;for(;n<t.length&&0===t[n];)n++;return n&&(t=t.slice(n)),t}function En(e,t){return!("string"!=typeof e||!e.match(/^0x[0-9A-Fa-f]*$/)||t&&e.length!==2+2*t)}const In="0123456789abcdef";function Sn(e,t){if(t||(t={}),"number"==typeof e){fn.checkSafeUint53(e,"invalid hexlify value");let t="";for(;e;)t=In[15&e]+t,e=Math.floor(e/16);return t.length?(t.length%2&&(t="0"+t),"0x"+t):"0x00"}if("bigint"==typeof e)return(e=e.toString(16)).length%2?"0x0"+e:"0x"+e;if(t.allowMissingPrefix&&"string"==typeof e&&"0x"!==e.substring(0,2)&&(e="0x"+e),mn(e))return e.toHexString();if(En(e))return e.length%2&&("left"===t.hexPad?e="0x0"+e.substring(2):"right"===t.hexPad?e+="0":fn.throwArgumentError("hex data is odd-length","value",e)),e.toLowerCase();if(vn(e)){let t="0x";for(let n=0;n<e.length;n++){let r=e[n];t+=In[(240&r)>>4]+In[15&r]}return t}return fn.throwArgumentError("invalid hexlify value","value",e)}function kn(e){if("string"!=typeof e)e=Sn(e);else if(!En(e)||e.length%2)return null;return(e.length-2)/2}function Cn(e,t,n){return"string"!=typeof e?e=Sn(e):(!En(e)||e.length%2)&&fn.throwArgumentError("invalid hexData","value",e),t=2+2*t,null!=n?"0x"+e.substring(t,2+2*n):"0x"+e.substring(t)}function _n(e){let t="0x";return e.forEach(e=>{t+=Sn(e).substring(2)}),t}function xn(e){const t=function(e){"string"!=typeof e&&(e=Sn(e)),En(e)||fn.throwArgumentError("invalid hex string","value",e),e=e.substring(2);let t=0;for(;t<e.length&&"0"===e[t];)t++;return"0x"+e.substring(t)}(Sn(e,{hexPad:"left"}));return"0x"===t?"0x0":t}function Mn(e,t){for("string"!=typeof e?e=Sn(e):En(e)||fn.throwArgumentError("invalid hex string","value",e),e.length>2*t+2&&fn.throwArgumentError("value out of range","value",arguments[1]);e.length<2*t+2;)e="0x0"+e.substring(2);return e}function Nn(e){const t={r:"0x",s:"0x",_vs:"0x",recoveryParam:0,v:0,yParityAndS:"0x",compact:"0x"};if(gn(e)){let n=wn(e);64===n.length?(t.v=27+(n[32]>>7),n[32]&=127,t.r=Sn(n.slice(0,32)),t.s=Sn(n.slice(32,64))):65===n.length?(t.r=Sn(n.slice(0,32)),t.s=Sn(n.slice(32,64)),t.v=n[64]):fn.throwArgumentError("invalid signature string","signature",e),t.v<27&&(0===t.v||1===t.v?t.v+=27:fn.throwArgumentError("signature invalid v byte","signature",e)),t.recoveryParam=1-t.v%2,t.recoveryParam&&(n[32]|=128),t._vs=Sn(n.slice(32,64))}else{if(t.r=e.r,t.s=e.s,t.v=e.v,t.recoveryParam=e.recoveryParam,t._vs=e._vs,null!=t._vs){const n=function(e,t){(e=wn(e)).length>t&&fn.throwArgumentError("value out of range","value",arguments[0]);const n=new Uint8Array(t);return n.set(e,t-e.length),yn(n)}(wn(t._vs),32);t._vs=Sn(n);const r=n[0]>=128?1:0;null==t.recoveryParam?t.recoveryParam=r:t.recoveryParam!==r&&fn.throwArgumentError("signature recoveryParam mismatch _vs","signature",e),n[0]&=127;const i=Sn(n);null==t.s?t.s=i:t.s!==i&&fn.throwArgumentError("signature v mismatch _vs","signature",e)}null==t.recoveryParam?null==t.v?fn.throwArgumentError("signature missing v and recoveryParam","signature",e):t.recoveryParam=0===t.v||1===t.v?t.v:1-t.v%2:null==t.v?t.v=27+t.recoveryParam:t.recoveryParam!==(0===t.v||1===t.v?t.v:1-t.v%2)&&fn.throwArgumentError("signature recoveryParam mismatch v","signature",e),null!=t.r&&En(t.r)?t.r=Mn(t.r,32):fn.throwArgumentError("signature missing or invalid r","signature",e),null!=t.s&&En(t.s)?t.s=Mn(t.s,32):fn.throwArgumentError("signature missing or invalid s","signature",e);const n=wn(t.s);n[0]>=128&&fn.throwArgumentError("signature s out of range","signature",e),t.recoveryParam&&(n[0]|=128);const r=Sn(n);t._vs&&(En(t._vs)||fn.throwArgumentError("signature invalid _vs","signature",e),t._vs=Mn(t._vs,32)),null==t._vs?t._vs=r:t._vs!==r&&fn.throwArgumentError("signature _vs mismatch v and s","signature",e)}return t.yParityAndS=t._vs,t.compact=t.r+t.yParityAndS.substring(2),t}function Rn(e){return Sn(An([(e=Nn(e)).r,e.s,e.recoveryParam?"0x1c":"0x1b"]))}var Pn=nn.BN;const On=new pn("bignumber/5.8.0"),Bn={},Dn=9007199254740991;let Fn=!1;class Ln{constructor(e,t){e!==Bn&&On.throwError("cannot call constructor directly; use BigNumber.from",pn.errors.UNSUPPORTED_OPERATION,{operation:"new (BigNumber)"}),this._hex=t,this._isBigNumber=!0,Object.freeze(this)}fromTwos(e){return Gn(Hn(this).fromTwos(e))}toTwos(e){return Gn(Hn(this).toTwos(e))}abs(){return"-"===this._hex[0]?Ln.from(this._hex.substring(1)):this}add(e){return Gn(Hn(this).add(Hn(e)))}sub(e){return Gn(Hn(this).sub(Hn(e)))}div(e){return Ln.from(e).isZero()&&qn("division-by-zero","div"),Gn(Hn(this).div(Hn(e)))}mul(e){return Gn(Hn(this).mul(Hn(e)))}mod(e){const t=Hn(e);return t.isNeg()&&qn("division-by-zero","mod"),Gn(Hn(this).umod(t))}pow(e){const t=Hn(e);return t.isNeg()&&qn("negative-power","pow"),Gn(Hn(this).pow(t))}and(e){const t=Hn(e);return(this.isNegative()||t.isNeg())&&qn("unbound-bitwise-result","and"),Gn(Hn(this).and(t))}or(e){const t=Hn(e);return(this.isNegative()||t.isNeg())&&qn("unbound-bitwise-result","or"),Gn(Hn(this).or(t))}xor(e){const t=Hn(e);return(this.isNegative()||t.isNeg())&&qn("unbound-bitwise-result","xor"),Gn(Hn(this).xor(t))}mask(e){return(this.isNegative()||e<0)&&qn("negative-width","mask"),Gn(Hn(this).maskn(e))}shl(e){return(this.isNegative()||e<0)&&qn("negative-width","shl"),Gn(Hn(this).shln(e))}shr(e){return(this.isNegative()||e<0)&&qn("negative-width","shr"),Gn(Hn(this).shrn(e))}eq(e){return Hn(this).eq(Hn(e))}lt(e){return Hn(this).lt(Hn(e))}lte(e){return Hn(this).lte(Hn(e))}gt(e){return Hn(this).gt(Hn(e))}gte(e){return Hn(this).gte(Hn(e))}isNegative(){return"-"===this._hex[0]}isZero(){return Hn(this).isZero()}toNumber(){try{return Hn(this).toNumber()}catch(e){qn("overflow","toNumber",this.toString())}return null}toBigInt(){try{return BigInt(this.toString())}catch(e){}return On.throwError("this platform does not support BigInt",pn.errors.UNSUPPORTED_OPERATION,{value:this.toString()})}toString(){return arguments.length>0&&(10===arguments[0]?Fn||(Fn=!0,On.warn("BigNumber.toString does not accept any parameters; base-10 is assumed")):On.throwError(16===arguments[0]?"BigNumber.toString does not accept any parameters; use bigNumber.toHexString()":"BigNumber.toString does not accept parameters",pn.errors.UNEXPECTED_ARGUMENT,{})),Hn(this).toString(10)}toHexString(){return this._hex}toJSON(e){return{type:"BigNumber",hex:this.toHexString()}}static from(e){if(e instanceof Ln)return e;if("string"==typeof e)return e.match(/^-?0x[0-9a-f]+$/i)?new Ln(Bn,Un(e)):e.match(/^-?[0-9]+$/)?new Ln(Bn,Un(new Pn(e))):On.throwArgumentError("invalid BigNumber string","value",e);if("number"==typeof e)return e%1&&qn("underflow","BigNumber.from",e),(e>=Dn||e<=-Dn)&&qn("overflow","BigNumber.from",e),Ln.from(String(e));const t=e;if("bigint"==typeof t)return Ln.from(t.toString());if(vn(t))return Ln.from(Sn(t));if(t)if(t.toHexString){const e=t.toHexString();if("string"==typeof e)return Ln.from(e)}else{let e=t._hex;if(null==e&&"BigNumber"===t.type&&(e=t.hex),"string"==typeof e&&(En(e)||"-"===e[0]&&En(e.substring(1))))return Ln.from(e)}return On.throwArgumentError("invalid BigNumber value","value",e)}static isBigNumber(e){return!(!e||!e._isBigNumber)}}function Un(e){if("string"!=typeof e)return Un(e.toString(16));if("-"===e[0])return"-"===(e=e.substring(1))[0]&&On.throwArgumentError("invalid hex","value",e),"0x00"===(e=Un(e))?e:"-"+e;if("0x"!==e.substring(0,2)&&(e="0x"+e),"0x"===e)return"0x00";for(e.length%2&&(e="0x0"+e.substring(2));e.length>4&&"0x00"===e.substring(0,4);)e="0x"+e.substring(4);return e}function Gn(e){return Ln.from(Un(e))}function Hn(e){const t=Ln.from(e).toHexString();return new Pn("-"===t[0]?"-"+t.substring(3):t.substring(2),16)}function qn(e,t,n){const r={fault:e,operation:t};return null!=n&&(r.value=n),On.throwError(e,pn.errors.NUMERIC_FAULT,r)}var zn=function(e,t,n,r){return new(n||(n=Promise))(function(i,s){function a(e){try{u(r.next(e))}catch(e){s(e)}}function o(e){try{u(r.throw(e))}catch(e){s(e)}}function u(e){var t;e.done?i(e.value):(t=e.value,t instanceof n?t:new n(function(e){e(t)})).then(a,o)}u((r=r.apply(e,t||[])).next())})};const Vn=new pn("properties/5.8.0");function Kn(e,t,n){Object.defineProperty(e,t,{enumerable:!0,value:n,writable:!1})}function jn(e,t){for(let n=0;n<32;n++){if(e[t])return e[t];if(!e.prototype||"object"!=typeof e.prototype)break;e=Object.getPrototypeOf(e.prototype).constructor}return null}function Wn(e){return zn(this,void 0,void 0,function*(){const t=Object.keys(e).map(t=>Promise.resolve(e[t]).then(e=>({key:t,value:e})));return(yield Promise.all(t)).reduce((e,t)=>(e[t.key]=t.value,e),{})})}function Jn(e,t){e&&"object"==typeof e||Vn.throwArgumentError("invalid object","object",e),Object.keys(e).forEach(n=>{t[n]||Vn.throwArgumentError("invalid object key - "+n,"transaction:"+n,e)})}function Qn(e){const t={};for(const n in e)t[n]=e[n];return t}const Yn={bigint:!0,boolean:!0,function:!0,number:!0,string:!0};function Xn(e){if(null==e||Yn[typeof e])return!0;if(Array.isArray(e)||"object"==typeof e){if(!Object.isFrozen(e))return!1;const t=Object.keys(e);for(let n=0;n<t.length;n++){let r=null;try{r=e[t[n]]}catch(e){continue}if(!Xn(r))return!1}return!0}return Vn.throwArgumentError("Cannot deepCopy "+typeof e,"object",e)}function Zn(e){if(Xn(e))return e;if(Array.isArray(e))return Object.freeze(e.map(e=>$n(e)));if("object"==typeof e){const t={};for(const n in e){const r=e[n];void 0!==r&&Kn(t,n,$n(r))}return t}return Vn.throwArgumentError("Cannot deepCopy "+typeof e,"object",e)}function $n(e){return Zn(e)}class er{constructor(e){for(const t in e)this[t]=$n(e[t])}}const tr=new pn("abstract-provider/5.8.0");class nr extends er{static isForkEvent(e){return!(!e||!e._isForkEvent)}}class rr{constructor(){tr.checkAbstract(new.target,rr),Kn(this,"_isProvider",!0)}getFeeData(){return e=this,n=function*(){const{block:e,gasPrice:t}=yield Wn({block:this.getBlock("latest"),gasPrice:this.getGasPrice().catch(e=>null)});let n=null,r=null,i=null;return e&&e.baseFeePerGas&&(n=e.baseFeePerGas,i=Ln.from("1500000000"),r=e.baseFeePerGas.mul(2).add(i)),{lastBaseFeePerGas:n,maxFeePerGas:r,maxPriorityFeePerGas:i,gasPrice:t}},new((t=void 0)||(t=Promise))(function(r,i){function s(e){try{o(n.next(e))}catch(e){i(e)}}function a(e){try{o(n.throw(e))}catch(e){i(e)}}function o(e){var n;e.done?r(e.value):(n=e.value,n instanceof t?n:new t(function(e){e(n)})).then(s,a)}o((n=n.apply(e,[])).next())});var e,t,n}addListener(e,t){return this.on(e,t)}removeListener(e,t){return this.off(e,t)}static isProvider(e){return!(!e||!e._isProvider)}}const ir=new pn("networks/5.8.0");function sr(e){const t=function(t,n){null==n&&(n={});const r=[];if(t.InfuraProvider&&"-"!==n.infura)try{r.push(new t.InfuraProvider(e,n.infura))}catch(e){}if(t.EtherscanProvider&&"-"!==n.etherscan)try{r.push(new t.EtherscanProvider(e,n.etherscan))}catch(e){}if(t.AlchemyProvider&&"-"!==n.alchemy)try{r.push(new t.AlchemyProvider(e,n.alchemy))}catch(e){}if(t.PocketProvider&&"-"!==n.pocket){const i=["goerli","ropsten","rinkeby","sepolia"];try{const s=new t.PocketProvider(e,n.pocket);s.network&&-1===i.indexOf(s.network.name)&&r.push(s)}catch(e){}}if(t.CloudflareProvider&&"-"!==n.cloudflare)try{r.push(new t.CloudflareProvider(e))}catch(e){}if(t.AnkrProvider&&"-"!==n.ankr)try{const i=["ropsten"],s=new t.AnkrProvider(e,n.ankr);s.network&&-1===i.indexOf(s.network.name)&&r.push(s)}catch(e){}if(t.QuickNodeProvider&&"-"!==n.quicknode)try{r.push(new t.QuickNodeProvider(e,n.quicknode))}catch(e){}if(0===r.length)return null;if(t.FallbackProvider){let i=1;return null!=n.quorum?i=n.quorum:"homestead"===e&&(i=2),new t.FallbackProvider(r,i)}return r[0]};return t.renetwork=function(e){return sr(e)},t}function ar(e,t){const n=function(n,r){return n.JsonRpcProvider?new n.JsonRpcProvider(e,t):null};return n.renetwork=function(t){return ar(e,t)},n}const or={chainId:1,ensAddress:"0x00000000000C2E074eC69A0dFb2997BA6C7d2e1e",name:"homestead",_defaultProvider:sr("homestead")},ur={chainId:3,ensAddress:"0x00000000000C2E074eC69A0dFb2997BA6C7d2e1e",name:"ropsten",_defaultProvider:sr("ropsten")},lr={chainId:63,name:"classicMordor",_defaultProvider:ar("https://www.ethercluster.com/mordor","classicMordor")},cr={unspecified:{chainId:0,name:"unspecified"},homestead:or,mainnet:or,morden:{chainId:2,name:"morden"},ropsten:ur,testnet:ur,rinkeby:{chainId:4,ensAddress:"0x00000000000C2E074eC69A0dFb2997BA6C7d2e1e",name:"rinkeby",_defaultProvider:sr("rinkeby")},kovan:{chainId:42,name:"kovan",_defaultProvider:sr("kovan")},goerli:{chainId:5,ensAddress:"0x00000000000C2E074eC69A0dFb2997BA6C7d2e1e",name:"goerli",_defaultProvider:sr("goerli")},kintsugi:{chainId:1337702,name:"kintsugi"},sepolia:{chainId:11155111,ensAddress:"0x00000000000C2E074eC69A0dFb2997BA6C7d2e1e",name:"sepolia",_defaultProvider:sr("sepolia")},holesky:{chainId:17e3,name:"holesky",_defaultProvider:sr("holesky")},classic:{chainId:61,name:"classic",_defaultProvider:ar("https://www.ethercluster.com/etc","classic")},classicMorden:{chainId:62,name:"classicMorden"},classicMordor:lr,classicTestnet:lr,classicKotti:{chainId:6,name:"classicKotti",_defaultProvider:ar("https://www.ethercluster.com/kotti","classicKotti")},xdai:{chainId:100,name:"xdai"},matic:{chainId:137,name:"matic",_defaultProvider:sr("matic")},maticmum:{chainId:80001,name:"maticmum",_defaultProvider:sr("maticmum")},optimism:{chainId:10,name:"optimism",_defaultProvider:sr("optimism")},"optimism-kovan":{chainId:69,name:"optimism-kovan"},"optimism-goerli":{chainId:420,name:"optimism-goerli"},"optimism-sepolia":{chainId:11155420,name:"optimism-sepolia"},arbitrum:{chainId:42161,name:"arbitrum"},"arbitrum-rinkeby":{chainId:421611,name:"arbitrum-rinkeby"},"arbitrum-goerli":{chainId:421613,name:"arbitrum-goerli"},"arbitrum-sepolia":{chainId:421614,name:"arbitrum-sepolia"},bnb:{chainId:56,name:"bnb"},bnbt:{chainId:97,name:"bnbt"}};function dr(e){e=atob(e);const t=[];for(let n=0;n<e.length;n++)t.push(e.charCodeAt(n));return wn(t)}function hr(e){e=wn(e);let t="";for(let n=0;n<e.length;n++)t+=String.fromCharCode(e[n]);return btoa(t)}class pr{constructor(e){Kn(this,"alphabet",e),Kn(this,"base",e.length),Kn(this,"_alphabetMap",{}),Kn(this,"_leader",e.charAt(0));for(let t=0;t<e.length;t++)this._alphabetMap[e.charAt(t)]=t}encode(e){let t=wn(e);if(0===t.length)return"";let n=[0];for(let e=0;e<t.length;++e){let r=t[e];for(let e=0;e<n.length;++e)r+=n[e]<<8,n[e]=r%this.base,r=r/this.base|0;for(;r>0;)n.push(r%this.base),r=r/this.base|0}let r="";for(let e=0;0===t[e]&&e<t.length-1;++e)r+=this._leader;for(let e=n.length-1;e>=0;--e)r+=this.alphabet[n[e]];return r}decode(e){if("string"!=typeof e)throw new TypeError("Expected String");let t=[];if(0===e.length)return new Uint8Array(t);t.push(0);for(let n=0;n<e.length;n++){let r=this._alphabetMap[e[n]];if(void 0===r)throw new Error("Non-base"+this.base+" character");let i=r;for(let e=0;e<t.length;++e)i+=t[e]*this.base,t[e]=255&i,i>>=8;for(;i>0;)t.push(255&i),i>>=8}for(let n=0;e[n]===this._leader&&n<e.length-1;++n)t.push(0);return wn(new Uint8Array(t.reverse()))}}new pr("abcdefghijklmnopqrstuvwxyz234567");const fr=new pr("123456789ABCDEFGHJKLMNPQRSTUVWXYZabcdefghijkmnopqrstuvwxyz"),mr=/*#__PURE__*/Ln.from(-1),yr=/*#__PURE__*/Ln.from(0),gr=/*#__PURE__*/Ln.from(1),br=/*#__PURE__*/Ln.from("0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff");var vr=en(function(e){!function(){var t="input is invalid type",n="object"==typeof window,r=n?window:{};r.JS_SHA3_NO_WINDOW&&(n=!1);var i=!n&&"object"==typeof self;!r.JS_SHA3_NO_NODE_JS&&"object"==typeof process&&process.versions&&process.versions.node?r=$t:i&&(r=self);var s=!r.JS_SHA3_NO_COMMON_JS&&e.exports,a=!r.JS_SHA3_NO_ARRAY_BUFFER&&"undefined"!=typeof ArrayBuffer,o="0123456789abcdef".split(""),u=[4,1024,262144,67108864],l=[0,8,16,24],c=[1,0,32898,0,32906,2147483648,2147516416,2147483648,32907,0,2147483649,0,2147516545,2147483648,32777,2147483648,138,0,136,0,2147516425,0,2147483658,0,2147516555,0,139,2147483648,32905,2147483648,32771,2147483648,32770,2147483648,128,2147483648,32778,0,2147483658,2147483648,2147516545,2147483648,32896,2147483648,2147483649,0,2147516424,2147483648],d=[224,256,384,512],h=[128,256],p=["hex","buffer","arrayBuffer","array","digest"],f={128:168,256:136};!r.JS_SHA3_NO_NODE_JS&&Array.isArray||(Array.isArray=function(e){return"[object Array]"===Object.prototype.toString.call(e)}),!a||!r.JS_SHA3_NO_ARRAY_BUFFER_IS_VIEW&&ArrayBuffer.isView||(ArrayBuffer.isView=function(e){return"object"==typeof e&&e.buffer&&e.buffer.constructor===ArrayBuffer});for(var m=function(e,t,n){return function(r){return new M(e,t,e).update(r)[n]()}},y=function(e,t,n){return function(r,i){return new M(e,t,i).update(r)[n]()}},g=function(e,t,n){return function(t,r,i,s){return T["cshake"+e].update(t,r,i,s)[n]()}},b=function(e,t,n){return function(t,r,i,s){return T["kmac"+e].update(t,r,i,s)[n]()}},v=function(e,t,n,r){for(var i=0;i<p.length;++i){var s=p[i];e[s]=t(n,r,s)}return e},w=function(e,t){var n=m(e,t,"hex");return n.create=function(){return new M(e,t,e)},n.update=function(e){return n.create().update(e)},v(n,m,e,t)},A=[{name:"keccak",padding:[1,256,65536,16777216],bits:d,createMethod:w},{name:"sha3",padding:[6,1536,393216,100663296],bits:d,createMethod:w},{name:"shake",padding:[31,7936,2031616,520093696],bits:h,createMethod:function(e,t){var n=y(e,t,"hex");return n.create=function(n){return new M(e,t,n)},n.update=function(e,t){return n.create(t).update(e)},v(n,y,e,t)}},{name:"cshake",padding:u,bits:h,createMethod:function(e,t){var n=f[e],r=g(e,0,"hex");return r.create=function(r,i,s){return i||s?new M(e,t,r).bytepad([i,s],n):T["shake"+e].create(r)},r.update=function(e,t,n,i){return r.create(t,n,i).update(e)},v(r,g,e,t)}},{name:"kmac",padding:u,bits:h,createMethod:function(e,t){var n=f[e],r=b(e,0,"hex");return r.create=function(r,i,s){return new N(e,t,i).bytepad(["KMAC",s],n).bytepad([r],n)},r.update=function(e,t,n,i){return r.create(e,n,i).update(t)},v(r,b,e,t)}}],T={},E=[],I=0;I<A.length;++I)for(var S=A[I],k=S.bits,C=0;C<k.length;++C){var _=S.name+"_"+k[C];if(E.push(_),T[_]=S.createMethod(k[C],S.padding),"sha3"!==S.name){var x=S.name+k[C];E.push(x),T[x]=T[_]}}function M(e,t,n){this.blocks=[],this.s=[],this.padding=t,this.outputBits=n,this.reset=!0,this.finalized=!1,this.block=0,this.start=0,this.blockCount=1600-(e<<1)>>5,this.byteCount=this.blockCount<<2,this.outputBlocks=n>>5,this.extraBytes=(31&n)>>3;for(var r=0;r<50;++r)this.s[r]=0}function N(e,t,n){M.call(this,e,t,n)}M.prototype.update=function(e){if(this.finalized)throw new Error("finalize already called");var n,r=typeof e;if("string"!==r){if("object"!==r)throw new Error(t);if(null===e)throw new Error(t);if(a&&e.constructor===ArrayBuffer)e=new Uint8Array(e);else if(!(Array.isArray(e)||a&&ArrayBuffer.isView(e)))throw new Error(t);n=!0}for(var i,s,o=this.blocks,u=this.byteCount,c=e.length,d=this.blockCount,h=0,p=this.s;h<c;){if(this.reset)for(this.reset=!1,o[0]=this.block,i=1;i<d+1;++i)o[i]=0;if(n)for(i=this.start;h<c&&i<u;++h)o[i>>2]|=e[h]<<l[3&i++];else for(i=this.start;h<c&&i<u;++h)(s=e.charCodeAt(h))<128?o[i>>2]|=s<<l[3&i++]:s<2048?(o[i>>2]|=(192|s>>6)<<l[3&i++],o[i>>2]|=(128|63&s)<<l[3&i++]):s<55296||s>=57344?(o[i>>2]|=(224|s>>12)<<l[3&i++],o[i>>2]|=(128|s>>6&63)<<l[3&i++],o[i>>2]|=(128|63&s)<<l[3&i++]):(s=65536+((1023&s)<<10|1023&e.charCodeAt(++h)),o[i>>2]|=(240|s>>18)<<l[3&i++],o[i>>2]|=(128|s>>12&63)<<l[3&i++],o[i>>2]|=(128|s>>6&63)<<l[3&i++],o[i>>2]|=(128|63&s)<<l[3&i++]);if(this.lastByteIndex=i,i>=u){for(this.start=i-u,this.block=o[d],i=0;i<d;++i)p[i]^=o[i];R(p),this.reset=!0}else this.start=i}return this},M.prototype.encode=function(e,t){var n=255&e,r=1,i=[n];for(n=255&(e>>=8);n>0;)i.unshift(n),n=255&(e>>=8),++r;return t?i.push(r):i.unshift(r),this.update(i),i.length},M.prototype.encodeString=function(e){var n,r=typeof e;if("string"!==r){if("object"!==r)throw new Error(t);if(null===e)throw new Error(t);if(a&&e.constructor===ArrayBuffer)e=new Uint8Array(e);else if(!(Array.isArray(e)||a&&ArrayBuffer.isView(e)))throw new Error(t);n=!0}var i=0;if(n)i=e.length;else for(var s=0;s<e.length;++s){var o=e.charCodeAt(s);o<128?i+=1:o<2048?i+=2:o<55296||o>=57344?i+=3:(o=65536+((1023&o)<<10|1023&e.charCodeAt(++s)),i+=4)}return i+=this.encode(8*i),this.update(e),i},M.prototype.bytepad=function(e,t){for(var n=this.encode(t),r=0;r<e.length;++r)n+=this.encodeString(e[r]);var i=[];return i.length=t-n%t,this.update(i),this},M.prototype.finalize=function(){if(!this.finalized){this.finalized=!0;var e=this.blocks,t=this.lastByteIndex,n=this.blockCount,r=this.s;if(e[t>>2]|=this.padding[3&t],this.lastByteIndex===this.byteCount)for(e[0]=e[n],t=1;t<n+1;++t)e[t]=0;for(e[n-1]|=2147483648,t=0;t<n;++t)r[t]^=e[t];R(r)}},M.prototype.toString=M.prototype.hex=function(){this.finalize();for(var e,t=this.blockCount,n=this.s,r=this.outputBlocks,i=this.extraBytes,s=0,a=0,u="";a<r;){for(s=0;s<t&&a<r;++s,++a)u+=o[(e=n[s])>>4&15]+o[15&e]+o[e>>12&15]+o[e>>8&15]+o[e>>20&15]+o[e>>16&15]+o[e>>28&15]+o[e>>24&15];a%t==0&&(R(n),s=0)}return i&&(u+=o[(e=n[s])>>4&15]+o[15&e],i>1&&(u+=o[e>>12&15]+o[e>>8&15]),i>2&&(u+=o[e>>20&15]+o[e>>16&15])),u},M.prototype.arrayBuffer=function(){this.finalize();var e,t=this.blockCount,n=this.s,r=this.outputBlocks,i=this.extraBytes,s=0,a=0,o=this.outputBits>>3;e=i?new ArrayBuffer(r+1<<2):new ArrayBuffer(o);for(var u=new Uint32Array(e);a<r;){for(s=0;s<t&&a<r;++s,++a)u[a]=n[s];a%t==0&&R(n)}return i&&(u[s]=n[s],e=e.slice(0,o)),e},M.prototype.buffer=M.prototype.arrayBuffer,M.prototype.digest=M.prototype.array=function(){this.finalize();for(var e,t,n=this.blockCount,r=this.s,i=this.outputBlocks,s=this.extraBytes,a=0,o=0,u=[];o<i;){for(a=0;a<n&&o<i;++a,++o)u[e=o<<2]=255&(t=r[a]),u[e+1]=t>>8&255,u[e+2]=t>>16&255,u[e+3]=t>>24&255;o%n==0&&R(r)}return s&&(u[e=o<<2]=255&(t=r[a]),s>1&&(u[e+1]=t>>8&255),s>2&&(u[e+2]=t>>16&255)),u},(N.prototype=new M).finalize=function(){return this.encode(this.outputBits,!0),M.prototype.finalize.call(this)};var R=function(e){var t,n,r,i,s,a,o,u,l,d,h,p,f,m,y,g,b,v,w,A,T,E,I,S,k,C,_,x,M,N,R,P,O,B,D,F,L,U,G,H,q,z,V,K,j,W,J,Q,Y,X,Z,$,ee,te,ne,re,ie,se,ae,oe,ue,le,ce;for(r=0;r<48;r+=2)i=e[0]^e[10]^e[20]^e[30]^e[40],s=e[1]^e[11]^e[21]^e[31]^e[41],u=e[4]^e[14]^e[24]^e[34]^e[44],l=e[5]^e[15]^e[25]^e[35]^e[45],d=e[6]^e[16]^e[26]^e[36]^e[46],h=e[7]^e[17]^e[27]^e[37]^e[47],n=(f=e[9]^e[19]^e[29]^e[39]^e[49])^((o=e[3]^e[13]^e[23]^e[33]^e[43])<<1|(a=e[2]^e[12]^e[22]^e[32]^e[42])>>>31),e[0]^=t=(p=e[8]^e[18]^e[28]^e[38]^e[48])^(a<<1|o>>>31),e[1]^=n,e[10]^=t,e[11]^=n,e[20]^=t,e[21]^=n,e[30]^=t,e[31]^=n,e[40]^=t,e[41]^=n,n=s^(l<<1|u>>>31),e[2]^=t=i^(u<<1|l>>>31),e[3]^=n,e[12]^=t,e[13]^=n,e[22]^=t,e[23]^=n,e[32]^=t,e[33]^=n,e[42]^=t,e[43]^=n,n=o^(h<<1|d>>>31),e[4]^=t=a^(d<<1|h>>>31),e[5]^=n,e[14]^=t,e[15]^=n,e[24]^=t,e[25]^=n,e[34]^=t,e[35]^=n,e[44]^=t,e[45]^=n,n=l^(f<<1|p>>>31),e[6]^=t=u^(p<<1|f>>>31),e[7]^=n,e[16]^=t,e[17]^=n,e[26]^=t,e[27]^=n,e[36]^=t,e[37]^=n,e[46]^=t,e[47]^=n,n=h^(s<<1|i>>>31),e[8]^=t=d^(i<<1|s>>>31),e[9]^=n,e[18]^=t,e[19]^=n,e[28]^=t,e[29]^=n,e[38]^=t,e[39]^=n,e[48]^=t,e[49]^=n,y=e[1],W=e[11]<<4|e[10]>>>28,J=e[10]<<4|e[11]>>>28,x=e[20]<<3|e[21]>>>29,M=e[21]<<3|e[20]>>>29,oe=e[31]<<9|e[30]>>>23,ue=e[30]<<9|e[31]>>>23,z=e[40]<<18|e[41]>>>14,V=e[41]<<18|e[40]>>>14,B=e[2]<<1|e[3]>>>31,D=e[3]<<1|e[2]>>>31,b=e[12]<<12|e[13]>>>20,Q=e[22]<<10|e[23]>>>22,Y=e[23]<<10|e[22]>>>22,N=e[33]<<13|e[32]>>>19,R=e[32]<<13|e[33]>>>19,le=e[42]<<2|e[43]>>>30,ce=e[43]<<2|e[42]>>>30,te=e[5]<<30|e[4]>>>2,ne=e[4]<<30|e[5]>>>2,F=e[14]<<6|e[15]>>>26,L=e[15]<<6|e[14]>>>26,w=e[24]<<11|e[25]>>>21,X=e[34]<<15|e[35]>>>17,Z=e[35]<<15|e[34]>>>17,P=e[45]<<29|e[44]>>>3,O=e[44]<<29|e[45]>>>3,S=e[6]<<28|e[7]>>>4,k=e[7]<<28|e[6]>>>4,re=e[17]<<23|e[16]>>>9,ie=e[16]<<23|e[17]>>>9,U=e[26]<<25|e[27]>>>7,G=e[27]<<25|e[26]>>>7,A=e[36]<<21|e[37]>>>11,T=e[37]<<21|e[36]>>>11,$=e[47]<<24|e[46]>>>8,ee=e[46]<<24|e[47]>>>8,K=e[8]<<27|e[9]>>>5,j=e[9]<<27|e[8]>>>5,C=e[18]<<20|e[19]>>>12,_=e[19]<<20|e[18]>>>12,se=e[29]<<7|e[28]>>>25,ae=e[28]<<7|e[29]>>>25,H=e[38]<<8|e[39]>>>24,q=e[39]<<8|e[38]>>>24,E=e[48]<<14|e[49]>>>18,I=e[49]<<14|e[48]>>>18,e[0]=(m=e[0])^~(g=e[13]<<12|e[12]>>>20)&(v=e[25]<<11|e[24]>>>21),e[1]=y^~b&w,e[10]=S^~C&x,e[11]=k^~_&M,e[20]=B^~F&U,e[21]=D^~L&G,e[30]=K^~W&Q,e[31]=j^~J&Y,e[40]=te^~re&se,e[41]=ne^~ie&ae,e[2]=g^~v&A,e[3]=b^~w&T,e[12]=C^~x&N,e[13]=_^~M&R,e[22]=F^~U&H,e[23]=L^~G&q,e[32]=W^~Q&X,e[33]=J^~Y&Z,e[42]=re^~se&oe,e[43]=ie^~ae&ue,e[4]=v^~A&E,e[5]=w^~T&I,e[14]=x^~N&P,e[15]=M^~R&O,e[24]=U^~H&z,e[25]=G^~q&V,e[34]=Q^~X&$,e[35]=Y^~Z&ee,e[44]=se^~oe&le,e[45]=ae^~ue&ce,e[6]=A^~E&m,e[7]=T^~I&y,e[16]=N^~P&S,e[17]=R^~O&k,e[26]=H^~z&B,e[27]=q^~V&D,e[36]=X^~$&K,e[37]=Z^~ee&j,e[46]=oe^~le&te,e[47]=ue^~ce&ne,e[8]=E^~m&g,e[9]=I^~y&b,e[18]=P^~S&C,e[19]=O^~k&_,e[28]=z^~B&F,e[29]=V^~D&L,e[38]=$^~K&W,e[39]=ee^~j&J,e[48]=le^~te&re,e[49]=ce^~ne&ie,e[0]^=c[r],e[1]^=c[r+1]};if(s)e.exports=T;else for(I=0;I<E.length;++I)r[E[I]]=T[E[I]]}()}),wr=vr;function Ar(e){return"0x"+wr.keccak_256(wn(e))}const Tr=new pn("strings/5.8.0");var Er,Ir;function Sr(e,t,n,r,i){if(e===Ir.BAD_PREFIX||e===Ir.UNEXPECTED_CONTINUE){let e=0;for(let r=t+1;r<n.length&&n[r]>>6==2;r++)e++;return e}return e===Ir.OVERRUN?n.length-t-1:0}!function(e){e.current="",e.NFC="NFC",e.NFD="NFD",e.NFKC="NFKC",e.NFKD="NFKD"}(Er||(Er={})),function(e){e.UNEXPECTED_CONTINUE="unexpected continuation byte",e.BAD_PREFIX="bad codepoint prefix",e.OVERRUN="string overrun",e.MISSING_CONTINUE="missing continuation byte",e.OUT_OF_RANGE="out of UTF-8 range",e.UTF16_SURROGATE="UTF-16 surrogate",e.OVERLONG="overlong representation"}(Ir||(Ir={}));const kr=Object.freeze({error:function(e,t,n,r,i){return Tr.throwArgumentError(`invalid codepoint at offset ${t}; ${e}`,"bytes",n)},ignore:Sr,replace:function(e,t,n,r,i){return e===Ir.OVERLONG?(r.push(i),0):(r.push(65533),Sr(e,t,n))}});function Cr(e,t){null==t&&(t=kr.error),e=wn(e);const n=[];let r=0;for(;r<e.length;){const i=e[r++];if(i>>7==0){n.push(i);continue}let s=null,a=null;if(192==(224&i))s=1,a=127;else if(224==(240&i))s=2,a=2047;else{if(240!=(248&i)){r+=t(128==(192&i)?Ir.UNEXPECTED_CONTINUE:Ir.BAD_PREFIX,r-1,e,n);continue}s=3,a=65535}if(r-1+s>=e.length){r+=t(Ir.OVERRUN,r-1,e,n);continue}let o=i&(1<<8-s-1)-1;for(let i=0;i<s;i++){let i=e[r];if(128!=(192&i)){r+=t(Ir.MISSING_CONTINUE,r,e,n),o=null;break}o=o<<6|63&i,r++}null!==o&&(o>1114111?r+=t(Ir.OUT_OF_RANGE,r-1-s,e,n,o):o>=55296&&o<=57343?r+=t(Ir.UTF16_SURROGATE,r-1-s,e,n,o):o<=a?r+=t(Ir.OVERLONG,r-1-s,e,n,o):n.push(o))}return n}function _r(e,t=Er.current){t!=Er.current&&(Tr.checkNormalize(),e=e.normalize(t));let n=[];for(let t=0;t<e.length;t++){const r=e.charCodeAt(t);if(r<128)n.push(r);else if(r<2048)n.push(r>>6|192),n.push(63&r|128);else if(55296==(64512&r)){t++;const i=e.charCodeAt(t);if(t>=e.length||56320!=(64512&i))throw new Error("invalid utf-8 string");const s=65536+((1023&r)<<10)+(1023&i);n.push(s>>18|240),n.push(s>>12&63|128),n.push(s>>6&63|128),n.push(63&s|128)}else n.push(r>>12|224),n.push(r>>6&63|128),n.push(63&r|128)}return wn(n)}function xr(e,t){return Cr(e,t).map(e=>e<=65535?String.fromCharCode(e):(e-=65536,String.fromCharCode(55296+(e>>10&1023),56320+(1023&e)))).join("")}function Mr(e){return Ar(_r(e))}const Nr="hash/5.8.0";function Rr(e,t){null==t&&(t=1);const n=[],r=n.forEach,i=function(e,t){r.call(e,function(e){t>0&&Array.isArray(e)?i(e,t-1):n.push(e)})};return i(e,t),n}function Pr(e){return 1&e?~e>>1:e>>1}function Or(e,t){let n=Array(e);for(let r=0,i=-1;r<e;r++)n[r]=i+=1+t();return n}function Br(e,t){let n=Array(e);for(let r=0,i=0;r<e;r++)n[r]=i+=Pr(t());return n}function Dr(e,t){let n=Or(e(),e),r=e(),i=Or(r,e),s=function(e,t){let n=Array(e);for(let r=0;r<e;r++)n[r]=1+t();return n}(r,e);for(let e=0;e<r;e++)for(let t=0;t<s[e];t++)n.push(i[e]+t);return t?n.map(e=>t[e]):n}function Fr(e,t,n){let r=Array(e).fill(void 0).map(()=>[]);for(let i=0;i<t;i++)Br(e,n).forEach((e,t)=>r[t].push(e));return r}function Lr(e,t){let n=1+t(),r=t(),i=function(e){let t=[];for(;;){let n=e();if(0==n)break;t.push(n)}return t}(t);return Rr(Fr(i.length,1+e,t).map((e,t)=>{const s=e[0],a=e.slice(1);return Array(i[t]).fill(void 0).map((e,t)=>{let i=t*r;return[s+t*n,a.map(e=>e+i)]})}))}function Ur(e,t){return Fr(1+t(),1+e,t).map(e=>[e[0],e.slice(1)])}const Gr=function(e){let t=0;return()=>e[t++]}(function(e){let t=0;function n(){return e[t++]<<8|e[t++]}let r=n(),i=1,s=[0,1];for(let e=1;e<r;e++)s.push(i+=n());let a=n(),o=t;t+=a;let u=0,l=0;function c(){return 0==u&&(l=l<<8|e[t++],u=8),l>>--u&1}const d=Math.pow(2,31),h=d>>>1,p=h>>1,f=d-1;let m=0;for(let e=0;e<31;e++)m=m<<1|c();let y=[],g=0,b=d;for(;;){let e=Math.floor(((m-g+1)*i-1)/b),t=0,n=r;for(;n-t>1;){let r=t+n>>>1;e<s[r]?n=r:t=r}if(0==t)break;y.push(t);let a=g+Math.floor(b*s[t]/i),o=g+Math.floor(b*s[t+1]/i)-1;for(;0==((a^o)&h);)m=m<<1&f|c(),a=a<<1&f,o=o<<1&f|1;for(;a&~o&p;)m=m&h|m<<1&f>>>1|c(),a=a<<1^h,o=(o^h)<<1|h|1;g=a,b=1+o-a}let v=r-4;return y.map(t=>{switch(t-v){case 3:return v+65792+(e[o++]<<16|e[o++]<<8|e[o++]);case 2:return v+256+(e[o++]<<8|e[o++]);case 1:return v+e[o++];default:return t-1}})}(dr("AEQF2AO2DEsA2wIrAGsBRABxAN8AZwCcAEwAqgA0AGwAUgByADcATAAVAFYAIQAyACEAKAAYAFgAGwAjABQAMAAmADIAFAAfABQAKwATACoADgAbAA8AHQAYABoAGQAxADgALAAoADwAEwA9ABMAGgARAA4ADwAWABMAFgAIAA8AHgQXBYMA5BHJAS8JtAYoAe4AExozi0UAH21tAaMnBT8CrnIyhrMDhRgDygIBUAEHcoFHUPe8AXBjAewCjgDQR8IICIcEcQLwATXCDgzvHwBmBoHNAqsBdBcUAykgDhAMShskMgo8AY8jqAQfAUAfHw8BDw87MioGlCIPBwZCa4ELatMAAMspJVgsDl8AIhckSg8XAHdvTwBcIQEiDT4OPhUqbyECAEoAS34Aej8Ybx83JgT/Xw8gHxZ/7w8RICxPHA9vBw+Pfw8PHwAPFv+fAsAvCc8vEr8ivwD/EQ8Bol8OEBa/A78hrwAPCU8vESNvvwWfHwNfAVoDHr+ZAAED34YaAdJPAK7PLwSEgDLHAGo1Pz8Pvx9fUwMrpb8O/58VTzAPIBoXIyQJNF8hpwIVAT8YGAUADDNBaX3RAMomJCg9EhUeA29MABsZBTMNJipjOhc19gcIDR8bBwQHEggCWi6DIgLuAQYA+BAFCha3A5XiAEsqM7UFFgFLhAMjFTMYE1Klnw74nRVBG/ASCm0BYRN/BrsU3VoWy+S0vV8LQx+vN8gF2AC2AK5EAWwApgYDKmAAroQ0NDQ0AT+OCg7wAAIHRAbpNgVcBV0APTA5BfbPFgMLzcYL/QqqA82eBALKCjQCjqYCht0/k2+OAsXQAoP3ASTKDgDw6ACKAUYCMpIKJpRaAE4A5womABzZvs0REEKiACIQAd5QdAECAj4Ywg/wGqY2AVgAYADYvAoCGAEubA0gvAY2ALAAbpbvqpyEAGAEpgQAJgAG7gAgAEACmghUFwCqAMpAINQIwC4DthRAAPcycKgApoIdABwBfCisABoATwBqASIAvhnSBP8aH/ECeAKXAq40NjgDBTwFYQU6AXs3oABgAD4XNgmcCY1eCl5tIFZeUqGgyoNHABgAEQAaABNwWQAmABMATPMa3T34ADldyprmM1M2XociUQgLzvwAXT3xABgAEQAaABNwIGFAnADD8AAgAD4BBJWzaCcIAIEBFMAWwKoAAdq9BWAF5wLQpALEtQAKUSGkahR4GnJM+gsAwCgeFAiUAECQ0BQuL8AAIAAAADKeIheclvFqQAAETr4iAMxIARMgAMIoHhQIAn0E0pDQFC4HhznoAAAAIAI2C0/4lvFqQAAETgBJJwYCAy4ABgYAFAA8MBKYEH4eRhTkAjYeFcgACAYAeABsOqyQ5gRwDayqugEgaIIAtgoACgDmEABmBAWGme5OBJJA2m4cDeoAmITWAXwrMgOgAGwBCh6CBXYF1Tzg1wKAAFdiuABRAFwAXQBsAG8AdgBrAHYAbwCEAHEwfxQBVE5TEQADVFhTBwBDANILAqcCzgLTApQCrQL6vAAMAL8APLhNBKkE6glGKTAU4Dr4N2EYEwBCkABKk8rHAbYBmwIoAiU4Ajf/Aq4CowCAANIChzgaNBsCsTgeODcFXrgClQKdAqQBiQGYAqsCsjTsNHsfNPA0ixsAWTWiOAMFPDQSNCk2BDZHNow2TTZUNhk28Jk9VzI3QkEoAoICoQKwAqcAQAAxBV4FXbS9BW47YkIXP1ciUqs05DS/FwABUwJW11e6nHuYZmSh/RAYA8oMKvZ8KASoUAJYWAJ6ILAsAZSoqjpgA0ocBIhmDgDWAAawRDQoAAcuAj5iAHABZiR2AIgiHgCaAU68ACxuHAG0ygM8MiZIAlgBdF4GagJqAPZOHAMuBgoATkYAsABiAHgAMLoGDPj0HpKEBAAOJgAuALggTAHWAeAMEDbd20Uege0ADwAWADkAQgA9OHd+2MUQZBBhBgNNDkxxPxUQArEPqwvqERoM1irQ090ANK4H8ANYB/ADWANYB/AH8ANYB/ADWANYA1gDWBwP8B/YxRBkD00EcgWTBZAE2wiIJk4RhgctCNdUEnQjHEwDSgEBIypJITuYMxAlR0wRTQgIATZHbKx9PQNMMbBU+pCnA9AyVDlxBgMedhKlAC8PeCE1uk6DekxxpQpQT7NX9wBFBgASqwAS5gBJDSgAUCwGPQBI4zTYABNGAE2bAE3KAExdGABKaAbgAFBXAFCOAFBJABI2SWdObALDOq0//QomCZhvwHdTBkIQHCemEPgMNAG2ATwN7kvZBPIGPATKH34ZGg/OlZ0Ipi3eDO4m5C6igFsj9iqEBe5L9TzeC05RaQ9aC2YJ5DpkgU8DIgEOIowK3g06CG4Q9ArKbA3mEUYHOgPWSZsApgcCCxIdNhW2JhFirQsKOXgG/Br3C5AmsBMqev0F1BoiBk4BKhsAANAu6IWxWjJcHU9gBgQLJiPIFKlQIQ0mQLh4SRocBxYlqgKSQ3FKiFE3HpQh9zw+DWcuFFF9B/Y8BhlQC4I8n0asRQ8R0z6OPUkiSkwtBDaALDAnjAnQD4YMunxzAVoJIgmyDHITMhEYN8YIOgcaLpclJxYIIkaWYJsE+KAD9BPSAwwFQAlCBxQDthwuEy8VKgUOgSXYAvQ21i60ApBWgQEYBcwPJh/gEFFH4Q7qCJwCZgOEJewALhUiABginAhEZABgj9lTBi7MCMhqbSN1A2gU6GIRdAeSDlgHqBw0FcAc4nDJXgyGCSiksAlcAXYJmgFgBOQICjVcjKEgQmdUi1kYnCBiQUBd/QIyDGYVoES+h3kCjA9sEhwBNgF0BzoNAgJ4Ee4RbBCWCOyGBTW2M/k6JgRQIYQgEgooA1BszwsoJvoM+WoBpBJjAw00PnfvZ6xgtyUX/gcaMsZBYSHyC5NPzgydGsIYQ1QvGeUHwAP0GvQn60FYBgADpAQUOk4z7wS+C2oIjAlAAEoOpBgH2BhrCnKM0QEyjAG4mgNYkoQCcJAGOAcMAGgMiAV65gAeAqgIpAAGANADWAA6Aq4HngAaAIZCAT4DKDABIuYCkAOUCDLMAZYwAfQqBBzEDBYA+DhuSwLDsgKAa2ajBd5ZAo8CSjYBTiYEBk9IUgOwcuIA3ABMBhTgSAEWrEvMG+REAeBwLADIAPwABjYHBkIBzgH0bgC4AWALMgmjtLYBTuoqAIQAFmwB2AKKAN4ANgCA8gFUAE4FWvoF1AJQSgESMhksWGIBvAMgATQBDgB6BsyOpsoIIARuB9QCEBwV4gLvLwe2AgMi4BPOQsYCvd9WADIXUu5eZwqoCqdeaAC0YTQHMnM9UQAPH6k+yAdy/BZIiQImSwBQ5gBQQzSaNTFWSTYBpwGqKQK38AFtqwBI/wK37gK3rQK3sAK6280C0gK33AK3zxAAUEIAUD9SklKDArekArw5AEQAzAHCO147WTteO1k7XjtZO147WTteO1kDmChYI03AVU0oJqkKbV9GYewMpw3VRMk6ShPcYFJgMxPJLbgUwhXPJVcZPhq9JwYl5VUKDwUt1GYxCC00dhe9AEApaYNCY4ceMQpMHOhTklT5LRwAskujM7ANrRsWREEFSHXuYisWDwojAmSCAmJDXE6wXDchAqH4AmiZAmYKAp+FOBwMAmY8AmYnBG8EgAN/FAN+kzkHOXgYOYM6JCQCbB4CMjc4CwJtyAJtr/CLADRoRiwBaADfAOIASwYHmQyOAP8MwwAOtgJ3MAJ2o0ACeUxEAni7Hl3cRa9G9AJ8QAJ6yQJ9CgJ88UgBSH5kJQAsFklZSlwWGErNAtECAtDNSygDiFADh+dExpEzAvKiXQQDA69Lz0wuJgTQTU1NsAKLQAKK2cIcCB5EaAa4Ao44Ao5dQZiCAo7aAo5deVG1UzYLUtVUhgKT/AKTDQDqAB1VH1WwVdEHLBwplocy4nhnRTw6ApegAu+zWCKpAFomApaQApZ9nQCqWa1aCoJOADwClrYClk9cRVzSApnMApllXMtdCBoCnJw5wzqeApwXAp+cAp65iwAeEDIrEAKd8gKekwC2PmE1YfACntQCoG8BqgKeoCACnk+mY8lkKCYsAiewAiZ/AqD8AqBN2AKmMAKlzwKoAAB+AqfzaH1osgAESmodatICrOQCrK8CrWgCrQMCVx4CVd0CseLYAx9PbJgCsr4OArLpGGzhbWRtSWADJc4Ctl08QG6RAylGArhfArlIFgK5K3hwN3DiAr0aAy2zAzISAr6JcgMDM3ICvhtzI3NQAsPMAsMFc4N0TDZGdOEDPKgDPJsDPcACxX0CxkgCxhGKAshqUgLIRQLJUALJLwJkngLd03h6YniveSZL0QMYpGcDAmH1GfSVJXsMXpNevBICz2wCz20wTFTT9BSgAMeuAs90ASrrA04TfkwGAtwoAtuLAtJQA1JdA1NgAQIDVY2AikABzBfuYUZ2AILPg44C2sgC2d+EEYRKpz0DhqYAMANkD4ZyWvoAVgLfZgLeuXR4AuIw7RUB8zEoAfScAfLTiALr9ALpcXoAAur6AurlAPpIAboC7ooC652Wq5cEAu5AA4XhmHpw4XGiAvMEAGoDjheZlAL3FAORbwOSiAL3mQL52gL4Z5odmqy8OJsfA52EAv77ARwAOp8dn7QDBY4DpmsDptoA0sYDBmuhiaIGCgMMSgFgASACtgNGAJwEgLpoBgC8BGzAEowcggCEDC6kdjoAJAM0C5IKRoABZCgiAIzw3AYBLACkfng9ogigkgNmWAN6AEQCvrkEVqTGAwCsBRbAA+4iQkMCHR072jI2PTbUNsk2RjY5NvA23TZKNiU3EDcZN5I+RTxDRTBCJkK5VBYKFhZfwQCWygU3AJBRHpu+OytgNxa61A40GMsYjsn7BVwFXQVcBV0FaAVdBVwFXQVcBV0FXAVdBVwFXUsaCNyKAK4AAQUHBwKU7oICoW1e7jAEzgPxA+YDwgCkBFDAwADABKzAAOxFLhitA1UFTDeyPkM+bj51QkRCuwTQWWQ8X+0AWBYzsACNA8xwzAGm7EZ/QisoCTAbLDs6fnLfb8H2GccsbgFw13M1HAVkBW/Jxsm9CNRO8E8FDD0FBQw9FkcClOYCoMFegpDfADgcMiA2AJQACB8AsigKAIzIEAJKeBIApY5yPZQIAKQiHb4fvj5BKSRPQrZCOz0oXyxgOywfKAnGbgMClQaCAkILXgdeCD9IIGUgQj5fPoY+dT52Ao5CM0dAX9BTVG9SDzFwWTQAbxBzJF/lOEIQQglCCkKJIAls5AcClQICoKPMODEFxhi6KSAbiyfIRrMjtCgdWCAkPlFBIitCsEJRzAbMAV/OEyQzDg0OAQQEJ36i328/Mk9AybDJsQlq3tDRApUKAkFzXf1d/j9uALYP6hCoFgCTGD8kPsFKQiobrm0+zj0KSD8kPnVCRBwMDyJRTHFgMTJa5rwXQiQ2YfI/JD7BMEJEHGINTw4TOFlIRzwJO0icMQpyPyQ+wzJCRBv6DVgnKB01NgUKj2bwYzMqCoBkznBgEF+zYDIocwRIX+NgHj4HICNfh2C4CwdwFWpTG/lgUhYGAwRfv2Ts8mAaXzVgml/XYIJfuWC4HI1gUF9pYJZgMR6ilQHMAOwLAlDRefC0in4AXAEJA6PjCwc0IamOANMMCAECRQDFNRTZBgd+CwQlRA+r6+gLBDEFBnwUBXgKATIArwAGRAAHA3cDdAN2A3kDdwN9A3oDdQN7A30DfAN4A3oDfQAYEAAlAtYASwMAUAFsAHcKAHcAmgB3AHUAdQB2AHVu8UgAygDAAHcAdQB1AHYAdQALCgB3AAsAmgB3AAsCOwB3AAtu8UgAygDAAHgKAJoAdwB3AHUAdQB2AHUAeAB1AHUAdgB1bvFIAMoAwAALCgCaAHcACwB3AAsCOwB3AAtu8UgAygDAAH4ACwGgALcBpwC6AahdAu0COwLtbvFIAMoAwAALCgCaAu0ACwLtAAsCOwLtAAtu8UgAygDAA24ACwNvAAu0VsQAAzsAABCkjUIpAAsAUIusOggWcgMeBxVsGwL67U/2HlzmWOEeOgALASvuAAseAfpKUpnpGgYJDCIZM6YyARUE9ThqAD5iXQgnAJYJPnOzw0ZAEZxEKsIAkA4DhAHnTAIDxxUDK0lxCQlPYgIvIQVYJQBVqE1GakUAKGYiDToSBA1EtAYAXQJYAIF8GgMHRyAAIAjOe9YncekRAA0KACUrjwE7Ayc6AAYWAqaiKG4McEcqANoN3+Mg9TwCBhIkuCny+JwUQ29L008JluRxu3K+oAdqiHOqFH0AG5SUIfUJ5SxCGfxdipRzqTmT4V5Zb+r1Uo4Vm+NqSSEl2mNvR2JhIa8SpYO6ntdwFXHCWTCK8f2+Hxo7uiG3drDycAuKIMP5bhi06ACnqArH1rz4Rqg//lm6SgJGEVbF9xJHISaR6HxqxSnkw6shDnelHKNEfGUXSJRJ1GcsmtJw25xrZMDK9gXSm1/YMkdX4/6NKYOdtk/NQ3/NnDASjTc3fPjIjW/5sVfVObX2oTDWkr1dF9f3kxBsD3/3aQO8hPfRz+e0uEiJqt1161griu7gz8hDDwtpy+F+BWtefnKHZPAxcZoWbnznhJpy0e842j36bcNzGnIEusgGX0a8ZxsnjcSsPDZ09yZ36fCQbriHeQ72JRMILNl6ePPf2HWoVwgWAm1fb3V2sAY0+B6rAXqSwPBgseVmoqsBTSrm91+XasMYYySI8eeRxH3ZvHkMz3BQ5aJ3iUVbYPNM3/7emRtjlsMgv/9VyTsyt/mK+8fgWeT6SoFaclXqn42dAIsvAarF5vNNWHzKSkKQ/8Hfk5ZWK7r9yliOsooyBjRhfkHP4Q2DkWXQi6FG/9r/IwbmkV5T7JSopHKn1pJwm9tb5Ot0oyN1Z2mPpKXHTxx2nlK08fKk1hEYA8WgVVWL5lgx0iTv+KdojJeU23ZDjmiubXOxVXJKKi2Wjuh2HLZOFLiSC7Tls5SMh4f+Pj6xUSrNjFqLGehRNB8lC0QSLNmkJJx/wSG3MnjE9T1CkPwJI0wH2lfzwETIiVqUxg0dfu5q39Gt+hwdcxkhhNvQ4TyrBceof3Mhs/IxFci1HmHr4FMZgXEEczPiGCx0HRwzAqDq2j9AVm1kwN0mRVLWLylgtoPNapF5cY4Y1wJh/e0BBwZj44YgZrDNqvD/9Hv7GFYdUQeDJuQ3EWI4HaKqavU1XjC/n41kT4L79kqGq0kLhdTZvgP3TA3fS0ozVz+5piZsoOtIvBUFoMKbNcmBL6YxxaUAusHB38XrS8dQMnQwJfUUkpRoGr5AUeWicvBTzyK9g77+yCkf5PAysL7r/JjcZgrbvRpMW9iyaxZvKO6ceZN2EwIxKwVFPuvFuiEPGCoagbMo+SpydLrXqBzNCDGFCrO/rkcwa2xhokQZ5CdZ0AsU3JfSqJ6n5I14YA+P/uAgfhPU84Tlw7cEFfp7AEE8ey4sP12PTt4Cods1GRgDOB5xvyiR5m+Bx8O5nBCNctU8BevfV5A08x6RHd5jcwPTMDSZJOedIZ1cGQ704lxbAzqZOP05ZxaOghzSdvFBHYqomATARyAADK4elP8Ly3IrUZKfWh23Xy20uBUmLS4Pfagu9+oyVa2iPgqRP3F2CTUsvJ7+RYnN8fFZbU/HVvxvcFFDKkiTqV5UBZ3Gz54JAKByi9hkKMZJvuGgcSYXFmw08UyoQyVdfTD1/dMkCHXcTGAKeROgArsvmRrQTLUOXioOHGK2QkjHuoYFgXciZoTJd6Fs5q1QX1G+p/e26hYsEf7QZD1nnIyl/SFkNtYYmmBhpBrxl9WbY0YpHWRuw2Ll/tj9mD8P4snVzJl4F9J+1arVeTb9E5r2ILH04qStjxQNwn3m4YNqxmaNbLAqW2TN6LidwuJRqS+NXbtqxoeDXpxeGWmxzSkWxjkyCkX4NQRme6q5SAcC+M7+9ETfA/EwrzQajKakCwYyeunP6ZFlxU2oMEn1Pz31zeStW74G406ZJFCl1wAXIoUKkWotYEpOuXB1uVNxJ63dpJEqfxBeptwIHNrPz8BllZoIcBoXwgfJ+8VAUnVPvRvexnw0Ma/WiGYuJO5y8QTvEYBigFmhUxY5RqzE8OcywN/8m4UYrlaniJO75XQ6KSo9+tWHlu+hMi0UVdiKQp7NelnoZUzNaIyBPVeOwK6GNp+FfHuPOoyhaWuNvTYFkvxscMQWDh+zeFCFkgwbXftiV23ywJ4+uwRqmg9k3KzwIQpzppt8DBBOMbrqwQM5Gb05sEwdKzMiAqOloaA/lr0KA+1pr0/+HiWoiIjHA/wir2nIuS3PeU/ji3O6ZwoxcR1SZ9FhtLC5S0FIzFhbBWcGVP/KpxOPSiUoAdWUpqKH++6Scz507iCcxYI6rdMBICPJZea7OcmeFw5mObJSiqpjg2UoWNIs+cFhyDSt6geV5qgi3FunmwwDoGSMgerFOZGX1m0dMCYo5XOruxO063dwENK9DbnVM9wYFREzh4vyU1WYYJ/LRRp6oxgjqP/X5a8/4Af6p6NWkQferzBmXme0zY/4nwMJm/wd1tIqSwGz+E3xPEAOoZlJit3XddD7/BT1pllzOx+8bmQtANQ/S6fZexc6qi3W+Q2xcmXTUhuS5mpHQRvcxZUN0S5+PL9lXWUAaRZhEH8hTdAcuNMMCuVNKTEGtSUKNi3O6KhSaTzck8csZ2vWRZ+d7mW8c4IKwXIYd25S/zIftPkwPzufjEvOHWVD1m+FjpDVUTV0DGDuHj6QnaEwLu/dEgdLQOg9E1Sro9XHJ8ykLAwtPu+pxqKDuFexqON1sKQm7rwbE1E68UCfA/erovrTCG+DBSNg0l4goDQvZN6uNlbyLpcZAwj2UclycvLpIZMgv4yRlpb3YuMftozorbcGVHt/VeDV3+Fdf1TP0iuaCsPi2G4XeGhsyF1ubVDxkoJhmniQ0/jSg/eYML9KLfnCFgISWkp91eauR3IQvED0nAPXK+6hPCYs+n3+hCZbiskmVMG2da+0EsZPonUeIY8EbfusQXjsK/eFDaosbPjEfQS0RKG7yj5GG69M7MeO1HmiUYocgygJHL6M1qzUDDwUSmr99V7Sdr2F3JjQAJY+F0yH33Iv3+C9M38eML7gTgmNu/r2bUMiPvpYbZ6v1/IaESirBHNa7mPKn4dEmYg7v/+HQgPN1G79jBQ1+soydfDC2r+h2Bl/KIc5KjMK7OH6nb1jLsNf0EHVe2KBiE51ox636uyG6Lho0t3J34L5QY/ilE3mikaF4HKXG1mG1rCevT1Vv6GavltxoQe/bMrpZvRggnBxSEPEeEzkEdOxTnPXHVjUYdw8JYvjB/o7Eegc3Ma+NUxLLnsK0kJlinPmUHzHGtrk5+CAbVzFOBqpyy3QVUnzTDfC/0XD94/okH+OB+i7g9lolhWIjSnfIb+Eq43ZXOWmwvjyV/qqD+t0e+7mTEM74qP/Ozt8nmC7mRpyu63OB4KnUzFc074SqoyPUAgM+/TJGFo6T44EHnQU4X4z6qannVqgw/U7zCpwcmXV1AubIrvOmkKHazJAR55ePjp5tLBsN8vAqs3NAHdcEHOR2xQ0lsNAFzSUuxFQCFYvXLZJdOj9p4fNq6p0HBGUik2YzaI4xySy91KzhQ0+q1hjxvImRwPRf76tChlRkhRCi74NXZ9qUNeIwP+s5p+3m5nwPdNOHgSLD79n7O9m1n1uDHiMntq4nkYwV5OZ1ENbXxFd4PgrlvavZsyUO4MqYlqqn1O8W/I1dEZq5dXhrbETLaZIbC2Kj/Aa/QM+fqUOHdf0tXAQ1huZ3cmWECWSXy/43j35+Mvq9xws7JKseriZ1pEWKc8qlzNrGPUGcVgOa9cPJYIJsGnJTAUsEcDOEVULO5x0rXBijc1lgXEzQQKhROf8zIV82w8eswc78YX11KYLWQRcgHNJElBxfXr72lS2RBSl07qTKorO2uUDZr3sFhYsvnhLZn0A94KRzJ/7DEGIAhW5ZWFpL8gEwu1aLA9MuWZzNwl8Oze9Y+bX+v9gywRVnoB5I/8kXTXU3141yRLYrIOOz6SOnyHNy4SieqzkBXharjfjqq1q6tklaEbA8Qfm2DaIPs7OTq/nvJBjKfO2H9bH2cCMh1+5gspfycu8f/cuuRmtDjyqZ7uCIMyjdV3a+p3fqmXsRx4C8lujezIFHnQiVTXLXuI1XrwN3+siYYj2HHTvESUx8DlOTXpak9qFRK+L3mgJ1WsD7F4cu1aJoFoYQnu+wGDMOjJM3kiBQWHCcvhJ/HRdxodOQp45YZaOTA22Nb4XKCVxqkbwMYFhzYQYIAnCW8FW14uf98jhUG2zrKhQQ0q0CEq0t5nXyvUyvR8DvD69LU+g3i+HFWQMQ8PqZuHD+sNKAV0+M6EJC0szq7rEr7B5bQ8BcNHzvDMc9eqB5ZCQdTf80Obn4uzjwpYU7SISdtV0QGa9D3Wrh2BDQtpBKxaNFV+/Cy2P/Sv+8s7Ud0Fd74X4+o/TNztWgETUapy+majNQ68Lq3ee0ZO48VEbTZYiH1Co4OlfWef82RWeyUXo7woM03PyapGfikTnQinoNq5z5veLpeMV3HCAMTaZmA1oGLAn7XS3XYsz+XK7VMQsc4XKrmDXOLU/pSXVNUq8dIqTba///3x6LiLS6xs1xuCAYSfcQ3+rQgmu7uvf3THKt5Ooo97TqcbRqxx7EASizaQCBQllG/rYxVapMLgtLbZS64w1MDBMXX+PQpBKNwqUKOf2DDRDUXQf9EhOS0Qj4nTmlA8dzSLz/G1d+Ud8MTy/6ghhdiLpeerGY/UlDOfiuqFsMUU5/UYlP+BAmgRLuNpvrUaLlVkrqDievNVEAwF+4CoM1MZTmjxjJMsKJq+u8Zd7tNCUFy6LiyYXRJQ4VyvEQFFaCGKsxIwQkk7EzZ6LTJq2hUuPhvAW+gQnSG6J+MszC+7QCRHcnqDdyNRJ6T9xyS87A6MDutbzKGvGktpbXqtzWtXb9HsfK2cBMomjN9a4y+TaJLnXxAeX/HWzmf4cR4vALt/P4w4qgKY04ml4ZdLOinFYS6cup3G/1ie4+t1eOnpBNlqGqs75ilzkT4+DsZQxNvaSKJ//6zIbbk/M7LOhFmRc/1R+kBtz7JFGdZm/COotIdvQoXpTqP/1uqEUmCb/QWoGLMwO5ANcHzxdY48IGP5+J+zKOTBFZ4Pid+GTM+Wq12MV/H86xEJptBa6T+p3kgpwLedManBHC2GgNrFpoN2xnrMz9WFWX/8/ygSBkavq2Uv7FdCsLEYLu9LLIvAU0bNRDtzYl+/vXmjpIvuJFYjmI0im6QEYqnIeMsNjXG4vIutIGHijeAG/9EDBozKV5cldkHbLxHh25vT+ZEzbhXlqvpzKJwcEgfNwLAKFeo0/pvEE10XDB+EXRTXtSzJozQKFFAJhMxYkVaCW+E9AL7tMeU8acxidHqzb6lX4691UsDpy/LLRmT+epgW56+5Cw8tB4kMUv6s9lh3eRKbyGs+H/4mQMaYzPTf2OOdokEn+zzgvoD3FqNKk8QqGAXVsqcGdXrT62fSPkR2vROFi68A6se86UxRUk4cajfPyCC4G5wDhD+zNq4jodQ4u4n/m37Lr36n4LIAAsVr02dFi9AiwA81MYs2rm4eDlDNmdMRvEKRHfBwW5DdMNp0jPFZMeARqF/wL4XBfd+EMLBfMzpH5GH6NaW+1vrvMdg+VxDzatk3MXgO3ro3P/DpcC6+Mo4MySJhKJhSR01SGGGp5hPWmrrUgrv3lDnP+HhcI3nt3YqBoVAVTBAQT5iuhTg8nvPtd8ZeYj6w1x6RqGUBrSku7+N1+BaasZvjTk64RoIDlL8brpEcJx3OmY7jLoZsswdtmhfC/G21llXhITOwmvRDDeTTPbyASOa16cF5/A1fZAidJpqju3wYAy9avPR1ya6eNp9K8XYrrtuxlqi+bDKwlfrYdR0RRiKRVTLOH85+ZY7XSmzRpfZBJjaTa81VDcJHpZnZnSQLASGYW9l51ZV/h7eVzTi3Hv6hUsgc/51AqJRTkpbFVLXXszoBL8nBX0u/0jBLT8nH+fJePbrwURT58OY+UieRjd1vs04w0VG5VN2U6MoGZkQzKN/ptz0Q366dxoTGmj7i1NQGHi9GgnquXFYdrCfZBmeb7s0T6yrdlZH5cZuwHFyIJ/kAtGsTg0xH5taAAq44BAk1CPk9KVVbqQzrCUiFdF/6gtlPQ8bHHc1G1W92MXGZ5HEHftyLYs8mbD/9xYRUWkHmlM0zC2ilJlnNgV4bfALpQghxOUoZL7VTqtCHIaQSXm+YUMnpkXybnV+A6xlm2CVy8fn0Xlm2XRa0+zzOa21JWWmixfiPMSCZ7qA4rS93VN3pkpF1s5TonQjisHf7iU9ZGvUPOAKZcR1pbeVf/Ul7OhepGCaId9wOtqo7pJ7yLcBZ0pFkOF28y4zEI/kcUNmutBHaQpBdNM8vjCS6HZRokkeo88TBAjGyG7SR+6vUgTcyK9Imalj0kuxz0wmK+byQU11AiJFk/ya5dNduRClcnU64yGu/ieWSeOos1t3ep+RPIWQ2pyTYVbZltTbsb7NiwSi3AV+8KLWk7LxCnfZUetEM8ThnsSoGH38/nyAwFguJp8FjvlHtcWZuU4hPva0rHfr0UhOOJ/F6vS62FW7KzkmRll2HEc7oUq4fyi5T70Vl7YVIfsPHUCdHesf9Lk7WNVWO75JDkYbMI8TOW8JKVtLY9d6UJRITO8oKo0xS+o99Yy04iniGHAaGj88kEWgwv0OrHdY/nr76DOGNS59hXCGXzTKUvDl9iKpLSWYN1lxIeyywdNpTkhay74w2jFT6NS8qkjo5CxA1yfSYwp6AJIZNKIeEK5PJAW7ORgWgwp0VgzYpqovMrWxbu+DGZ6Lhie1RAqpzm8VUzKJOH3mCzWuTOLsN3VT/dv2eeYe9UjbR8YTBsLz7q60VN1sU51k+um1f8JxD5pPhbhSC8rRaB454tmh6YUWrJI3+GWY0qeWioj/tbkYITOkJaeuGt4JrJvHA+l0Gu7kY7XOaa05alMnRWVCXqFgLIwSY4uF59Ue5SU4QKuc/HamDxbr0x6csCetXGoP7Qn1Bk/J9DsynO/UD6iZ1Hyrz+jit0hDCwi/E9OjgKTbB3ZQKQ/0ZOvevfNHG0NK4Aj3Cp7NpRk07RT1i/S0EL93Ag8GRgKI9CfpajKyK6+Jj/PI1KO5/85VAwz2AwzP8FTBb075IxCXv6T9RVvWT2tUaqxDS92zrGUbWzUYk9mSs82pECH+fkqsDt93VW++4YsR/dHCYcQSYTO/KaBMDj9LSD/J/+z20Kq8XvZUAIHtm9hRPP3ItbuAu2Hm5lkPs92pd7kCxgRs0xOVBnZ13ccdA0aunrwv9SdqElJRC3g+oCu+nXyCgmXUs9yMjTMAIHfxZV+aPKcZeUBWt057Xo85Ks1Ir5gzEHCWqZEhrLZMuF11ziGtFQUds/EESajhagzcKsxamcSZxGth4UII+adPhQkUnx2WyN+4YWR+r3f8MnkyGFuR4zjzxJS8WsQYR5PTyRaD9ixa6Mh741nBHbzfjXHskGDq179xaRNrCIB1z1xRfWfjqw2pHc1zk9xlPpL8sQWAIuETZZhbnmL54rceXVNRvUiKrrqIkeogsl0XXb17ylNb0f4GA9Wd44vffEG8FSZGHEL2fbaTGRcSiCeA8PmA/f6Hz8HCS76fXUHwgwkzSwlI71ekZ7Fapmlk/KC+Hs8hUcw3N2LN5LhkVYyizYFl/uPeVP5lsoJHhhfWvvSWruCUW1ZcJOeuTbrDgywJ/qG07gZJplnTvLcYdNaH0KMYOYMGX+rB4NGPFmQsNaIwlWrfCezxre8zXBrsMT+edVLbLqN1BqB76JH4BvZTqUIMfGwPGEn+EnmTV86fPBaYbFL3DFEhjB45CewkXEAtJxk4/Ms2pPXnaRqdky0HOYdcUcE2zcXq4vaIvW2/v0nHFJH2XXe22ueDmq/18XGtELSq85j9X8q0tcNSSKJIX8FTuJF/Pf8j5PhqG2u+osvsLxYrvvfeVJL+4tkcXcr9JV7v0ERmj/X6fM3NC4j6dS1+9Umr2oPavqiAydTZPLMNRGY23LO9zAVDly7jD+70G5TPPLdhRIl4WxcYjLnM+SNcJ26FOrkrISUtPObIz5Zb3AG612krnpy15RMW+1cQjlnWFI6538qky9axd2oJmHIHP08KyP0ubGO+TQNOYuv2uh17yCIvR8VcStw7o1g0NM60sk+8Tq7YfIBJrtp53GkvzXH7OA0p8/n/u1satf/VJhtR1l8Wa6Gmaug7haSpaCaYQax6ta0mkutlb+eAOSG1aobM81D9A4iS1RRlzBBoVX6tU1S6WE2N9ORY6DfeLRC4l9Rvr5h95XDWB2mR1d4WFudpsgVYwiTwT31ljskD8ZyDOlm5DkGh9N/UB/0AI5Xvb8ZBmai2hQ4BWMqFwYnzxwB26YHSOv9WgY3JXnvoN+2R4rqGVh/LLDMtpFP+SpMGJNWvbIl5SOodbCczW2RKleksPoUeGEzrjtKHVdtZA+kfqO+rVx/iclCqwoopepvJpSTDjT+b9GWylGRF8EDbGlw6eUzmJM95Ovoz+kwLX3c2fTjFeYEsE7vUZm3mqdGJuKh2w9/QGSaqRHs99aScGOdDqkFcACoqdbBoQqqjamhH6Q9ng39JCg3lrGJwd50Qk9ovnqBTr8MME7Ps2wiVfygUmPoUBJJfJWX5Nda0nuncbFkA=="))),Hr=new Set(Dr(Gr)),qr=new Set(Dr(Gr)),zr=function(e){let t=[];for(;;){let n=e();if(0==n)break;t.push(Lr(n,e))}for(;;){let n=e()-1;if(n<0)break;t.push(Ur(n,e))}return function(e){const t={};for(let n=0;n<e.length;n++){const r=e[n];t[r[0]]=r[1]}return t}(Rr(t))}(Gr),Vr=function(e){let t=Dr(e).sort((e,t)=>e-t);return function n(){let r=[];for(;;){let i=Dr(e,t);if(0==i.length)break;r.push({set:new Set(i),node:n()})}r.sort((e,t)=>t.set.size-e.set.size);let i=e(),s=i%3;i=i/3|0;let a=!!(1&i);return i>>=1,{branches:r,valid:s,fe0f:a,save:1==i,check:2==i}}()}(Gr),Kr=45,jr=95;function Wr(e){return function(e,t=Er.current){return Cr(_r(e,t))}(e)}function Jr(e){return e.filter(e=>65039!=e)}function Qr(e){for(let t of e.split(".")){let e=Wr(t);try{for(let t=e.lastIndexOf(jr)-1;t>=0;t--)if(e[t]!==jr)throw new Error("underscore only allowed at start");if(e.length>=4&&e.every(e=>e<128)&&e[2]===Kr&&e[3]===Kr)throw new Error("invalid label extension")}catch(e){throw new Error(`Invalid label "${t}": ${e.message}`)}}return e}function Yr(e,t){var n;let r,i,s=Vr,a=[],o=e.length;for(t&&(t.length=0);o;){let u=e[--o];if(s=null===(n=s.branches.find(e=>e.set.has(u)))||void 0===n?void 0:n.node,!s)break;if(s.save)i=u;else if(s.check&&u===i)break;a.push(u),s.fe0f&&(a.push(65039),o>0&&65039==e[o-1]&&o--),s.valid&&(r=a.slice(),2==s.valid&&r.splice(1,1),t&&t.push(...e.slice(o).reverse()),e.length=o)}return r}const Xr=new pn(Nr),Zr=new Uint8Array(32);function $r(e){if(0===e.length)throw new Error("invalid ENS name; empty component");return e}function ei(e){const t=_r(function(e){return Qr(function(e,t){let n=Wr(e).reverse(),r=[];for(;n.length;){let e=Yr(n);if(e){r.push(...t(e));continue}let i=n.pop();if(Hr.has(i)){r.push(i);continue}if(qr.has(i))continue;let s=zr[i];if(!s)throw new Error(`Disallowed codepoint: 0x${i.toString(16).toUpperCase()}`);r.push(...s)}return Qr(function(e){return e.normalize("NFC")}(String.fromCodePoint(...r)))}(e,Jr))}(e)),n=[];if(0===e.length)return n;let r=0;for(let e=0;e<t.length;e++)46===t[e]&&(n.push($r(t.slice(r,e))),r=e+1);if(r>=t.length)throw new Error("invalid ENS name; empty component");return n.push($r(t.slice(r))),n}function ti(e){"string"!=typeof e&&Xr.throwArgumentError("invalid ENS name; not a string","name",e);let t=Zr;const n=ei(e);for(;n.length;)t=Ar(An([t,Ar(n.pop())]));return Sn(t)}Zr.fill(0);const ni=new pn("rlp/5.8.0");function ri(e){const t=[];for(;e;)t.unshift(255&e),e>>=8;return t}function ii(e,t,n){let r=0;for(let i=0;i<n;i++)r=256*r+e[t+i];return r}function si(e){if(Array.isArray(e)){let t=[];if(e.forEach(function(e){t=t.concat(si(e))}),t.length<=55)return t.unshift(192+t.length),t;const n=ri(t.length);return n.unshift(247+n.length),n.concat(t)}gn(e)||ni.throwArgumentError("RLP object must be BytesLike","object",e);const t=Array.prototype.slice.call(wn(e));if(1===t.length&&t[0]<=127)return t;if(t.length<=55)return t.unshift(128+t.length),t;const n=ri(t.length);return n.unshift(183+n.length),n.concat(t)}function ai(e){return Sn(si(e))}function oi(e,t,n,r){const i=[];for(;n<t+1+r;){const s=ui(e,n);i.push(s.result),(n+=s.consumed)>t+1+r&&ni.throwError("child data too short",pn.errors.BUFFER_OVERRUN,{})}return{consumed:1+r,result:i}}function ui(e,t){if(0===e.length&&ni.throwError("data too short",pn.errors.BUFFER_OVERRUN,{}),e[t]>=248){const n=e[t]-247;t+1+n>e.length&&ni.throwError("data short segment too short",pn.errors.BUFFER_OVERRUN,{});const r=ii(e,t+1,n);return t+1+n+r>e.length&&ni.throwError("data long segment too short",pn.errors.BUFFER_OVERRUN,{}),oi(e,t,t+1+n,n+r)}if(e[t]>=192){const n=e[t]-192;return t+1+n>e.length&&ni.throwError("data array too short",pn.errors.BUFFER_OVERRUN,{}),oi(e,t,t+1,n)}if(e[t]>=184){const n=e[t]-183;t+1+n>e.length&&ni.throwError("data array too short",pn.errors.BUFFER_OVERRUN,{});const r=ii(e,t+1,n);return t+1+n+r>e.length&&ni.throwError("data array too short",pn.errors.BUFFER_OVERRUN,{}),{consumed:1+n+r,result:Sn(e.slice(t+1+n,t+1+n+r))}}if(e[t]>=128){const n=e[t]-128;return t+1+n>e.length&&ni.throwError("data too short",pn.errors.BUFFER_OVERRUN,{}),{consumed:1+n,result:Sn(e.slice(t+1,t+1+n))}}return{consumed:1,result:Sn(e[t])}}function li(e){const t=wn(e),n=ui(t,0);return n.consumed!==t.length&&ni.throwArgumentError("invalid rlp data","data",e),n.result}const ci=new pn("address/5.8.0");function di(e){En(e,20)||ci.throwArgumentError("invalid address","address",e);const t=(e=e.toLowerCase()).substring(2).split(""),n=new Uint8Array(40);for(let e=0;e<40;e++)n[e]=t[e].charCodeAt(0);const r=wn(Ar(n));for(let e=0;e<40;e+=2)r[e>>1]>>4>=8&&(t[e]=t[e].toUpperCase()),(15&r[e>>1])>=8&&(t[e+1]=t[e+1].toUpperCase());return"0x"+t.join("")}const hi={};for(let e=0;e<10;e++)hi[String(e)]=String(e);for(let e=0;e<26;e++)hi[String.fromCharCode(65+e)]=String(10+e);const pi=Math.floor(function(e){return Math.log10?Math.log10(e):Math.log(e)/Math.LN10}(9007199254740991));function fi(e){let t=null;if("string"!=typeof e&&ci.throwArgumentError("invalid address","address",e),e.match(/^(0x)?[0-9a-fA-F]{40}$/))"0x"!==e.substring(0,2)&&(e="0x"+e),t=di(e),e.match(/([A-F].*[a-f])|([a-f].*[A-F])/)&&t!==e&&ci.throwArgumentError("bad address checksum","address",e);else if(e.match(/^XE[0-9]{2}[0-9A-Za-z]{30,31}$/)){for(e.substring(2,4)!==function(e){let t=(e=(e=e.toUpperCase()).substring(4)+e.substring(0,2)+"00").split("").map(e=>hi[e]).join("");for(;t.length>=pi;){let e=t.substring(0,pi);t=parseInt(e,10)%97+t.substring(e.length)}let n=String(98-parseInt(t,10)%97);for(;n.length<2;)n="0"+n;return n}(e)&&ci.throwArgumentError("bad icap checksum","address",e),n=e.substring(4),t=new Pn(n,36).toString(16);t.length<40;)t="0"+t;t=di("0x"+t)}else ci.throwArgumentError("invalid address","address",e);var n;return t}function mi(e){let t=null;try{t=fi(e.from)}catch(t){ci.throwArgumentError("missing from address","transaction",e)}return fi(Cn(Ar(ai([t,Tn(wn(Ln.from(e.nonce).toHexString()))])),12))}const yi=new pn(Nr),gi=new Uint8Array(32);gi.fill(0);const bi=Ln.from(-1),vi=Ln.from(0),wi=Ln.from(1),Ai=Ln.from("0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff"),Ti=Mn(wi.toHexString(),32),Ei=Mn(vi.toHexString(),32),Ii={name:"string",version:"string",chainId:"uint256",verifyingContract:"address",salt:"bytes32"},Si=["name","version","chainId","verifyingContract","salt"];function ki(e){return function(t){return"string"!=typeof t&&yi.throwArgumentError(`invalid domain value for ${JSON.stringify(e)}`,`domain.${e}`,t),t}}const Ci={name:ki("name"),version:ki("version"),chainId:function(e){try{return Ln.from(e).toString()}catch(e){}return yi.throwArgumentError('invalid domain value for "chainId"',"domain.chainId",e)},verifyingContract:function(e){try{return fi(e).toLowerCase()}catch(e){}return yi.throwArgumentError('invalid domain value "verifyingContract"',"domain.verifyingContract",e)},salt:function(e){try{const t=wn(e);if(32!==t.length)throw new Error("bad length");return Sn(t)}catch(e){}return yi.throwArgumentError('invalid domain value "salt"',"domain.salt",e)}};function _i(e){{const t=e.match(/^(u?)int(\d*)$/);if(t){const n=""===t[1],r=parseInt(t[2]||"256");(r%8!=0||r>256||t[2]&&t[2]!==String(r))&&yi.throwArgumentError("invalid numeric width","type",e);const i=Ai.mask(n?r-1:r),s=n?i.add(wi).mul(bi):vi;return function(t){const n=Ln.from(t);return(n.lt(s)||n.gt(i))&&yi.throwArgumentError(`value out-of-bounds for ${e}`,"value",t),Mn(n.toTwos(256).toHexString(),32)}}}{const t=e.match(/^bytes(\d+)$/);if(t){const n=parseInt(t[1]);return(0===n||n>32||t[1]!==String(n))&&yi.throwArgumentError("invalid bytes width","type",e),function(t){return wn(t).length!==n&&yi.throwArgumentError(`invalid length for ${e}`,"value",t),function(e){const t=wn(e),n=t.length%32;return n?_n([t,gi.slice(n)]):Sn(t)}(t)}}}switch(e){case"address":return function(e){return Mn(fi(e),32)};case"bool":return function(e){return e?Ti:Ei};case"bytes":return function(e){return Ar(e)};case"string":return function(e){return Mr(e)}}return null}function xi(e,t){return`${e}(${t.map(({name:e,type:t})=>t+" "+e).join(",")})`}class Mi{constructor(e){Kn(this,"types",Object.freeze($n(e))),Kn(this,"_encoderCache",{}),Kn(this,"_types",{});const t={},n={},r={};Object.keys(e).forEach(e=>{t[e]={},n[e]=[],r[e]={}});for(const r in e){const i={};e[r].forEach(s=>{i[s.name]&&yi.throwArgumentError(`duplicate variable name ${JSON.stringify(s.name)} in ${JSON.stringify(r)}`,"types",e),i[s.name]=!0;const a=s.type.match(/^([^\x5b]*)(\x5b|$)/)[1];a===r&&yi.throwArgumentError(`circular type reference to ${JSON.stringify(a)}`,"types",e),_i(a)||(n[a]||yi.throwArgumentError(`unknown type ${JSON.stringify(a)}`,"types",e),n[a].push(r),t[r][a]=!0)})}const i=Object.keys(n).filter(e=>0===n[e].length);0===i.length?yi.throwArgumentError("missing primary type","types",e):i.length>1&&yi.throwArgumentError(`ambiguous primary types or unused types: ${i.map(e=>JSON.stringify(e)).join(", ")}`,"types",e),Kn(this,"primaryType",i[0]),function i(s,a){a[s]&&yi.throwArgumentError(`circular type reference to ${JSON.stringify(s)}`,"types",e),a[s]=!0,Object.keys(t[s]).forEach(e=>{n[e]&&(i(e,a),Object.keys(a).forEach(t=>{r[t][e]=!0}))}),delete a[s]}(this.primaryType,{});for(const t in r){const n=Object.keys(r[t]);n.sort(),this._types[t]=xi(t,e[t])+n.map(t=>xi(t,e[t])).join("")}}getEncoder(e){let t=this._encoderCache[e];return t||(t=this._encoderCache[e]=this._getEncoder(e)),t}_getEncoder(e){{const t=_i(e);if(t)return t}const t=e.match(/^(.*)(\x5b(\d*)\x5d)$/);if(t){const e=t[1],n=this.getEncoder(e),r=parseInt(t[3]);return t=>{r>=0&&t.length!==r&&yi.throwArgumentError("array length mismatch; expected length ${ arrayLength }","value",t);let i=t.map(n);return this._types[e]&&(i=i.map(Ar)),Ar(_n(i))}}const n=this.types[e];if(n){const t=Mr(this._types[e]);return e=>{const r=n.map(({name:t,type:n})=>{const r=this.getEncoder(n)(e[t]);return this._types[n]?Ar(r):r});return r.unshift(t),_n(r)}}return yi.throwArgumentError(`unknown type: ${e}`,"type",e)}encodeType(e){const t=this._types[e];return t||yi.throwArgumentError(`unknown type: ${JSON.stringify(e)}`,"name",e),t}encodeData(e,t){return this.getEncoder(e)(t)}hashStruct(e,t){return Ar(this.encodeData(e,t))}encode(e){return this.encodeData(this.primaryType,e)}hash(e){return this.hashStruct(this.primaryType,e)}_visit(e,t,n){if(_i(e))return n(e,t);const r=e.match(/^(.*)(\x5b(\d*)\x5d)$/);if(r){const e=r[1],i=parseInt(r[3]);return i>=0&&t.length!==i&&yi.throwArgumentError("array length mismatch; expected length ${ arrayLength }","value",t),t.map(t=>this._visit(e,t,n))}const i=this.types[e];return i?i.reduce((e,{name:r,type:i})=>(e[r]=this._visit(i,t[r],n),e),{}):yi.throwArgumentError(`unknown type: ${e}`,"type",e)}visit(e,t){return this._visit(this.primaryType,e,t)}static from(e){return new Mi(e)}static getPrimaryType(e){return Mi.from(e).primaryType}static hashStruct(e,t,n){return Mi.from(t).hashStruct(e,n)}static hashDomain(e){const t=[];for(const n in e){const r=Ii[n];r||yi.throwArgumentError(`invalid typed-data domain key: ${JSON.stringify(n)}`,"domain",e),t.push({name:n,type:r})}return t.sort((e,t)=>Si.indexOf(e.name)-Si.indexOf(t.name)),Mi.hashStruct("EIP712Domain",{EIP712Domain:t},e)}static encode(e,t,n){return _n(["0x1901",Mi.hashDomain(e),Mi.from(t).hash(n)])}static hash(e,t,n){return Ar(Mi.encode(e,t,n))}static resolveNames(e,t,n,r){return i=this,a=function*(){e=Qn(e);const i={};e.verifyingContract&&!En(e.verifyingContract,20)&&(i[e.verifyingContract]="0x");const s=Mi.from(t);s.visit(n,(e,t)=>("address"!==e||En(t,20)||(i[t]="0x"),t));for(const e in i)i[e]=yield r(e);return e.verifyingContract&&i[e.verifyingContract]&&(e.verifyingContract=i[e.verifyingContract]),n=s.visit(n,(e,t)=>"address"===e&&i[t]?i[t]:t),{domain:e,value:n}},new((s=void 0)||(s=Promise))(function(e,t){function n(e){try{o(a.next(e))}catch(e){t(e)}}function r(e){try{o(a.throw(e))}catch(e){t(e)}}function o(t){var i;t.done?e(t.value):(i=t.value,i instanceof s?i:new s(function(e){e(i)})).then(n,r)}o((a=a.apply(i,[])).next())});var i,s,a}static getPayload(e,t,n){Mi.hashDomain(e);const r={},i=[];Si.forEach(t=>{const n=e[t];null!=n&&(r[t]=Ci[t](n),i.push({name:t,type:Ii[t]}))});const s=Mi.from(t),a=Qn(t);return a.EIP712Domain?yi.throwArgumentError("types must not contain EIP712Domain type","types.EIP712Domain",t):a.EIP712Domain=i,s.encode(n),{types:a,domain:r,primaryType:s.primaryType,message:s.visit(n,(e,t)=>{if(e.match(/^bytes(\d*)/))return Sn(wn(t));if(e.match(/^u?int/))return Ln.from(t).toString();switch(e){case"address":return t.toLowerCase();case"bool":return!!t;case"string":return"string"!=typeof t&&yi.throwArgumentError("invalid string","value",t),t}return yi.throwArgumentError("unsupported type","type",e)})}}}var Ni=Ri;function Ri(e,t){if(!e)throw new Error(t||"Assertion failed")}function Pi(e,t){return 55296==(64512&e.charCodeAt(t))&&!(t<0||t+1>=e.length)&&56320==(64512&e.charCodeAt(t+1))}function Oi(e){return(e>>>24|e>>>8&65280|e<<8&16711680|(255&e)<<24)>>>0}function Bi(e){return 1===e.length?"0"+e:e}function Di(e){return 7===e.length?"0"+e:6===e.length?"00"+e:5===e.length?"000"+e:4===e.length?"0000"+e:3===e.length?"00000"+e:2===e.length?"000000"+e:1===e.length?"0000000"+e:e}Ri.equal=function(e,t,n){if(e!=t)throw new Error(n||"Assertion failed: "+e+" != "+t)};var Fi={inherits:en(function(e){e.exports="function"==typeof Object.create?function(e,t){t&&(e.super_=t,e.prototype=Object.create(t.prototype,{constructor:{value:e,enumerable:!1,writable:!0,configurable:!0}}))}:function(e,t){if(t){e.super_=t;var n=function(){};n.prototype=t.prototype,e.prototype=new n,e.prototype.constructor=e}}}),toArray:function(e,t){if(Array.isArray(e))return e.slice();if(!e)return[];var n=[];if("string"==typeof e)if(t){if("hex"===t)for((e=e.replace(/[^a-z0-9]+/gi,"")).length%2!=0&&(e="0"+e),i=0;i<e.length;i+=2)n.push(parseInt(e[i]+e[i+1],16))}else for(var r=0,i=0;i<e.length;i++){var s=e.charCodeAt(i);s<128?n[r++]=s:s<2048?(n[r++]=s>>6|192,n[r++]=63&s|128):Pi(e,i)?(s=65536+((1023&s)<<10)+(1023&e.charCodeAt(++i)),n[r++]=s>>18|240,n[r++]=s>>12&63|128,n[r++]=s>>6&63|128,n[r++]=63&s|128):(n[r++]=s>>12|224,n[r++]=s>>6&63|128,n[r++]=63&s|128)}else for(i=0;i<e.length;i++)n[i]=0|e[i];return n},toHex:function(e){for(var t="",n=0;n<e.length;n++)t+=Bi(e[n].toString(16));return t},htonl:Oi,toHex32:function(e,t){for(var n="",r=0;r<e.length;r++){var i=e[r];"little"===t&&(i=Oi(i)),n+=Di(i.toString(16))}return n},zero2:Bi,zero8:Di,join32:function(e,t,n,r){var i=n-t;Ni(i%4==0);for(var s=new Array(i/4),a=0,o=t;a<s.length;a++,o+=4)s[a]=("big"===r?e[o]<<24|e[o+1]<<16|e[o+2]<<8|e[o+3]:e[o+3]<<24|e[o+2]<<16|e[o+1]<<8|e[o])>>>0;return s},split32:function(e,t){for(var n=new Array(4*e.length),r=0,i=0;r<e.length;r++,i+=4){var s=e[r];"big"===t?(n[i]=s>>>24,n[i+1]=s>>>16&255,n[i+2]=s>>>8&255,n[i+3]=255&s):(n[i+3]=s>>>24,n[i+2]=s>>>16&255,n[i+1]=s>>>8&255,n[i]=255&s)}return n},rotr32:function(e,t){return e>>>t|e<<32-t},rotl32:function(e,t){return e<<t|e>>>32-t},sum32:function(e,t){return e+t>>>0},sum32_3:function(e,t,n){return e+t+n>>>0},sum32_4:function(e,t,n,r){return e+t+n+r>>>0},sum32_5:function(e,t,n,r,i){return e+t+n+r+i>>>0},sum64:function(e,t,n,r){var i=r+e[t+1]>>>0;e[t]=(i<r?1:0)+n+e[t]>>>0,e[t+1]=i},sum64_hi:function(e,t,n,r){return(t+r>>>0<t?1:0)+e+n>>>0},sum64_lo:function(e,t,n,r){return t+r>>>0},sum64_4_hi:function(e,t,n,r,i,s,a,o){var u=0,l=t;return u+=(l=l+r>>>0)<t?1:0,u+=(l=l+s>>>0)<s?1:0,e+n+i+a+(u+=(l=l+o>>>0)<o?1:0)>>>0},sum64_4_lo:function(e,t,n,r,i,s,a,o){return t+r+s+o>>>0},sum64_5_hi:function(e,t,n,r,i,s,a,o,u,l){var c=0,d=t;return c+=(d=d+r>>>0)<t?1:0,c+=(d=d+s>>>0)<s?1:0,c+=(d=d+o>>>0)<o?1:0,e+n+i+a+u+(c+=(d=d+l>>>0)<l?1:0)>>>0},sum64_5_lo:function(e,t,n,r,i,s,a,o,u,l){return t+r+s+o+l>>>0},rotr64_hi:function(e,t,n){return(t<<32-n|e>>>n)>>>0},rotr64_lo:function(e,t,n){return(e<<32-n|t>>>n)>>>0},shr64_hi:function(e,t,n){return e>>>n},shr64_lo:function(e,t,n){return(e<<32-n|t>>>n)>>>0}};function Li(){this.pending=null,this.pendingTotal=0,this.blockSize=this.constructor.blockSize,this.outSize=this.constructor.outSize,this.hmacStrength=this.constructor.hmacStrength,this.padLength=this.constructor.padLength/8,this.endian="big",this._delta8=this.blockSize/8,this._delta32=this.blockSize/32}var Ui=Li;Li.prototype.update=function(e,t){if(e=Fi.toArray(e,t),this.pending=this.pending?this.pending.concat(e):e,this.pendingTotal+=e.length,this.pending.length>=this._delta8){var n=(e=this.pending).length%this._delta8;this.pending=e.slice(e.length-n,e.length),0===this.pending.length&&(this.pending=null),e=Fi.join32(e,0,e.length-n,this.endian);for(var r=0;r<e.length;r+=this._delta32)this._update(e,r,r+this._delta32)}return this},Li.prototype.digest=function(e){return this.update(this._pad()),Ni(null===this.pending),this._digest(e)},Li.prototype._pad=function(){var e=this.pendingTotal,t=this._delta8,n=t-(e+this.padLength)%t,r=new Array(n+this.padLength);r[0]=128;for(var i=1;i<n;i++)r[i]=0;if(e<<=3,"big"===this.endian){for(var s=8;s<this.padLength;s++)r[i++]=0;r[i++]=0,r[i++]=0,r[i++]=0,r[i++]=0,r[i++]=e>>>24&255,r[i++]=e>>>16&255,r[i++]=e>>>8&255,r[i++]=255&e}else for(r[i++]=255&e,r[i++]=e>>>8&255,r[i++]=e>>>16&255,r[i++]=e>>>24&255,r[i++]=0,r[i++]=0,r[i++]=0,r[i++]=0,s=8;s<this.padLength;s++)r[i++]=0;return r};var Gi={BlockHash:Ui},Hi=Fi.rotr32;function qi(e,t,n){return e&t^~e&n}function zi(e,t,n){return e&t^e&n^t&n}var Vi=qi,Ki=zi,ji=Fi.rotl32,Wi=Fi.sum32,Ji=Fi.sum32_5,Qi=function(e,t,n,r){return 0===e?qi(t,n,r):1===e||3===e?function(e,t,n){return e^t^n}(t,n,r):2===e?zi(t,n,r):void 0},Yi=Gi.BlockHash,Xi=[1518500249,1859775393,2400959708,3395469782];function Zi(){if(!(this instanceof Zi))return new Zi;Yi.call(this),this.h=[1732584193,4023233417,2562383102,271733878,3285377520],this.W=new Array(80)}Fi.inherits(Zi,Yi);var $i=Zi;Zi.blockSize=512,Zi.outSize=160,Zi.hmacStrength=80,Zi.padLength=64,Zi.prototype._update=function(e,t){for(var n=this.W,r=0;r<16;r++)n[r]=e[t+r];for(;r<n.length;r++)n[r]=ji(n[r-3]^n[r-8]^n[r-14]^n[r-16],1);var i=this.h[0],s=this.h[1],a=this.h[2],o=this.h[3],u=this.h[4];for(r=0;r<n.length;r++){var l=~~(r/20),c=Ji(ji(i,5),Qi(l,s,a,o),u,n[r],Xi[l]);u=o,o=a,a=ji(s,30),s=i,i=c}this.h[0]=Wi(this.h[0],i),this.h[1]=Wi(this.h[1],s),this.h[2]=Wi(this.h[2],a),this.h[3]=Wi(this.h[3],o),this.h[4]=Wi(this.h[4],u)},Zi.prototype._digest=function(e){return"hex"===e?Fi.toHex32(this.h,"big"):Fi.split32(this.h,"big")};var es=Fi.sum32,ts=Fi.sum32_4,ns=Fi.sum32_5,rs=Vi,is=Ki,ss=function(e){return Hi(e,2)^Hi(e,13)^Hi(e,22)},as=function(e){return Hi(e,6)^Hi(e,11)^Hi(e,25)},os=function(e){return Hi(e,7)^Hi(e,18)^e>>>3},us=function(e){return Hi(e,17)^Hi(e,19)^e>>>10},ls=Gi.BlockHash,cs=[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];function ds(){if(!(this instanceof ds))return new ds;ls.call(this),this.h=[1779033703,3144134277,1013904242,2773480762,1359893119,2600822924,528734635,1541459225],this.k=cs,this.W=new Array(64)}Fi.inherits(ds,ls);var hs=ds;function ps(){if(!(this instanceof ps))return new ps;hs.call(this),this.h=[3238371032,914150663,812702999,4144912697,4290775857,1750603025,1694076839,3204075428]}ds.blockSize=512,ds.outSize=256,ds.hmacStrength=192,ds.padLength=64,ds.prototype._update=function(e,t){for(var n=this.W,r=0;r<16;r++)n[r]=e[t+r];for(;r<n.length;r++)n[r]=ts(us(n[r-2]),n[r-7],os(n[r-15]),n[r-16]);var i=this.h[0],s=this.h[1],a=this.h[2],o=this.h[3],u=this.h[4],l=this.h[5],c=this.h[6],d=this.h[7];for(Ni(this.k.length===n.length),r=0;r<n.length;r++){var h=ns(d,as(u),rs(u,l,c),this.k[r],n[r]),p=es(ss(i),is(i,s,a));d=c,c=l,l=u,u=es(o,h),o=a,a=s,s=i,i=es(h,p)}this.h[0]=es(this.h[0],i),this.h[1]=es(this.h[1],s),this.h[2]=es(this.h[2],a),this.h[3]=es(this.h[3],o),this.h[4]=es(this.h[4],u),this.h[5]=es(this.h[5],l),this.h[6]=es(this.h[6],c),this.h[7]=es(this.h[7],d)},ds.prototype._digest=function(e){return"hex"===e?Fi.toHex32(this.h,"big"):Fi.split32(this.h,"big")},Fi.inherits(ps,hs);var fs=ps;ps.blockSize=512,ps.outSize=224,ps.hmacStrength=192,ps.padLength=64,ps.prototype._digest=function(e){return"hex"===e?Fi.toHex32(this.h.slice(0,7),"big"):Fi.split32(this.h.slice(0,7),"big")};var ms=Fi.rotr64_hi,ys=Fi.rotr64_lo,gs=Fi.shr64_hi,bs=Fi.shr64_lo,vs=Fi.sum64,ws=Fi.sum64_hi,As=Fi.sum64_lo,Ts=Fi.sum64_4_hi,Es=Fi.sum64_4_lo,Is=Fi.sum64_5_hi,Ss=Fi.sum64_5_lo,ks=Gi.BlockHash,Cs=[1116352408,3609767458,1899447441,602891725,3049323471,3964484399,3921009573,2173295548,961987163,4081628472,1508970993,3053834265,2453635748,2937671579,2870763221,3664609560,3624381080,2734883394,310598401,1164996542,607225278,1323610764,1426881987,3590304994,1925078388,4068182383,2162078206,991336113,2614888103,633803317,3248222580,3479774868,3835390401,2666613458,4022224774,944711139,264347078,2341262773,604807628,2007800933,770255983,1495990901,1249150122,1856431235,1555081692,3175218132,1996064986,2198950837,2554220882,3999719339,2821834349,766784016,2952996808,2566594879,3210313671,3203337956,3336571891,1034457026,3584528711,2466948901,113926993,3758326383,338241895,168717936,666307205,1188179964,773529912,1546045734,1294757372,1522805485,1396182291,2643833823,1695183700,2343527390,1986661051,1014477480,2177026350,1206759142,2456956037,344077627,2730485921,1290863460,2820302411,3158454273,3259730800,3505952657,3345764771,106217008,3516065817,3606008344,3600352804,1432725776,4094571909,1467031594,275423344,851169720,430227734,3100823752,506948616,1363258195,659060556,3750685593,883997877,3785050280,958139571,3318307427,1322822218,3812723403,1537002063,2003034995,1747873779,3602036899,1955562222,1575990012,2024104815,1125592928,2227730452,2716904306,2361852424,442776044,2428436474,593698344,2756734187,3733110249,3204031479,2999351573,3329325298,3815920427,3391569614,3928383900,3515267271,566280711,3940187606,3454069534,4118630271,4000239992,116418474,1914138554,174292421,2731055270,289380356,3203993006,460393269,320620315,685471733,587496836,852142971,1086792851,1017036298,365543100,1126000580,2618297676,1288033470,3409855158,1501505948,4234509866,1607167915,987167468,1816402316,1246189591];function _s(){if(!(this instanceof _s))return new _s;ks.call(this),this.h=[1779033703,4089235720,3144134277,2227873595,1013904242,4271175723,2773480762,1595750129,1359893119,2917565137,2600822924,725511199,528734635,4215389547,1541459225,327033209],this.k=Cs,this.W=new Array(160)}Fi.inherits(_s,ks);var xs=_s;function Ms(e,t,n,r,i){var s=e&n^~e&i;return s<0&&(s+=4294967296),s}function Ns(e,t,n,r,i,s){var a=t&r^~t&s;return a<0&&(a+=4294967296),a}function Rs(e,t,n,r,i){var s=e&n^e&i^n&i;return s<0&&(s+=4294967296),s}function Ps(e,t,n,r,i,s){var a=t&r^t&s^r&s;return a<0&&(a+=4294967296),a}function Os(e,t){var n=ms(e,t,28)^ms(t,e,2)^ms(t,e,7);return n<0&&(n+=4294967296),n}function Bs(e,t){var n=ys(e,t,28)^ys(t,e,2)^ys(t,e,7);return n<0&&(n+=4294967296),n}function Ds(e,t){var n=ms(e,t,14)^ms(e,t,18)^ms(t,e,9);return n<0&&(n+=4294967296),n}function Fs(e,t){var n=ys(e,t,14)^ys(e,t,18)^ys(t,e,9);return n<0&&(n+=4294967296),n}function Ls(e,t){var n=ms(e,t,1)^ms(e,t,8)^gs(e,t,7);return n<0&&(n+=4294967296),n}function Us(e,t){var n=ys(e,t,1)^ys(e,t,8)^bs(e,t,7);return n<0&&(n+=4294967296),n}function Gs(e,t){var n=ms(e,t,19)^ms(t,e,29)^gs(e,t,6);return n<0&&(n+=4294967296),n}function Hs(e,t){var n=ys(e,t,19)^ys(t,e,29)^bs(e,t,6);return n<0&&(n+=4294967296),n}function qs(){if(!(this instanceof qs))return new qs;xs.call(this),this.h=[3418070365,3238371032,1654270250,914150663,2438529370,812702999,355462360,4144912697,1731405415,4290775857,2394180231,1750603025,3675008525,1694076839,1203062813,3204075428]}_s.blockSize=1024,_s.outSize=512,_s.hmacStrength=192,_s.padLength=128,_s.prototype._prepareBlock=function(e,t){for(var n=this.W,r=0;r<32;r++)n[r]=e[t+r];for(;r<n.length;r+=2){var i=Gs(n[r-4],n[r-3]),s=Hs(n[r-4],n[r-3]),a=n[r-14],o=n[r-13],u=Ls(n[r-30],n[r-29]),l=Us(n[r-30],n[r-29]),c=n[r-32],d=n[r-31];n[r]=Ts(i,s,a,o,u,l,c,d),n[r+1]=Es(i,s,a,o,u,l,c,d)}},_s.prototype._update=function(e,t){this._prepareBlock(e,t);var n=this.W,r=this.h[0],i=this.h[1],s=this.h[2],a=this.h[3],o=this.h[4],u=this.h[5],l=this.h[6],c=this.h[7],d=this.h[8],h=this.h[9],p=this.h[10],f=this.h[11],m=this.h[12],y=this.h[13],g=this.h[14],b=this.h[15];Ni(this.k.length===n.length);for(var v=0;v<n.length;v+=2){var w=g,A=b,T=Ds(d,h),E=Fs(d,h),I=Ms(d,0,p,0,m),S=Ns(0,h,0,f,0,y),k=this.k[v],C=this.k[v+1],_=n[v],x=n[v+1],M=Is(w,A,T,E,I,S,k,C,_,x),N=Ss(w,A,T,E,I,S,k,C,_,x);w=Os(r,i),A=Bs(r,i),T=Rs(r,0,s,0,o),E=Ps(0,i,0,a,0,u);var R=ws(w,A,T,E),P=As(w,A,T,E);g=m,b=y,m=p,y=f,p=d,f=h,d=ws(l,c,M,N),h=As(c,c,M,N),l=o,c=u,o=s,u=a,s=r,a=i,r=ws(M,N,R,P),i=As(M,N,R,P)}vs(this.h,0,r,i),vs(this.h,2,s,a),vs(this.h,4,o,u),vs(this.h,6,l,c),vs(this.h,8,d,h),vs(this.h,10,p,f),vs(this.h,12,m,y),vs(this.h,14,g,b)},_s.prototype._digest=function(e){return"hex"===e?Fi.toHex32(this.h,"big"):Fi.split32(this.h,"big")},Fi.inherits(qs,xs);var zs=qs;qs.blockSize=1024,qs.outSize=384,qs.hmacStrength=192,qs.padLength=128,qs.prototype._digest=function(e){return"hex"===e?Fi.toHex32(this.h.slice(0,12),"big"):Fi.split32(this.h.slice(0,12),"big")};var Vs={sha1:$i,sha224:fs,sha256:hs,sha384:zs,sha512:xs},Ks=Fi.rotl32,js=Fi.sum32,Ws=Fi.sum32_3,Js=Fi.sum32_4,Qs=Gi.BlockHash;function Ys(){if(!(this instanceof Ys))return new Ys;Qs.call(this),this.h=[1732584193,4023233417,2562383102,271733878,3285377520],this.endian="little"}Fi.inherits(Ys,Qs);var Xs=Ys;function Zs(e,t,n,r){return e<=15?t^n^r:e<=31?t&n|~t&r:e<=47?(t|~n)^r:e<=63?t&r|n&~r:t^(n|~r)}function $s(e){return e<=15?0:e<=31?1518500249:e<=47?1859775393:e<=63?2400959708:2840853838}function ea(e){return e<=15?1352829926:e<=31?1548603684:e<=47?1836072691:e<=63?2053994217:0}Ys.blockSize=512,Ys.outSize=160,Ys.hmacStrength=192,Ys.padLength=64,Ys.prototype._update=function(e,t){for(var n=this.h[0],r=this.h[1],i=this.h[2],s=this.h[3],a=this.h[4],o=n,u=r,l=i,c=s,d=a,h=0;h<80;h++){var p=js(Ks(Js(n,Zs(h,r,i,s),e[ta[h]+t],$s(h)),ra[h]),a);n=a,a=s,s=Ks(i,10),i=r,r=p,p=js(Ks(Js(o,Zs(79-h,u,l,c),e[na[h]+t],ea(h)),ia[h]),d),o=d,d=c,c=Ks(l,10),l=u,u=p}p=Ws(this.h[1],i,c),this.h[1]=Ws(this.h[2],s,d),this.h[2]=Ws(this.h[3],a,o),this.h[3]=Ws(this.h[4],n,u),this.h[4]=Ws(this.h[0],r,l),this.h[0]=p},Ys.prototype._digest=function(e){return"hex"===e?Fi.toHex32(this.h,"little"):Fi.split32(this.h,"little")};var ta=[0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,7,4,13,1,10,6,15,3,12,0,9,5,2,14,11,8,3,10,14,4,9,15,8,1,2,7,0,6,13,11,5,12,1,9,11,10,0,8,12,4,13,3,7,15,14,5,6,2,4,0,5,9,7,12,2,10,14,1,3,8,11,6,15,13],na=[5,14,7,0,9,2,11,4,13,6,15,8,1,10,3,12,6,11,3,7,0,13,5,10,14,15,8,12,4,9,1,2,15,5,1,3,7,14,6,9,11,8,12,2,10,0,4,13,8,6,4,1,3,11,15,0,5,12,2,13,9,7,10,14,12,15,10,4,1,5,8,7,6,2,13,14,0,3,9,11],ra=[11,14,15,12,5,8,7,9,11,13,14,15,6,7,9,8,7,6,8,13,11,9,7,15,7,12,15,9,11,7,13,12,11,13,6,7,14,9,13,15,14,8,13,6,5,12,7,5,11,12,14,15,14,15,9,8,9,14,5,6,8,6,5,12,9,15,5,11,6,8,13,12,5,12,13,14,11,8,5,6],ia=[8,9,9,11,13,15,15,5,7,7,8,11,14,14,12,6,9,13,15,7,12,8,9,11,7,7,12,7,6,15,13,11,9,7,15,11,8,6,6,14,12,13,5,14,13,13,7,5,15,5,8,11,14,14,6,14,6,9,12,9,12,5,15,8,8,5,12,9,12,5,14,6,8,13,6,5,15,13,11,11],sa={ripemd160:Xs};function aa(e,t,n){if(!(this instanceof aa))return new aa(e,t,n);this.Hash=e,this.blockSize=e.blockSize/8,this.outSize=e.outSize/8,this.inner=null,this.outer=null,this._init(Fi.toArray(t,n))}var oa=aa;aa.prototype._init=function(e){e.length>this.blockSize&&(e=(new this.Hash).update(e).digest()),Ni(e.length<=this.blockSize);for(var t=e.length;t<this.blockSize;t++)e.push(0);for(t=0;t<e.length;t++)e[t]^=54;for(this.inner=(new this.Hash).update(e),t=0;t<e.length;t++)e[t]^=106;this.outer=(new this.Hash).update(e)},aa.prototype.update=function(e,t){return this.inner.update(e,t),this},aa.prototype.digest=function(e){return this.outer.update(this.inner.digest()),this.outer.digest(e)};var ua,la=en(function(e,t){var n=t;n.utils=Fi,n.common=Gi,n.sha=Vs,n.ripemd=sa,n.hmac=oa,n.sha1=n.sha.sha1,n.sha256=n.sha.sha256,n.sha224=n.sha.sha224,n.sha384=n.sha.sha384,n.sha512=n.sha.sha512,n.ripemd160=n.ripemd.ripemd160}),ca=la;!function(e){e.sha256="sha256",e.sha512="sha512"}(ua||(ua={}));const da=new pn("sha2/5.8.0");function ha(e){return"0x"+ca.sha256().update(wn(e)).digest("hex")}function pa(e,t,n){return ua[e]||da.throwError("unsupported algorithm "+e,pn.errors.UNSUPPORTED_OPERATION,{operation:"hmac",algorithm:e}),"0x"+ca.hmac(ca[e],wn(t)).update(wn(n)).digest("hex")}var fa=function(e,t,n,r){return new(n||(n=Promise))(function(i,s){function a(e){try{u(r.next(e))}catch(e){s(e)}}function o(e){try{u(r.throw(e))}catch(e){s(e)}}function u(e){var t;e.done?i(e.value):(t=e.value,t instanceof n?t:new n(function(e){e(t)})).then(a,o)}u((r=r.apply(e,t||[])).next())})};function ma(e,t){return fa(this,void 0,void 0,function*(){null==t&&(t={});const n={method:t.method||"GET",headers:t.headers||{},body:t.body||void 0};if(!0!==t.skipFetchSetup&&(n.mode="cors",n.cache="no-cache",n.credentials="same-origin",n.redirect="follow",n.referrer="client"),null!=t.fetchOptions){const e=t.fetchOptions;e.mode&&(n.mode=e.mode),e.cache&&(n.cache=e.cache),e.credentials&&(n.credentials=e.credentials),e.redirect&&(n.redirect=e.redirect),e.referrer&&(n.referrer=e.referrer)}const r=yield fetch(e,n),i=yield r.arrayBuffer(),s={};return r.headers.forEach?r.headers.forEach((e,t)=>{s[t.toLowerCase()]=e}):r.headers.keys().forEach(e=>{s[e.toLowerCase()]=r.headers.get(e)}),{headers:s,statusCode:r.status,statusMessage:r.statusText,body:wn(new Uint8Array(i))}})}var ya=function(e,t,n,r){return new(n||(n=Promise))(function(i,s){function a(e){try{u(r.next(e))}catch(e){s(e)}}function o(e){try{u(r.throw(e))}catch(e){s(e)}}function u(e){var t;e.done?i(e.value):(t=e.value,t instanceof n?t:new n(function(e){e(t)})).then(a,o)}u((r=r.apply(e,t||[])).next())})};const ga=new pn("web/5.8.0");function ba(e){return new Promise(t=>{setTimeout(t,e)})}function va(e,t){if(null==e)return null;if("string"==typeof e)return e;if(gn(e)){if(t&&("text"===t.split("/")[0]||"application/json"===t.split(";")[0].trim()))try{return xr(e)}catch(e){}return Sn(e)}return e}function wa(e,t,n){let r=null;if(null!=t){r=_r(t);const n="string"==typeof e?{url:e}:Qn(e);n.headers?0!==Object.keys(n.headers).filter(e=>"content-type"===e.toLowerCase()).length||(n.headers=Qn(n.headers),n.headers["content-type"]="application/json"):n.headers={"content-type":"application/json"},e=n}return function(e,t,n){const r="object"==typeof e&&null!=e.throttleLimit?e.throttleLimit:12;ga.assertArgument(r>0&&r%1==0,"invalid connection throttle limit","connection.throttleLimit",r);const i="object"==typeof e?e.throttleCallback:null,s="object"==typeof e&&"number"==typeof e.throttleSlotInterval?e.throttleSlotInterval:100;ga.assertArgument(s>0&&s%1==0,"invalid connection throttle slot interval","connection.throttleSlotInterval",s);const a="object"==typeof e&&!!e.errorPassThrough,o={};let u=null;const l={method:"GET"};let c=!1,d=12e4;if("string"==typeof e)u=e;else if("object"==typeof e){if(null!=e&&null!=e.url||ga.throwArgumentError("missing URL","connection.url",e),u=e.url,"number"==typeof e.timeout&&e.timeout>0&&(d=e.timeout),e.headers)for(const t in e.headers)o[t.toLowerCase()]={key:t,value:String(e.headers[t])},["if-none-match","if-modified-since"].indexOf(t.toLowerCase())>=0&&(c=!0);l.allowGzip=!!e.allowGzip,null!=e.user&&null!=e.password&&("https:"!==u.substring(0,6)&&!0!==e.allowInsecureAuthentication&&ga.throwError("basic authentication requires a secure https url",pn.errors.INVALID_ARGUMENT,{argument:"url",url:u,user:e.user,password:"[REDACTED]"}),o.authorization={key:"Authorization",value:"Basic "+hr(_r(e.user+":"+e.password))}),null!=e.skipFetchSetup&&(l.skipFetchSetup=!!e.skipFetchSetup),null!=e.fetchOptions&&(l.fetchOptions=Qn(e.fetchOptions))}const h=new RegExp("^data:([^;:]*)?(;base64)?,(.*)$","i"),p=u?u.match(h):null;if(p)try{const e={statusCode:200,statusMessage:"OK",headers:{"content-type":p[1]||"text/plain"},body:p[2]?dr(p[3]):(f=p[3],_r(f.replace(/%([0-9a-f][0-9a-f])/gi,(e,t)=>String.fromCharCode(parseInt(t,16)))))};let t=e.body;return n&&(t=n(e.body,e)),Promise.resolve(t)}catch(e){ga.throwError("processing response error",pn.errors.SERVER_ERROR,{body:va(p[1],p[2]),error:e,requestBody:null,requestMethod:"GET",url:u})}var f;t&&(l.method="POST",l.body=t,null==o["content-type"]&&(o["content-type"]={key:"Content-Type",value:"application/octet-stream"}),null==o["content-length"]&&(o["content-length"]={key:"Content-Length",value:String(t.length)}));const m={};Object.keys(o).forEach(e=>{const t=o[e];m[t.key]=t.value}),l.headers=m;const y=function(){let e=null;return{promise:new Promise(function(t,n){d&&(e=setTimeout(()=>{null!=e&&(e=null,n(ga.makeError("timeout",pn.errors.TIMEOUT,{requestBody:va(l.body,m["content-type"]),requestMethod:l.method,timeout:d,url:u})))},d))}),cancel:function(){null!=e&&(clearTimeout(e),e=null)}}}(),g=function(){return ya(this,void 0,void 0,function*(){for(let e=0;e<r;e++){let t=null;try{if(t=yield ma(u,l),e<r)if(301===t.statusCode||302===t.statusCode){if("GET"===l.method&&(t.headers.location||"").match(/^https:/)){u=t.headers.location;continue}}else if(429===t.statusCode){let n=!0;if(i&&(n=yield i(e,u)),n){let n=0;const r=t.headers["retry-after"];n="string"==typeof r&&r.match(/^[1-9][0-9]*$/)?1e3*parseInt(r):s*parseInt(String(Math.random()*Math.pow(2,e))),yield ba(n);continue}}}catch(e){t=e.response,null==t&&(y.cancel(),ga.throwError("missing response",pn.errors.SERVER_ERROR,{requestBody:va(l.body,m["content-type"]),requestMethod:l.method,serverError:e,url:u}))}let o=t.body;if(c&&304===t.statusCode?o=null:!a&&(t.statusCode<200||t.statusCode>=300)&&(y.cancel(),ga.throwError("bad response",pn.errors.SERVER_ERROR,{status:t.statusCode,headers:t.headers,body:va(o,t.headers?t.headers["content-type"]:null),requestBody:va(l.body,m["content-type"]),requestMethod:l.method,url:u})),n)try{const e=yield n(o,t);return y.cancel(),e}catch(n){if(n.throttleRetry&&e<r){let t=!0;if(i&&(t=yield i(e,u)),t){const t=s*parseInt(String(Math.random()*Math.pow(2,e)));yield ba(t);continue}}y.cancel(),ga.throwError("processing response error",pn.errors.SERVER_ERROR,{body:va(o,t.headers?t.headers["content-type"]:null),error:n,requestBody:va(l.body,m["content-type"]),requestMethod:l.method,url:u})}return y.cancel(),o}return ga.throwError("failed response",pn.errors.SERVER_ERROR,{requestBody:va(l.body,m["content-type"]),requestMethod:l.method,url:u})})}();return Promise.race([y.promise,g])}(e,r,(e,t)=>{let r=null;if(null!=e)try{r=JSON.parse(xr(e))}catch(t){ga.throwError("invalid JSON",pn.errors.SERVER_ERROR,{body:e,error:t})}return n&&(r=n(r,t)),r})}function Aa(e,t){return t||(t={}),null==(t=Qn(t)).floor&&(t.floor=0),null==t.ceiling&&(t.ceiling=1e4),null==t.interval&&(t.interval=250),new Promise(function(n,r){let i=null,s=!1;const a=()=>!s&&(s=!0,i&&clearTimeout(i),!0);t.timeout&&(i=setTimeout(()=>{a()&&r(new Error("timeout"))},t.timeout));const o=t.retryLimit;let u=0;!function i(){return e().then(function(e){if(void 0!==e)a()&&n(e);else if(t.oncePoll)t.oncePoll.once("poll",i);else if(t.onceBlock)t.onceBlock.once("block",i);else if(!s){if(u++,u>o)return void(a()&&r(new Error("retry limit reached")));let e=t.interval*parseInt(String(Math.random()*Math.pow(2,u)));e<t.floor&&(e=t.floor),e>t.ceiling&&(e=t.ceiling),setTimeout(i,e)}return null},function(e){a()&&r(e)})}()})}for(var Ta="qpzry9x8gf2tvdw0s3jn54khce6mua7l",Ea={},Ia=0;Ia<Ta.length;Ia++){var Sa=Ta.charAt(Ia);if(void 0!==Ea[Sa])throw new TypeError(Sa+" is ambiguous");Ea[Sa]=Ia}function ka(e){var t=e>>25;return(33554431&e)<<5^996825010&-(t>>0&1)^642813549&-(t>>1&1)^513874426&-(t>>2&1)^1027748829&-(t>>3&1)^705979059&-(t>>4&1)}const Ca="providers/5.8.0";function _a(e,t,n){return e(n={path:t,exports:{},require:function(e,t){return function(){throw new Error("Dynamic requires are not currently supported by @rollup/plugin-commonjs")}()}},n.exports),n.exports}var xa=Ma;function Ma(e,t){if(!e)throw new Error(t||"Assertion failed")}Ma.equal=function(e,t,n){if(e!=t)throw new Error(n||"Assertion failed: "+e+" != "+t)};var Na=_a(function(e,t){var n=t;function r(e){return 1===e.length?"0"+e:e}function i(e){for(var t="",n=0;n<e.length;n++)t+=r(e[n].toString(16));return t}n.toArray=function(e,t){if(Array.isArray(e))return e.slice();if(!e)return[];var n=[];if("string"!=typeof e){for(var r=0;r<e.length;r++)n[r]=0|e[r];return n}if("hex"===t)for((e=e.replace(/[^a-z0-9]+/gi,"")).length%2!=0&&(e="0"+e),r=0;r<e.length;r+=2)n.push(parseInt(e[r]+e[r+1],16));else for(r=0;r<e.length;r++){var i=e.charCodeAt(r),s=i>>8,a=255&i;s?n.push(s,a):n.push(a)}return n},n.zero2=r,n.toHex=i,n.encode=function(e,t){return"hex"===t?i(e):e}}),Ra=_a(function(e,t){var n=t;n.assert=xa,n.toArray=Na.toArray,n.zero2=Na.zero2,n.toHex=Na.toHex,n.encode=Na.encode,n.getNAF=function(e,t,n){var r,i=new Array(Math.max(e.bitLength(),n)+1);for(r=0;r<i.length;r+=1)i[r]=0;var s=1<<t+1,a=e.clone();for(r=0;r<i.length;r++){var o,u=a.andln(s-1);a.isOdd()?a.isubn(o=u>(s>>1)-1?(s>>1)-u:u):o=0,i[r]=o,a.iushrn(1)}return i},n.getJSF=function(e,t){var n=[[],[]];e=e.clone(),t=t.clone();for(var r,i=0,s=0;e.cmpn(-i)>0||t.cmpn(-s)>0;){var a,o,u=e.andln(3)+i&3,l=t.andln(3)+s&3;3===u&&(u=-1),3===l&&(l=-1),a=0==(1&u)?0:3!=(r=e.andln(7)+i&7)&&5!==r||2!==l?u:-u,n[0].push(a),o=0==(1&l)?0:3!=(r=t.andln(7)+s&7)&&5!==r||2!==u?l:-l,n[1].push(o),2*i===a+1&&(i=1-i),2*s===o+1&&(s=1-s),e.iushrn(1),t.iushrn(1)}return n},n.cachedProperty=function(e,t,n){var r="_"+t;e.prototype[t]=function(){return void 0!==this[r]?this[r]:this[r]=n.call(this)}},n.parseBytes=function(e){return"string"==typeof e?n.toArray(e,"hex"):e},n.intFromLE=function(e){return new nn(e,"hex","le")}}),Pa=Ra.getNAF,Oa=Ra.getJSF,Ba=Ra.assert;function Da(e,t){this.type=e,this.p=new nn(t.p,16),this.red=t.prime?nn.red(t.prime):nn.mont(this.p),this.zero=new nn(0).toRed(this.red),this.one=new nn(1).toRed(this.red),this.two=new nn(2).toRed(this.red),this.n=t.n&&new nn(t.n,16),this.g=t.g&&this.pointFromJSON(t.g,t.gRed),this._wnafT1=new Array(4),this._wnafT2=new Array(4),this._wnafT3=new Array(4),this._wnafT4=new Array(4),this._bitLength=this.n?this.n.bitLength():0;var n=this.n&&this.p.div(this.n);!n||n.cmpn(100)>0?this.redN=null:(this._maxwellTrick=!0,this.redN=this.n.toRed(this.red))}var Fa=Da;function La(e,t){this.curve=e,this.type=t,this.precomputed=null}Da.prototype.point=function(){throw new Error("Not implemented")},Da.prototype.validate=function(){throw new Error("Not implemented")},Da.prototype._fixedNafMul=function(e,t){Ba(e.precomputed);var n=e._getDoubles(),r=Pa(t,1,this._bitLength),i=(1<<n.step+1)-(n.step%2==0?2:1);i/=3;var s,a,o=[];for(s=0;s<r.length;s+=n.step){a=0;for(var u=s+n.step-1;u>=s;u--)a=(a<<1)+r[u];o.push(a)}for(var l=this.jpoint(null,null,null),c=this.jpoint(null,null,null),d=i;d>0;d--){for(s=0;s<o.length;s++)(a=o[s])===d?c=c.mixedAdd(n.points[s]):a===-d&&(c=c.mixedAdd(n.points[s].neg()));l=l.add(c)}return l.toP()},Da.prototype._wnafMul=function(e,t){for(var n=4,r=e._getNAFPoints(n),i=r.points,s=Pa(t,n=r.wnd,this._bitLength),a=this.jpoint(null,null,null),o=s.length-1;o>=0;o--){for(var u=0;o>=0&&0===s[o];o--)u++;if(o>=0&&u++,a=a.dblp(u),o<0)break;var l=s[o];Ba(0!==l),a="affine"===e.type?a.mixedAdd(l>0?i[l-1>>1]:i[-l-1>>1].neg()):a.add(l>0?i[l-1>>1]:i[-l-1>>1].neg())}return"affine"===e.type?a.toP():a},Da.prototype._wnafMulAdd=function(e,t,n,r,i){var s,a,o,u=this._wnafT1,l=this._wnafT2,c=this._wnafT3,d=0;for(s=0;s<r;s++){var h=(o=t[s])._getNAFPoints(e);u[s]=h.wnd,l[s]=h.points}for(s=r-1;s>=1;s-=2){var p=s-1,f=s;if(1===u[p]&&1===u[f]){var m=[t[p],null,null,t[f]];0===t[p].y.cmp(t[f].y)?(m[1]=t[p].add(t[f]),m[2]=t[p].toJ().mixedAdd(t[f].neg())):0===t[p].y.cmp(t[f].y.redNeg())?(m[1]=t[p].toJ().mixedAdd(t[f]),m[2]=t[p].add(t[f].neg())):(m[1]=t[p].toJ().mixedAdd(t[f]),m[2]=t[p].toJ().mixedAdd(t[f].neg()));var y=[-3,-1,-5,-7,0,7,5,1,3],g=Oa(n[p],n[f]);for(d=Math.max(g[0].length,d),c[p]=new Array(d),c[f]=new Array(d),a=0;a<d;a++)c[p][a]=y[3*(1+(0|g[0][a]))+(1+(0|g[1][a]))],c[f][a]=0,l[p]=m}else c[p]=Pa(n[p],u[p],this._bitLength),c[f]=Pa(n[f],u[f],this._bitLength),d=Math.max(c[p].length,d),d=Math.max(c[f].length,d)}var b=this.jpoint(null,null,null),v=this._wnafT4;for(s=d;s>=0;s--){for(var w=0;s>=0;){var A=!0;for(a=0;a<r;a++)v[a]=0|c[a][s],0!==v[a]&&(A=!1);if(!A)break;w++,s--}if(s>=0&&w++,b=b.dblp(w),s<0)break;for(a=0;a<r;a++){var T=v[a];0!==T&&(T>0?o=l[a][T-1>>1]:T<0&&(o=l[a][-T-1>>1].neg()),b="affine"===o.type?b.mixedAdd(o):b.add(o))}}for(s=0;s<r;s++)l[s]=null;return i?b:b.toP()},Da.BasePoint=La,La.prototype.eq=function(){throw new Error("Not implemented")},La.prototype.validate=function(){return this.curve.validate(this)},Da.prototype.decodePoint=function(e,t){e=Ra.toArray(e,t);var n=this.p.byteLength();if((4===e[0]||6===e[0]||7===e[0])&&e.length-1==2*n)return 6===e[0]?Ba(e[e.length-1]%2==0):7===e[0]&&Ba(e[e.length-1]%2==1),this.point(e.slice(1,1+n),e.slice(1+n,1+2*n));if((2===e[0]||3===e[0])&&e.length-1===n)return this.pointFromX(e.slice(1,1+n),3===e[0]);throw new Error("Unknown point format")},La.prototype.encodeCompressed=function(e){return this.encode(e,!0)},La.prototype._encode=function(e){var t=this.curve.p.byteLength(),n=this.getX().toArray("be",t);return e?[this.getY().isEven()?2:3].concat(n):[4].concat(n,this.getY().toArray("be",t))},La.prototype.encode=function(e,t){return Ra.encode(this._encode(t),e)},La.prototype.precompute=function(e){if(this.precomputed)return this;var t={doubles:null,naf:null,beta:null};return t.naf=this._getNAFPoints(8),t.doubles=this._getDoubles(4,e),t.beta=this._getBeta(),this.precomputed=t,this},La.prototype._hasDoubles=function(e){if(!this.precomputed)return!1;var t=this.precomputed.doubles;return!!t&&t.points.length>=Math.ceil((e.bitLength()+1)/t.step)},La.prototype._getDoubles=function(e,t){if(this.precomputed&&this.precomputed.doubles)return this.precomputed.doubles;for(var n=[this],r=this,i=0;i<t;i+=e){for(var s=0;s<e;s++)r=r.dbl();n.push(r)}return{step:e,points:n}},La.prototype._getNAFPoints=function(e){if(this.precomputed&&this.precomputed.naf)return this.precomputed.naf;for(var t=[this],n=(1<<e)-1,r=1===n?null:this.dbl(),i=1;i<n;i++)t[i]=t[i-1].add(r);return{wnd:e,points:t}},La.prototype._getBeta=function(){return null},La.prototype.dblp=function(e){for(var t=this,n=0;n<e;n++)t=t.dbl();return t};var Ua=_a(function(e){e.exports="function"==typeof Object.create?function(e,t){t&&(e.super_=t,e.prototype=Object.create(t.prototype,{constructor:{value:e,enumerable:!1,writable:!0,configurable:!0}}))}:function(e,t){if(t){e.super_=t;var n=function(){};n.prototype=t.prototype,e.prototype=new n,e.prototype.constructor=e}}}),Ga=Ra.assert;function Ha(e){Fa.call(this,"short",e),this.a=new nn(e.a,16).toRed(this.red),this.b=new nn(e.b,16).toRed(this.red),this.tinv=this.two.redInvm(),this.zeroA=0===this.a.fromRed().cmpn(0),this.threeA=0===this.a.fromRed().sub(this.p).cmpn(-3),this.endo=this._getEndomorphism(e),this._endoWnafT1=new Array(4),this._endoWnafT2=new Array(4)}Ua(Ha,Fa);var qa=Ha;function za(e,t,n,r){Fa.BasePoint.call(this,e,"affine"),null===t&&null===n?(this.x=null,this.y=null,this.inf=!0):(this.x=new nn(t,16),this.y=new nn(n,16),r&&(this.x.forceRed(this.curve.red),this.y.forceRed(this.curve.red)),this.x.red||(this.x=this.x.toRed(this.curve.red)),this.y.red||(this.y=this.y.toRed(this.curve.red)),this.inf=!1)}function Va(e,t,n,r){Fa.BasePoint.call(this,e,"jacobian"),null===t&&null===n&&null===r?(this.x=this.curve.one,this.y=this.curve.one,this.z=new nn(0)):(this.x=new nn(t,16),this.y=new nn(n,16),this.z=new nn(r,16)),this.x.red||(this.x=this.x.toRed(this.curve.red)),this.y.red||(this.y=this.y.toRed(this.curve.red)),this.z.red||(this.z=this.z.toRed(this.curve.red)),this.zOne=this.z===this.curve.one}Ha.prototype._getEndomorphism=function(e){if(this.zeroA&&this.g&&this.n&&1===this.p.modn(3)){var t,n;if(e.beta)t=new nn(e.beta,16).toRed(this.red);else{var r=this._getEndoRoots(this.p);t=(t=r[0].cmp(r[1])<0?r[0]:r[1]).toRed(this.red)}if(e.lambda)n=new nn(e.lambda,16);else{var i=this._getEndoRoots(this.n);0===this.g.mul(i[0]).x.cmp(this.g.x.redMul(t))?n=i[0]:Ga(0===this.g.mul(n=i[1]).x.cmp(this.g.x.redMul(t)))}return{beta:t,lambda:n,basis:e.basis?e.basis.map(function(e){return{a:new nn(e.a,16),b:new nn(e.b,16)}}):this._getEndoBasis(n)}}},Ha.prototype._getEndoRoots=function(e){var t=e===this.p?this.red:nn.mont(e),n=new nn(2).toRed(t).redInvm(),r=n.redNeg(),i=new nn(3).toRed(t).redNeg().redSqrt().redMul(n);return[r.redAdd(i).fromRed(),r.redSub(i).fromRed()]},Ha.prototype._getEndoBasis=function(e){for(var t,n,r,i,s,a,o,u,l,c=this.n.ushrn(Math.floor(this.n.bitLength()/2)),d=e,h=this.n.clone(),p=new nn(1),f=new nn(0),m=new nn(0),y=new nn(1),g=0;0!==d.cmpn(0);){var b=h.div(d);u=h.sub(b.mul(d)),l=m.sub(b.mul(p));var v=y.sub(b.mul(f));if(!r&&u.cmp(c)<0)t=o.neg(),n=p,r=u.neg(),i=l;else if(r&&2==++g)break;o=u,h=d,d=u,m=p,p=l,y=f,f=v}s=u.neg(),a=l;var w=r.sqr().add(i.sqr());return s.sqr().add(a.sqr()).cmp(w)>=0&&(s=t,a=n),r.negative&&(r=r.neg(),i=i.neg()),s.negative&&(s=s.neg(),a=a.neg()),[{a:r,b:i},{a:s,b:a}]},Ha.prototype._endoSplit=function(e){var t=this.endo.basis,n=t[0],r=t[1],i=r.b.mul(e).divRound(this.n),s=n.b.neg().mul(e).divRound(this.n),a=i.mul(n.a),o=s.mul(r.a),u=i.mul(n.b),l=s.mul(r.b);return{k1:e.sub(a).sub(o),k2:u.add(l).neg()}},Ha.prototype.pointFromX=function(e,t){(e=new nn(e,16)).red||(e=e.toRed(this.red));var n=e.redSqr().redMul(e).redIAdd(e.redMul(this.a)).redIAdd(this.b),r=n.redSqrt();if(0!==r.redSqr().redSub(n).cmp(this.zero))throw new Error("invalid point");var i=r.fromRed().isOdd();return(t&&!i||!t&&i)&&(r=r.redNeg()),this.point(e,r)},Ha.prototype.validate=function(e){if(e.inf)return!0;var t=e.x,n=e.y,r=this.a.redMul(t),i=t.redSqr().redMul(t).redIAdd(r).redIAdd(this.b);return 0===n.redSqr().redISub(i).cmpn(0)},Ha.prototype._endoWnafMulAdd=function(e,t,n){for(var r=this._endoWnafT1,i=this._endoWnafT2,s=0;s<e.length;s++){var a=this._endoSplit(t[s]),o=e[s],u=o._getBeta();a.k1.negative&&(a.k1.ineg(),o=o.neg(!0)),a.k2.negative&&(a.k2.ineg(),u=u.neg(!0)),r[2*s]=o,r[2*s+1]=u,i[2*s]=a.k1,i[2*s+1]=a.k2}for(var l=this._wnafMulAdd(1,r,i,2*s,n),c=0;c<2*s;c++)r[c]=null,i[c]=null;return l},Ua(za,Fa.BasePoint),Ha.prototype.point=function(e,t,n){return new za(this,e,t,n)},Ha.prototype.pointFromJSON=function(e,t){return za.fromJSON(this,e,t)},za.prototype._getBeta=function(){if(this.curve.endo){var e=this.precomputed;if(e&&e.beta)return e.beta;var t=this.curve.point(this.x.redMul(this.curve.endo.beta),this.y);if(e){var n=this.curve,r=function(e){return n.point(e.x.redMul(n.endo.beta),e.y)};e.beta=t,t.precomputed={beta:null,naf:e.naf&&{wnd:e.naf.wnd,points:e.naf.points.map(r)},doubles:e.doubles&&{step:e.doubles.step,points:e.doubles.points.map(r)}}}return t}},za.prototype.toJSON=function(){return this.precomputed?[this.x,this.y,this.precomputed&&{doubles:this.precomputed.doubles&&{step:this.precomputed.doubles.step,points:this.precomputed.doubles.points.slice(1)},naf:this.precomputed.naf&&{wnd:this.precomputed.naf.wnd,points:this.precomputed.naf.points.slice(1)}}]:[this.x,this.y]},za.fromJSON=function(e,t,n){"string"==typeof t&&(t=JSON.parse(t));var r=e.point(t[0],t[1],n);if(!t[2])return r;function i(t){return e.point(t[0],t[1],n)}var s=t[2];return r.precomputed={beta:null,doubles:s.doubles&&{step:s.doubles.step,points:[r].concat(s.doubles.points.map(i))},naf:s.naf&&{wnd:s.naf.wnd,points:[r].concat(s.naf.points.map(i))}},r},za.prototype.inspect=function(){return this.isInfinity()?"<EC Point Infinity>":"<EC Point x: "+this.x.fromRed().toString(16,2)+" y: "+this.y.fromRed().toString(16,2)+">"},za.prototype.isInfinity=function(){return this.inf},za.prototype.add=function(e){if(this.inf)return e;if(e.inf)return this;if(this.eq(e))return this.dbl();if(this.neg().eq(e))return this.curve.point(null,null);if(0===this.x.cmp(e.x))return this.curve.point(null,null);var t=this.y.redSub(e.y);0!==t.cmpn(0)&&(t=t.redMul(this.x.redSub(e.x).redInvm()));var n=t.redSqr().redISub(this.x).redISub(e.x),r=t.redMul(this.x.redSub(n)).redISub(this.y);return this.curve.point(n,r)},za.prototype.dbl=function(){if(this.inf)return this;var e=this.y.redAdd(this.y);if(0===e.cmpn(0))return this.curve.point(null,null);var t=this.curve.a,n=this.x.redSqr(),r=e.redInvm(),i=n.redAdd(n).redIAdd(n).redIAdd(t).redMul(r),s=i.redSqr().redISub(this.x.redAdd(this.x)),a=i.redMul(this.x.redSub(s)).redISub(this.y);return this.curve.point(s,a)},za.prototype.getX=function(){return this.x.fromRed()},za.prototype.getY=function(){return this.y.fromRed()},za.prototype.mul=function(e){return e=new nn(e,16),this.isInfinity()?this:this._hasDoubles(e)?this.curve._fixedNafMul(this,e):this.curve.endo?this.curve._endoWnafMulAdd([this],[e]):this.curve._wnafMul(this,e)},za.prototype.mulAdd=function(e,t,n){var r=[this,t],i=[e,n];return this.curve.endo?this.curve._endoWnafMulAdd(r,i):this.curve._wnafMulAdd(1,r,i,2)},za.prototype.jmulAdd=function(e,t,n){var r=[this,t],i=[e,n];return this.curve.endo?this.curve._endoWnafMulAdd(r,i,!0):this.curve._wnafMulAdd(1,r,i,2,!0)},za.prototype.eq=function(e){return this===e||this.inf===e.inf&&(this.inf||0===this.x.cmp(e.x)&&0===this.y.cmp(e.y))},za.prototype.neg=function(e){if(this.inf)return this;var t=this.curve.point(this.x,this.y.redNeg());if(e&&this.precomputed){var n=this.precomputed,r=function(e){return e.neg()};t.precomputed={naf:n.naf&&{wnd:n.naf.wnd,points:n.naf.points.map(r)},doubles:n.doubles&&{step:n.doubles.step,points:n.doubles.points.map(r)}}}return t},za.prototype.toJ=function(){return this.inf?this.curve.jpoint(null,null,null):this.curve.jpoint(this.x,this.y,this.curve.one)},Ua(Va,Fa.BasePoint),Ha.prototype.jpoint=function(e,t,n){return new Va(this,e,t,n)},Va.prototype.toP=function(){if(this.isInfinity())return this.curve.point(null,null);var e=this.z.redInvm(),t=e.redSqr(),n=this.x.redMul(t),r=this.y.redMul(t).redMul(e);return this.curve.point(n,r)},Va.prototype.neg=function(){return this.curve.jpoint(this.x,this.y.redNeg(),this.z)},Va.prototype.add=function(e){if(this.isInfinity())return e;if(e.isInfinity())return this;var t=e.z.redSqr(),n=this.z.redSqr(),r=this.x.redMul(t),i=e.x.redMul(n),s=this.y.redMul(t.redMul(e.z)),a=e.y.redMul(n.redMul(this.z)),o=r.redSub(i),u=s.redSub(a);if(0===o.cmpn(0))return 0!==u.cmpn(0)?this.curve.jpoint(null,null,null):this.dbl();var l=o.redSqr(),c=l.redMul(o),d=r.redMul(l),h=u.redSqr().redIAdd(c).redISub(d).redISub(d),p=u.redMul(d.redISub(h)).redISub(s.redMul(c)),f=this.z.redMul(e.z).redMul(o);return this.curve.jpoint(h,p,f)},Va.prototype.mixedAdd=function(e){if(this.isInfinity())return e.toJ();if(e.isInfinity())return this;var t=this.z.redSqr(),n=this.x,r=e.x.redMul(t),i=this.y,s=e.y.redMul(t).redMul(this.z),a=n.redSub(r),o=i.redSub(s);if(0===a.cmpn(0))return 0!==o.cmpn(0)?this.curve.jpoint(null,null,null):this.dbl();var u=a.redSqr(),l=u.redMul(a),c=n.redMul(u),d=o.redSqr().redIAdd(l).redISub(c).redISub(c),h=o.redMul(c.redISub(d)).redISub(i.redMul(l)),p=this.z.redMul(a);return this.curve.jpoint(d,h,p)},Va.prototype.dblp=function(e){if(0===e)return this;if(this.isInfinity())return this;if(!e)return this.dbl();var t;if(this.curve.zeroA||this.curve.threeA){var n=this;for(t=0;t<e;t++)n=n.dbl();return n}var r=this.curve.a,i=this.curve.tinv,s=this.x,a=this.y,o=this.z,u=o.redSqr().redSqr(),l=a.redAdd(a);for(t=0;t<e;t++){var c=s.redSqr(),d=l.redSqr(),h=d.redSqr(),p=c.redAdd(c).redIAdd(c).redIAdd(r.redMul(u)),f=s.redMul(d),m=p.redSqr().redISub(f.redAdd(f)),y=f.redISub(m),g=p.redMul(y);g=g.redIAdd(g).redISub(h);var b=l.redMul(o);t+1<e&&(u=u.redMul(h)),s=m,o=b,l=g}return this.curve.jpoint(s,l.redMul(i),o)},Va.prototype.dbl=function(){return this.isInfinity()?this:this.curve.zeroA?this._zeroDbl():this.curve.threeA?this._threeDbl():this._dbl()},Va.prototype._zeroDbl=function(){var e,t,n;if(this.zOne){var r=this.x.redSqr(),i=this.y.redSqr(),s=i.redSqr(),a=this.x.redAdd(i).redSqr().redISub(r).redISub(s);a=a.redIAdd(a);var o=r.redAdd(r).redIAdd(r),u=o.redSqr().redISub(a).redISub(a),l=s.redIAdd(s);l=(l=l.redIAdd(l)).redIAdd(l),e=u,t=o.redMul(a.redISub(u)).redISub(l),n=this.y.redAdd(this.y)}else{var c=this.x.redSqr(),d=this.y.redSqr(),h=d.redSqr(),p=this.x.redAdd(d).redSqr().redISub(c).redISub(h);p=p.redIAdd(p);var f=c.redAdd(c).redIAdd(c),m=f.redSqr(),y=h.redIAdd(h);y=(y=y.redIAdd(y)).redIAdd(y),e=m.redISub(p).redISub(p),t=f.redMul(p.redISub(e)).redISub(y),n=(n=this.y.redMul(this.z)).redIAdd(n)}return this.curve.jpoint(e,t,n)},Va.prototype._threeDbl=function(){var e,t,n;if(this.zOne){var r=this.x.redSqr(),i=this.y.redSqr(),s=i.redSqr(),a=this.x.redAdd(i).redSqr().redISub(r).redISub(s);a=a.redIAdd(a);var o=r.redAdd(r).redIAdd(r).redIAdd(this.curve.a),u=o.redSqr().redISub(a).redISub(a);e=u;var l=s.redIAdd(s);l=(l=l.redIAdd(l)).redIAdd(l),t=o.redMul(a.redISub(u)).redISub(l),n=this.y.redAdd(this.y)}else{var c=this.z.redSqr(),d=this.y.redSqr(),h=this.x.redMul(d),p=this.x.redSub(c).redMul(this.x.redAdd(c));p=p.redAdd(p).redIAdd(p);var f=h.redIAdd(h),m=(f=f.redIAdd(f)).redAdd(f);e=p.redSqr().redISub(m),n=this.y.redAdd(this.z).redSqr().redISub(d).redISub(c);var y=d.redSqr();y=(y=(y=y.redIAdd(y)).redIAdd(y)).redIAdd(y),t=p.redMul(f.redISub(e)).redISub(y)}return this.curve.jpoint(e,t,n)},Va.prototype._dbl=function(){var e=this.curve.a,t=this.x,n=this.y,r=this.z,i=r.redSqr().redSqr(),s=t.redSqr(),a=n.redSqr(),o=s.redAdd(s).redIAdd(s).redIAdd(e.redMul(i)),u=t.redAdd(t),l=(u=u.redIAdd(u)).redMul(a),c=o.redSqr().redISub(l.redAdd(l)),d=l.redISub(c),h=a.redSqr();h=(h=(h=h.redIAdd(h)).redIAdd(h)).redIAdd(h);var p=o.redMul(d).redISub(h),f=n.redAdd(n).redMul(r);return this.curve.jpoint(c,p,f)},Va.prototype.trpl=function(){if(!this.curve.zeroA)return this.dbl().add(this);var e=this.x.redSqr(),t=this.y.redSqr(),n=this.z.redSqr(),r=t.redSqr(),i=e.redAdd(e).redIAdd(e),s=i.redSqr(),a=this.x.redAdd(t).redSqr().redISub(e).redISub(r),o=(a=(a=(a=a.redIAdd(a)).redAdd(a).redIAdd(a)).redISub(s)).redSqr(),u=r.redIAdd(r);u=(u=(u=u.redIAdd(u)).redIAdd(u)).redIAdd(u);var l=i.redIAdd(a).redSqr().redISub(s).redISub(o).redISub(u),c=t.redMul(l);c=(c=c.redIAdd(c)).redIAdd(c);var d=this.x.redMul(o).redISub(c);d=(d=d.redIAdd(d)).redIAdd(d);var h=this.y.redMul(l.redMul(u.redISub(l)).redISub(a.redMul(o)));h=(h=(h=h.redIAdd(h)).redIAdd(h)).redIAdd(h);var p=this.z.redAdd(a).redSqr().redISub(n).redISub(o);return this.curve.jpoint(d,h,p)},Va.prototype.mul=function(e,t){return e=new nn(e,t),this.curve._wnafMul(this,e)},Va.prototype.eq=function(e){if("affine"===e.type)return this.eq(e.toJ());if(this===e)return!0;var t=this.z.redSqr(),n=e.z.redSqr();if(0!==this.x.redMul(n).redISub(e.x.redMul(t)).cmpn(0))return!1;var r=t.redMul(this.z),i=n.redMul(e.z);return 0===this.y.redMul(i).redISub(e.y.redMul(r)).cmpn(0)},Va.prototype.eqXToP=function(e){var t=this.z.redSqr(),n=e.toRed(this.curve.red).redMul(t);if(0===this.x.cmp(n))return!0;for(var r=e.clone(),i=this.curve.redN.redMul(t);;){if(r.iadd(this.curve.n),r.cmp(this.curve.p)>=0)return!1;if(n.redIAdd(i),0===this.x.cmp(n))return!0}},Va.prototype.inspect=function(){return this.isInfinity()?"<EC JPoint Infinity>":"<EC JPoint x: "+this.x.toString(16,2)+" y: "+this.y.toString(16,2)+" z: "+this.z.toString(16,2)+">"},Va.prototype.isInfinity=function(){return 0===this.z.cmpn(0)};var Ka=_a(function(e,t){var n=t;n.base=Fa,n.short=qa,n.mont=null,n.edwards=null}),ja=_a(function(e,t){var n,r=t,i=Ra.assert;function s(e){this.curve="short"===e.type?new Ka.short(e):"edwards"===e.type?new Ka.edwards(e):new Ka.mont(e),this.g=this.curve.g,this.n=this.curve.n,this.hash=e.hash,i(this.g.validate(),"Invalid curve"),i(this.g.mul(this.n).isInfinity(),"Invalid curve, G*N != O")}function a(e,t){Object.defineProperty(r,e,{configurable:!0,enumerable:!0,get:function(){var n=new s(t);return Object.defineProperty(r,e,{configurable:!0,enumerable:!0,value:n}),n}})}r.PresetCurve=s,a("p192",{type:"short",prime:"p192",p:"ffffffff ffffffff ffffffff fffffffe ffffffff ffffffff",a:"ffffffff ffffffff ffffffff fffffffe ffffffff fffffffc",b:"64210519 e59c80e7 0fa7e9ab 72243049 feb8deec c146b9b1",n:"ffffffff ffffffff ffffffff 99def836 146bc9b1 b4d22831",hash:ca.sha256,gRed:!1,g:["188da80e b03090f6 7cbf20eb 43a18800 f4ff0afd 82ff1012","07192b95 ffc8da78 631011ed 6b24cdd5 73f977a1 1e794811"]}),a("p224",{type:"short",prime:"p224",p:"ffffffff ffffffff ffffffff ffffffff 00000000 00000000 00000001",a:"ffffffff ffffffff ffffffff fffffffe ffffffff ffffffff fffffffe",b:"b4050a85 0c04b3ab f5413256 5044b0b7 d7bfd8ba 270b3943 2355ffb4",n:"ffffffff ffffffff ffffffff ffff16a2 e0b8f03e 13dd2945 5c5c2a3d",hash:ca.sha256,gRed:!1,g:["b70e0cbd 6bb4bf7f 321390b9 4a03c1d3 56c21122 343280d6 115c1d21","bd376388 b5f723fb 4c22dfe6 cd4375a0 5a074764 44d58199 85007e34"]}),a("p256",{type:"short",prime:null,p:"ffffffff 00000001 00000000 00000000 00000000 ffffffff ffffffff ffffffff",a:"ffffffff 00000001 00000000 00000000 00000000 ffffffff ffffffff fffffffc",b:"5ac635d8 aa3a93e7 b3ebbd55 769886bc 651d06b0 cc53b0f6 3bce3c3e 27d2604b",n:"ffffffff 00000000 ffffffff ffffffff bce6faad a7179e84 f3b9cac2 fc632551",hash:ca.sha256,gRed:!1,g:["6b17d1f2 e12c4247 f8bce6e5 63a440f2 77037d81 2deb33a0 f4a13945 d898c296","4fe342e2 fe1a7f9b 8ee7eb4a 7c0f9e16 2bce3357 6b315ece cbb64068 37bf51f5"]}),a("p384",{type:"short",prime:null,p:"ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff fffffffe ffffffff 00000000 00000000 ffffffff",a:"ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff fffffffe ffffffff 00000000 00000000 fffffffc",b:"b3312fa7 e23ee7e4 988e056b e3f82d19 181d9c6e fe814112 0314088f 5013875a c656398d 8a2ed19d 2a85c8ed d3ec2aef",n:"ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff c7634d81 f4372ddf 581a0db2 48b0a77a ecec196a ccc52973",hash:ca.sha384,gRed:!1,g:["aa87ca22 be8b0537 8eb1c71e f320ad74 6e1d3b62 8ba79b98 59f741e0 82542a38 5502f25d bf55296c 3a545e38 72760ab7","3617de4a 96262c6f 5d9e98bf 9292dc29 f8f41dbd 289a147c e9da3113 b5f0b8c0 0a60b1ce 1d7e819d 7a431d7c 90ea0e5f"]}),a("p521",{type:"short",prime:null,p:"000001ff ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff",a:"000001ff ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff fffffffc",b:"00000051 953eb961 8e1c9a1f 929a21a0 b68540ee a2da725b 99b315f3 b8b48991 8ef109e1 56193951 ec7e937b 1652c0bd 3bb1bf07 3573df88 3d2c34f1 ef451fd4 6b503f00",n:"000001ff ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff fffffffa 51868783 bf2f966b 7fcc0148 f709a5d0 3bb5c9b8 899c47ae bb6fb71e 91386409",hash:ca.sha512,gRed:!1,g:["000000c6 858e06b7 0404e9cd 9e3ecb66 2395b442 9c648139 053fb521 f828af60 6b4d3dba a14b5e77 efe75928 fe1dc127 a2ffa8de 3348b3c1 856a429b f97e7e31 c2e5bd66","00000118 39296a78 9a3bc004 5c8a5fb4 2c7d1bd9 98f54449 579b4468 17afbd17 273e662c 97ee7299 5ef42640 c550b901 3fad0761 353c7086 a272c240 88be9476 9fd16650"]}),a("curve25519",{type:"mont",prime:"p25519",p:"7fffffffffffffff ffffffffffffffff ffffffffffffffff ffffffffffffffed",a:"76d06",b:"1",n:"1000000000000000 0000000000000000 14def9dea2f79cd6 5812631a5cf5d3ed",hash:ca.sha256,gRed:!1,g:["9"]}),a("ed25519",{type:"edwards",prime:"p25519",p:"7fffffffffffffff ffffffffffffffff ffffffffffffffff ffffffffffffffed",a:"-1",c:"1",d:"52036cee2b6ffe73 8cc740797779e898 00700a4d4141d8ab 75eb4dca135978a3",n:"1000000000000000 0000000000000000 14def9dea2f79cd6 5812631a5cf5d3ed",hash:ca.sha256,gRed:!1,g:["216936d3cd6e53fec0a4e231fdd6dc5c692cc7609525a7b2c9562d608f25d51a","6666666666666666666666666666666666666666666666666666666666666658"]});try{n=null.crash()}catch(e){n=void 0}a("secp256k1",{type:"short",prime:"k256",p:"ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff fffffffe fffffc2f",a:"0",b:"7",n:"ffffffff ffffffff ffffffff fffffffe baaedce6 af48a03b bfd25e8c d0364141",h:"1",hash:ca.sha256,beta:"7ae96a2b657c07106e64479eac3434e99cf0497512f58995c1396c28719501ee",lambda:"5363ad4cc05c30e0a5261c028812645a122e22ea20816678df02967c1b23bd72",basis:[{a:"3086d221a7d46bcde86c90e49284eb15",b:"-e4437ed6010e88286f547fa90abfe4c3"},{a:"114ca50f7a8e2f3f657c1108d9d44cfd8",b:"3086d221a7d46bcde86c90e49284eb15"}],gRed:!1,g:["79be667ef9dcbbac55a06295ce870b07029bfcdb2dce28d959f2815b16f81798","483ada7726a3c4655da4fbfc0e1108a8fd17b448a68554199c47d08ffb10d4b8",n]})});function Wa(e){if(!(this instanceof Wa))return new Wa(e);this.hash=e.hash,this.predResist=!!e.predResist,this.outLen=this.hash.outSize,this.minEntropy=e.minEntropy||this.hash.hmacStrength,this._reseed=null,this.reseedInterval=null,this.K=null,this.V=null;var t=Na.toArray(e.entropy,e.entropyEnc||"hex"),n=Na.toArray(e.nonce,e.nonceEnc||"hex"),r=Na.toArray(e.pers,e.persEnc||"hex");xa(t.length>=this.minEntropy/8,"Not enough entropy. Minimum is: "+this.minEntropy+" bits"),this._init(t,n,r)}var Ja=Wa;Wa.prototype._init=function(e,t,n){var r=e.concat(t).concat(n);this.K=new Array(this.outLen/8),this.V=new Array(this.outLen/8);for(var i=0;i<this.V.length;i++)this.K[i]=0,this.V[i]=1;this._update(r),this._reseed=1,this.reseedInterval=281474976710656},Wa.prototype._hmac=function(){return new ca.hmac(this.hash,this.K)},Wa.prototype._update=function(e){var t=this._hmac().update(this.V).update([0]);e&&(t=t.update(e)),this.K=t.digest(),this.V=this._hmac().update(this.V).digest(),e&&(this.K=this._hmac().update(this.V).update([1]).update(e).digest(),this.V=this._hmac().update(this.V).digest())},Wa.prototype.reseed=function(e,t,n,r){"string"!=typeof t&&(r=n,n=t,t=null),e=Na.toArray(e,t),n=Na.toArray(n,r),xa(e.length>=this.minEntropy/8,"Not enough entropy. Minimum is: "+this.minEntropy+" bits"),this._update(e.concat(n||[])),this._reseed=1},Wa.prototype.generate=function(e,t,n,r){if(this._reseed>this.reseedInterval)throw new Error("Reseed is required");"string"!=typeof t&&(r=n,n=t,t=null),n&&(n=Na.toArray(n,r||"hex"),this._update(n));for(var i=[];i.length<e;)this.V=this._hmac().update(this.V).digest(),i=i.concat(this.V);var s=i.slice(0,e);return this._update(n),this._reseed++,Na.encode(s,t)};var Qa=Ra.assert;function Ya(e,t){this.ec=e,this.priv=null,this.pub=null,t.priv&&this._importPrivate(t.priv,t.privEnc),t.pub&&this._importPublic(t.pub,t.pubEnc)}var Xa=Ya;Ya.fromPublic=function(e,t,n){return t instanceof Ya?t:new Ya(e,{pub:t,pubEnc:n})},Ya.fromPrivate=function(e,t,n){return t instanceof Ya?t:new Ya(e,{priv:t,privEnc:n})},Ya.prototype.validate=function(){var e=this.getPublic();return e.isInfinity()?{result:!1,reason:"Invalid public key"}:e.validate()?e.mul(this.ec.curve.n).isInfinity()?{result:!0,reason:null}:{result:!1,reason:"Public key * N != O"}:{result:!1,reason:"Public key is not a point"}},Ya.prototype.getPublic=function(e,t){return"string"==typeof e&&(t=e,e=null),this.pub||(this.pub=this.ec.g.mul(this.priv)),t?this.pub.encode(t,e):this.pub},Ya.prototype.getPrivate=function(e){return"hex"===e?this.priv.toString(16,2):this.priv},Ya.prototype._importPrivate=function(e,t){this.priv=new nn(e,t||16),this.priv=this.priv.umod(this.ec.curve.n)},Ya.prototype._importPublic=function(e,t){if(e.x||e.y)return"mont"===this.ec.curve.type?Qa(e.x,"Need x coordinate"):"short"!==this.ec.curve.type&&"edwards"!==this.ec.curve.type||Qa(e.x&&e.y,"Need both x and y coordinate"),void(this.pub=this.ec.curve.point(e.x,e.y));this.pub=this.ec.curve.decodePoint(e,t)},Ya.prototype.derive=function(e){return e.validate()||Qa(e.validate(),"public point not validated"),e.mul(this.priv).getX()},Ya.prototype.sign=function(e,t,n){return this.ec.sign(e,this,t,n)},Ya.prototype.verify=function(e,t,n){return this.ec.verify(e,t,this,void 0,n)},Ya.prototype.inspect=function(){return"<Key priv: "+(this.priv&&this.priv.toString(16,2))+" pub: "+(this.pub&&this.pub.inspect())+" >"};var Za=Ra.assert;function $a(e,t){if(e instanceof $a)return e;this._importDER(e,t)||(Za(e.r&&e.s,"Signature without r or s"),this.r=new nn(e.r,16),this.s=new nn(e.s,16),this.recoveryParam=void 0===e.recoveryParam?null:e.recoveryParam)}var eo=$a;function to(){this.place=0}function no(e,t){var n=e[t.place++];if(!(128&n))return n;var r=15&n;if(0===r||r>4)return!1;if(0===e[t.place])return!1;for(var i=0,s=0,a=t.place;s<r;s++,a++)i<<=8,i|=e[a],i>>>=0;return!(i<=127)&&(t.place=a,i)}function ro(e){for(var t=0,n=e.length-1;!e[t]&&!(128&e[t+1])&&t<n;)t++;return 0===t?e:e.slice(t)}function io(e,t){if(t<128)e.push(t);else{var n=1+(Math.log(t)/Math.LN2>>>3);for(e.push(128|n);--n;)e.push(t>>>(n<<3)&255);e.push(t)}}$a.prototype._importDER=function(e,t){e=Ra.toArray(e,t);var n=new to;if(48!==e[n.place++])return!1;var r=no(e,n);if(!1===r)return!1;if(r+n.place!==e.length)return!1;if(2!==e[n.place++])return!1;var i=no(e,n);if(!1===i)return!1;if(0!=(128&e[n.place]))return!1;var s=e.slice(n.place,i+n.place);if(n.place+=i,2!==e[n.place++])return!1;var a=no(e,n);if(!1===a)return!1;if(e.length!==a+n.place)return!1;if(0!=(128&e[n.place]))return!1;var o=e.slice(n.place,a+n.place);if(0===s[0]){if(!(128&s[1]))return!1;s=s.slice(1)}if(0===o[0]){if(!(128&o[1]))return!1;o=o.slice(1)}return this.r=new nn(s),this.s=new nn(o),this.recoveryParam=null,!0},$a.prototype.toDER=function(e){var t=this.r.toArray(),n=this.s.toArray();for(128&t[0]&&(t=[0].concat(t)),128&n[0]&&(n=[0].concat(n)),t=ro(t),n=ro(n);!(n[0]||128&n[1]);)n=n.slice(1);var r=[2];io(r,t.length),(r=r.concat(t)).push(2),io(r,n.length);var i=r.concat(n),s=[48];return io(s,i.length),s=s.concat(i),Ra.encode(s,e)};var so=function(){throw new Error("unsupported")},ao=Ra.assert;function oo(e){if(!(this instanceof oo))return new oo(e);"string"==typeof e&&(ao(Object.prototype.hasOwnProperty.call(ja,e),"Unknown curve "+e),e=ja[e]),e instanceof ja.PresetCurve&&(e={curve:e}),this.curve=e.curve.curve,this.n=this.curve.n,this.nh=this.n.ushrn(1),this.g=this.curve.g,this.g=e.curve.g,this.g.precompute(e.curve.n.bitLength()+1),this.hash=e.hash||e.curve.hash}var uo=oo;oo.prototype.keyPair=function(e){return new Xa(this,e)},oo.prototype.keyFromPrivate=function(e,t){return Xa.fromPrivate(this,e,t)},oo.prototype.keyFromPublic=function(e,t){return Xa.fromPublic(this,e,t)},oo.prototype.genKeyPair=function(e){e||(e={});for(var t=new Ja({hash:this.hash,pers:e.pers,persEnc:e.persEnc||"utf8",entropy:e.entropy||so(),entropyEnc:e.entropy&&e.entropyEnc||"utf8",nonce:this.n.toArray()}),n=this.n.byteLength(),r=this.n.sub(new nn(2));;){var i=new nn(t.generate(n));if(!(i.cmp(r)>0))return i.iaddn(1),this.keyFromPrivate(i)}},oo.prototype._truncateToN=function(e,t,n){var r;if(nn.isBN(e)||"number"==typeof e)r=(e=new nn(e,16)).byteLength();else if("object"==typeof e)r=e.length,e=new nn(e,16);else{var i=e.toString();r=i.length+1>>>1,e=new nn(i,16)}"number"!=typeof n&&(n=8*r);var s=n-this.n.bitLength();return s>0&&(e=e.ushrn(s)),!t&&e.cmp(this.n)>=0?e.sub(this.n):e},oo.prototype.sign=function(e,t,n,r){if("object"==typeof n&&(r=n,n=null),r||(r={}),"string"!=typeof e&&"number"!=typeof e&&!nn.isBN(e)){ao("object"==typeof e&&e&&"number"==typeof e.length,"Expected message to be an array-like, a hex string, or a BN instance"),ao(e.length>>>0===e.length);for(var i=0;i<e.length;i++)ao((255&e[i])===e[i])}t=this.keyFromPrivate(t,n),e=this._truncateToN(e,!1,r.msgBitLength),ao(!e.isNeg(),"Can not sign a negative message");var s=this.n.byteLength(),a=t.getPrivate().toArray("be",s),o=e.toArray("be",s);ao(new nn(o).eq(e),"Can not sign message");for(var u=new Ja({hash:this.hash,entropy:a,nonce:o,pers:r.pers,persEnc:r.persEnc||"utf8"}),l=this.n.sub(new nn(1)),c=0;;c++){var d=r.k?r.k(c):new nn(u.generate(this.n.byteLength()));if(!((d=this._truncateToN(d,!0)).cmpn(1)<=0||d.cmp(l)>=0)){var h=this.g.mul(d);if(!h.isInfinity()){var p=h.getX(),f=p.umod(this.n);if(0!==f.cmpn(0)){var m=d.invm(this.n).mul(f.mul(t.getPrivate()).iadd(e));if(0!==(m=m.umod(this.n)).cmpn(0)){var y=(h.getY().isOdd()?1:0)|(0!==p.cmp(f)?2:0);return r.canonical&&m.cmp(this.nh)>0&&(m=this.n.sub(m),y^=1),new eo({r:f,s:m,recoveryParam:y})}}}}}},oo.prototype.verify=function(e,t,n,r,i){i||(i={}),e=this._truncateToN(e,!1,i.msgBitLength),n=this.keyFromPublic(n,r);var s=(t=new eo(t,"hex")).r,a=t.s;if(s.cmpn(1)<0||s.cmp(this.n)>=0)return!1;if(a.cmpn(1)<0||a.cmp(this.n)>=0)return!1;var o,u=a.invm(this.n),l=u.mul(e).umod(this.n),c=u.mul(s).umod(this.n);return this.curve._maxwellTrick?!(o=this.g.jmulAdd(l,n.getPublic(),c)).isInfinity()&&o.eqXToP(s):!(o=this.g.mulAdd(l,n.getPublic(),c)).isInfinity()&&0===o.getX().umod(this.n).cmp(s)},oo.prototype.recoverPubKey=function(e,t,n,r){ao((3&n)===n,"The recovery param is more than two bits"),t=new eo(t,r);var i=this.n,s=new nn(e),a=t.r,o=t.s,u=1&n,l=n>>1;if(a.cmp(this.curve.p.umod(this.curve.n))>=0&&l)throw new Error("Unable to find sencond key candinate");a=this.curve.pointFromX(l?a.add(this.curve.n):a,u);var c=t.r.invm(i),d=i.sub(s).mul(c).umod(i),h=o.mul(c).umod(i);return this.g.mulAdd(d,a,h)},oo.prototype.getKeyRecoveryParam=function(e,t,n,r){if(null!==(t=new eo(t,r)).recoveryParam)return t.recoveryParam;for(var i=0;i<4;i++){var s;try{s=this.recoverPubKey(e,t,i)}catch(e){continue}if(s.eq(n))return i}throw new Error("Unable to find valid recovery factor")};var lo=_a(function(e,t){var n=t;n.version="6.6.1",n.utils=Ra,n.rand=function(){throw new Error("unsupported")},n.curve=Ka,n.curves=ja,n.ec=uo,n.eddsa=null}).ec;const co=new pn("signing-key/5.8.0");let ho=null;function po(){return ho||(ho=new lo("secp256k1")),ho}class fo{constructor(e){Kn(this,"curve","secp256k1"),Kn(this,"privateKey",Sn(e)),32!==kn(this.privateKey)&&co.throwArgumentError("invalid private key","privateKey","[[ REDACTED ]]");const t=po().keyFromPrivate(wn(this.privateKey));Kn(this,"publicKey","0x"+t.getPublic(!1,"hex")),Kn(this,"compressedPublicKey","0x"+t.getPublic(!0,"hex")),Kn(this,"_isSigningKey",!0)}_addPoint(e){const t=po().keyFromPublic(wn(this.publicKey)),n=po().keyFromPublic(wn(e));return"0x"+t.pub.add(n.pub).encodeCompressed("hex")}signDigest(e){const t=po().keyFromPrivate(wn(this.privateKey)),n=wn(e);32!==n.length&&co.throwArgumentError("bad digest length","digest",e);const r=t.sign(n,{canonical:!0});return Nn({recoveryParam:r.recoveryParam,r:Mn("0x"+r.r.toString(16),32),s:Mn("0x"+r.s.toString(16),32)})}computeSharedSecret(e){const t=po().keyFromPrivate(wn(this.privateKey)),n=po().keyFromPublic(wn(mo(e)));return Mn("0x"+t.derive(n.getPublic()).toString(16),32)}static isSigningKey(e){return!(!e||!e._isSigningKey)}}function mo(e,t){const n=wn(e);if(32===n.length){const e=new fo(n);return t?"0x"+po().keyFromPrivate(n).getPublic(!0,"hex"):e.publicKey}return 33===n.length?t?Sn(n):"0x"+po().keyFromPublic(n).getPublic(!1,"hex"):65===n.length?t?"0x"+po().keyFromPublic(n).getPublic(!0,"hex"):Sn(n):co.throwArgumentError("invalid public or private key","key","[REDACTED]")}const yo=new pn("transactions/5.8.0");var go;function bo(e){return"0x"===e?null:fi(e)}function vo(e){return"0x"===e?yr:Ln.from(e)}!function(e){e[e.legacy=0]="legacy",e[e.eip2930=1]="eip2930",e[e.eip1559=2]="eip1559"}(go||(go={}));const wo=[{name:"nonce",maxLength:32,numeric:!0},{name:"gasPrice",maxLength:32,numeric:!0},{name:"gasLimit",maxLength:32,numeric:!0},{name:"to",length:20},{name:"value",maxLength:32,numeric:!0},{name:"data"}],Ao={chainId:!0,data:!0,gasLimit:!0,gasPrice:!0,nonce:!0,to:!0,type:!0,value:!0};function To(e){return fi(Cn(Ar(Cn(mo(e),1)),12))}function Eo(e,t){return To(function(e,t){const n=Nn(t),r={r:wn(n.r),s:wn(n.s)};return"0x"+po().recoverPubKey(wn(e),r,n.recoveryParam).encode("hex",!1)}(wn(e),t))}function Io(e,t){const n=Tn(Ln.from(e).toHexString());return n.length>32&&yo.throwArgumentError("invalid length for "+t,"transaction:"+t,e),n}function So(e,t){return{address:fi(e),storageKeys:(t||[]).map((t,n)=>(32!==kn(t)&&yo.throwArgumentError("invalid access list storageKey",`accessList[${e}:${n}]`,t),t.toLowerCase()))}}function ko(e){if(Array.isArray(e))return e.map((e,t)=>Array.isArray(e)?(e.length>2&&yo.throwArgumentError("access list expected to be [ address, storageKeys[] ]",`value[${t}]`,e),So(e[0],e[1])):So(e.address,e.storageKeys));const t=Object.keys(e).map(t=>{const n=e[t].reduce((e,t)=>(e[t]=!0,e),{});return So(t,Object.keys(n).sort())});return t.sort((e,t)=>e.address.localeCompare(t.address)),t}function Co(e){return ko(e).map(e=>[e.address,e.storageKeys])}function _o(e,t){if(null!=e.gasPrice){const t=Ln.from(e.gasPrice),n=Ln.from(e.maxFeePerGas||0);t.eq(n)||yo.throwArgumentError("mismatch EIP-1559 gasPrice != maxFeePerGas","tx",{gasPrice:t,maxFeePerGas:n})}const n=[Io(e.chainId||0,"chainId"),Io(e.nonce||0,"nonce"),Io(e.maxPriorityFeePerGas||0,"maxPriorityFeePerGas"),Io(e.maxFeePerGas||0,"maxFeePerGas"),Io(e.gasLimit||0,"gasLimit"),null!=e.to?fi(e.to):"0x",Io(e.value||0,"value"),e.data||"0x",Co(e.accessList||[])];if(t){const e=Nn(t);n.push(Io(e.recoveryParam,"recoveryParam")),n.push(Tn(e.r)),n.push(Tn(e.s))}return _n(["0x02",ai(n)])}function xo(e,t){const n=[Io(e.chainId||0,"chainId"),Io(e.nonce||0,"nonce"),Io(e.gasPrice||0,"gasPrice"),Io(e.gasLimit||0,"gasLimit"),null!=e.to?fi(e.to):"0x",Io(e.value||0,"value"),e.data||"0x",Co(e.accessList||[])];if(t){const e=Nn(t);n.push(Io(e.recoveryParam,"recoveryParam")),n.push(Tn(e.r)),n.push(Tn(e.s))}return _n(["0x01",ai(n)])}function Mo(e,t){if(null==e.type||0===e.type)return null!=e.accessList&&yo.throwArgumentError("untyped transactions do not support accessList; include type: 1","transaction",e),function(e,t){Jn(e,Ao);const n=[];wo.forEach(function(t){let r=e[t.name]||[];const i={};t.numeric&&(i.hexPad="left"),r=wn(Sn(r,i)),t.length&&r.length!==t.length&&r.length>0&&yo.throwArgumentError("invalid length for "+t.name,"transaction:"+t.name,r),t.maxLength&&(r=Tn(r),r.length>t.maxLength&&yo.throwArgumentError("invalid length for "+t.name,"transaction:"+t.name,r)),n.push(Sn(r))});let r=0;if(null!=e.chainId?(r=e.chainId,"number"!=typeof r&&yo.throwArgumentError("invalid transaction.chainId","transaction",e)):t&&!gn(t)&&t.v>28&&(r=Math.floor((t.v-35)/2)),0!==r&&(n.push(Sn(r)),n.push("0x"),n.push("0x")),!t)return ai(n);const i=Nn(t);let s=27+i.recoveryParam;return 0!==r?(n.pop(),n.pop(),n.pop(),s+=2*r+8,i.v>28&&i.v!==s&&yo.throwArgumentError("transaction.chainId/signature.v mismatch","signature",t)):i.v!==s&&yo.throwArgumentError("transaction.chainId/signature.v mismatch","signature",t),n.push(Sn(s)),n.push(Tn(wn(i.r))),n.push(Tn(wn(i.s))),ai(n)}(e,t);switch(e.type){case 1:return xo(e,t);case 2:return _o(e,t)}return yo.throwError(`unsupported transaction type: ${e.type}`,pn.errors.UNSUPPORTED_OPERATION,{operation:"serializeTransaction",transactionType:e.type})}function No(e,t,n){try{const n=vo(t[0]).toNumber();if(0!==n&&1!==n)throw new Error("bad recid");e.v=n}catch(e){yo.throwArgumentError("invalid v for transaction type: 1","v",t[0])}e.r=Mn(t[1],32),e.s=Mn(t[2],32);try{const t=Ar(n(e));e.from=Eo(t,{r:e.r,s:e.s,recoveryParam:e.v})}catch(e){}}const Ro=new pn(Ca);class Po{constructor(){this.formats=this.getDefaultFormats()}getDefaultFormats(){const e={},t=this.address.bind(this),n=this.bigNumber.bind(this),r=this.blockTag.bind(this),i=this.data.bind(this),s=this.hash.bind(this),a=this.hex.bind(this),o=this.number.bind(this),u=this.type.bind(this);return e.transaction={hash:s,type:u,accessList:Po.allowNull(this.accessList.bind(this),null),blockHash:Po.allowNull(s,null),blockNumber:Po.allowNull(o,null),transactionIndex:Po.allowNull(o,null),confirmations:Po.allowNull(o,null),from:t,gasPrice:Po.allowNull(n),maxPriorityFeePerGas:Po.allowNull(n),maxFeePerGas:Po.allowNull(n),gasLimit:n,to:Po.allowNull(t,null),value:n,nonce:o,data:i,r:Po.allowNull(this.uint256),s:Po.allowNull(this.uint256),v:Po.allowNull(o),creates:Po.allowNull(t,null),raw:Po.allowNull(i)},e.transactionRequest={from:Po.allowNull(t),nonce:Po.allowNull(o),gasLimit:Po.allowNull(n),gasPrice:Po.allowNull(n),maxPriorityFeePerGas:Po.allowNull(n),maxFeePerGas:Po.allowNull(n),to:Po.allowNull(t),value:Po.allowNull(n),data:Po.allowNull(e=>this.data(e,!0)),type:Po.allowNull(o),accessList:Po.allowNull(this.accessList.bind(this),null)},e.receiptLog={transactionIndex:o,blockNumber:o,transactionHash:s,address:t,topics:Po.arrayOf(s),data:i,logIndex:o,blockHash:s},e.receipt={to:Po.allowNull(this.address,null),from:Po.allowNull(this.address,null),contractAddress:Po.allowNull(t,null),transactionIndex:o,root:Po.allowNull(a),gasUsed:n,logsBloom:Po.allowNull(i),blockHash:s,transactionHash:s,logs:Po.arrayOf(this.receiptLog.bind(this)),blockNumber:o,confirmations:Po.allowNull(o,null),cumulativeGasUsed:n,effectiveGasPrice:Po.allowNull(n),status:Po.allowNull(o),type:u},e.block={hash:Po.allowNull(s),parentHash:s,number:o,timestamp:o,nonce:Po.allowNull(a),difficulty:this.difficulty.bind(this),gasLimit:n,gasUsed:n,miner:Po.allowNull(t),extraData:i,transactions:Po.allowNull(Po.arrayOf(s)),baseFeePerGas:Po.allowNull(n)},e.blockWithTransactions=Qn(e.block),e.blockWithTransactions.transactions=Po.allowNull(Po.arrayOf(this.transactionResponse.bind(this))),e.filter={fromBlock:Po.allowNull(r,void 0),toBlock:Po.allowNull(r,void 0),blockHash:Po.allowNull(s,void 0),address:Po.allowNull(t,void 0),topics:Po.allowNull(this.topics.bind(this),void 0)},e.filterLog={blockNumber:Po.allowNull(o),blockHash:Po.allowNull(s),transactionIndex:o,removed:Po.allowNull(this.boolean.bind(this)),address:t,data:Po.allowFalsish(i,"0x"),topics:Po.arrayOf(s),transactionHash:s,logIndex:o},e}accessList(e){return ko(e||[])}number(e){return"0x"===e?0:Ln.from(e).toNumber()}type(e){return"0x"===e||null==e?0:Ln.from(e).toNumber()}bigNumber(e){return Ln.from(e)}boolean(e){if("boolean"==typeof e)return e;if("string"==typeof e){if("true"===(e=e.toLowerCase()))return!0;if("false"===e)return!1}throw new Error("invalid boolean - "+e)}hex(e,t){return"string"==typeof e&&(t||"0x"===e.substring(0,2)||(e="0x"+e),En(e))?e.toLowerCase():Ro.throwArgumentError("invalid hash","value",e)}data(e,t){const n=this.hex(e,t);if(n.length%2!=0)throw new Error("invalid data; odd-length - "+e);return n}address(e){return fi(e)}callAddress(e){if(!En(e,32))return null;const t=fi(Cn(e,12));return"0x0000000000000000000000000000000000000000"===t?null:t}contractAddress(e){return mi(e)}blockTag(e){if(null==e)return"latest";if("earliest"===e)return"0x0";switch(e){case"earliest":return"0x0";case"latest":case"pending":case"safe":case"finalized":return e}if("number"==typeof e||En(e))return xn(e);throw new Error("invalid blockTag")}hash(e,t){const n=this.hex(e,t);return 32!==kn(n)?Ro.throwArgumentError("invalid hash","value",e):n}difficulty(e){if(null==e)return null;const t=Ln.from(e);try{return t.toNumber()}catch(e){}return null}uint256(e){if(!En(e))throw new Error("invalid uint256");return Mn(e,32)}_block(e,t){null!=e.author&&null==e.miner&&(e.miner=e.author);const n=null!=e._difficulty?e._difficulty:e.difficulty,r=Po.check(t,e);return r._difficulty=null==n?null:Ln.from(n),r}block(e){return this._block(e,this.formats.block)}blockWithTransactions(e){return this._block(e,this.formats.blockWithTransactions)}transactionRequest(e){return Po.check(this.formats.transactionRequest,e)}transactionResponse(e){null!=e.gas&&null==e.gasLimit&&(e.gasLimit=e.gas),e.to&&Ln.from(e.to).isZero()&&(e.to="0x0000000000000000000000000000000000000000"),null!=e.input&&null==e.data&&(e.data=e.input),null==e.to&&null==e.creates&&(e.creates=this.contractAddress(e)),1!==e.type&&2!==e.type||null!=e.accessList||(e.accessList=[]);const t=Po.check(this.formats.transaction,e);if(null!=e.chainId){let n=e.chainId;En(n)&&(n=Ln.from(n).toNumber()),t.chainId=n}else{let n=e.networkId;null==n&&null==t.v&&(n=e.chainId),En(n)&&(n=Ln.from(n).toNumber()),"number"!=typeof n&&null!=t.v&&(n=(t.v-35)/2,n<0&&(n=0),n=parseInt(n)),"number"!=typeof n&&(n=0),t.chainId=n}return t.blockHash&&"x"===t.blockHash.replace(/0/g,"")&&(t.blockHash=null),t}transaction(e){return function(e){const t=wn(e);if(t[0]>127)return function(e){const t=li(e);9!==t.length&&6!==t.length&&yo.throwArgumentError("invalid raw transaction","rawTransaction",e);const n={nonce:vo(t[0]).toNumber(),gasPrice:vo(t[1]),gasLimit:vo(t[2]),to:bo(t[3]),value:vo(t[4]),data:t[5],chainId:0};if(6===t.length)return n;try{n.v=Ln.from(t[6]).toNumber()}catch(e){return n}if(n.r=Mn(t[7],32),n.s=Mn(t[8],32),Ln.from(n.r).isZero()&&Ln.from(n.s).isZero())n.chainId=n.v,n.v=0;else{n.chainId=Math.floor((n.v-35)/2),n.chainId<0&&(n.chainId=0);let r=n.v-27;const i=t.slice(0,6);0!==n.chainId&&(i.push(Sn(n.chainId)),i.push("0x"),i.push("0x"),r-=2*n.chainId+8);const s=Ar(ai(i));try{n.from=Eo(s,{r:Sn(n.r),s:Sn(n.s),recoveryParam:r})}catch(e){}n.hash=Ar(e)}return n.type=null,n}(t);switch(t[0]){case 1:return function(e){const t=li(e.slice(1));8!==t.length&&11!==t.length&&yo.throwArgumentError("invalid component count for transaction type: 1","payload",Sn(e));const n={type:1,chainId:vo(t[0]).toNumber(),nonce:vo(t[1]).toNumber(),gasPrice:vo(t[2]),gasLimit:vo(t[3]),to:bo(t[4]),value:vo(t[5]),data:t[6],accessList:ko(t[7])};return 8===t.length||(n.hash=Ar(e),No(n,t.slice(8),xo)),n}(t);case 2:return function(e){const t=li(e.slice(1));9!==t.length&&12!==t.length&&yo.throwArgumentError("invalid component count for transaction type: 2","payload",Sn(e));const n=vo(t[2]),r=vo(t[3]),i={type:2,chainId:vo(t[0]).toNumber(),nonce:vo(t[1]).toNumber(),maxPriorityFeePerGas:n,maxFeePerGas:r,gasPrice:null,gasLimit:vo(t[4]),to:bo(t[5]),value:vo(t[6]),data:t[7],accessList:ko(t[8])};return 9===t.length||(i.hash=Ar(e),No(i,t.slice(9),_o)),i}(t)}return yo.throwError(`unsupported transaction type: ${t[0]}`,pn.errors.UNSUPPORTED_OPERATION,{operation:"parseTransaction",transactionType:t[0]})}(e)}receiptLog(e){return Po.check(this.formats.receiptLog,e)}receipt(e){const t=Po.check(this.formats.receipt,e);if(null!=t.root)if(t.root.length<=4){const e=Ln.from(t.root).toNumber();0===e||1===e?(null!=t.status&&t.status!==e&&Ro.throwArgumentError("alt-root-status/status mismatch","value",{root:t.root,status:t.status}),t.status=e,delete t.root):Ro.throwArgumentError("invalid alt-root-status","value.root",t.root)}else 66!==t.root.length&&Ro.throwArgumentError("invalid root hash","value.root",t.root);return null!=t.status&&(t.byzantium=!0),t}topics(e){return Array.isArray(e)?e.map(e=>this.topics(e)):null!=e?this.hash(e,!0):null}filter(e){return Po.check(this.formats.filter,e)}filterLog(e){return Po.check(this.formats.filterLog,e)}static check(e,t){const n={};for(const r in e)try{const i=e[r](t[r]);void 0!==i&&(n[r]=i)}catch(e){throw e.checkKey=r,e.checkValue=t[r],e}return n}static allowNull(e,t){return function(n){return null==n?t:e(n)}}static allowFalsish(e,t){return function(n){return n?e(n):t}}static arrayOf(e){return function(t){if(!Array.isArray(t))throw new Error("not an array");const n=[];return t.forEach(function(t){n.push(e(t))}),n}}}var Oo=function(e,t,n,r){return new(n||(n=Promise))(function(i,s){function a(e){try{u(r.next(e))}catch(e){s(e)}}function o(e){try{u(r.throw(e))}catch(e){s(e)}}function u(e){var t;e.done?i(e.value):(t=e.value,t instanceof n?t:new n(function(e){e(t)})).then(a,o)}u((r=r.apply(e,t||[])).next())})};const Bo=new pn(Ca);function Do(e){return null==e?"null":(32!==kn(e)&&Bo.throwArgumentError("invalid topic","topic",e),e.toLowerCase())}function Fo(e){for(e=e.slice();e.length>0&&null==e[e.length-1];)e.pop();return e.map(e=>{if(Array.isArray(e)){const t={};e.forEach(e=>{t[Do(e)]=!0});const n=Object.keys(t);return n.sort(),n.join("|")}return Do(e)}).join("&")}function Lo(e){if("string"==typeof e){if(32===kn(e=e.toLowerCase()))return"tx:"+e;if(-1===e.indexOf(":"))return e}else{if(Array.isArray(e))return"filter:*:"+Fo(e);if(nr.isForkEvent(e))throw Bo.warn("not implemented"),new Error("not implemented");if(e&&"object"==typeof e)return"filter:"+(e.address||"*")+":"+Fo(e.topics||[])}throw new Error("invalid event - "+e)}function Uo(){return(new Date).getTime()}function Go(e){return new Promise(t=>{setTimeout(t,e)})}const Ho=["block","network","pending","poll"];class qo{constructor(e,t,n){Kn(this,"tag",e),Kn(this,"listener",t),Kn(this,"once",n),this._lastBlockNumber=-2,this._inflight=!1}get event(){switch(this.type){case"tx":return this.hash;case"filter":return this.filter}return this.tag}get type(){return this.tag.split(":")[0]}get hash(){const e=this.tag.split(":");return"tx"!==e[0]?null:e[1]}get filter(){const e=this.tag.split(":");if("filter"!==e[0])return null;const t=e[1],n=""===(r=e[2])?[]:r.split(/&/g).map(e=>{if(""===e)return[];const t=e.split("|").map(e=>"null"===e?null:e);return 1===t.length?t[0]:t});var r;const i={};return n.length>0&&(i.topics=n),t&&"*"!==t&&(i.address=t),i}pollable(){return this.tag.indexOf(":")>=0||Ho.indexOf(this.tag)>=0}}const zo={0:{symbol:"btc",p2pkh:0,p2sh:5,prefix:"bc"},2:{symbol:"ltc",p2pkh:48,p2sh:50,prefix:"ltc"},3:{symbol:"doge",p2pkh:30,p2sh:22},60:{symbol:"eth",ilk:"eth"},61:{symbol:"etc",ilk:"eth"},700:{symbol:"xdai",ilk:"eth"}};function Vo(e){return Mn(Ln.from(e).toHexString(),32)}function Ko(e){return fr.encode(An([e,Cn(ha(ha(e)),0,4)]))}const jo=new RegExp("^(ipfs)://(.*)$","i"),Wo=[new RegExp("^(https)://(.*)$","i"),new RegExp("^(data):(.*)$","i"),jo,new RegExp("^eip155:[0-9]+/(erc[0-9]+):(.*)$","i")];function Jo(e,t){try{return xr(Qo(e,t))}catch(e){}return null}function Qo(e,t){if("0x"===e)return null;const n=Ln.from(Cn(e,t,t+32)).toNumber(),r=Ln.from(Cn(e,n,n+32)).toNumber();return Cn(e,n+32,n+32+r)}function Yo(e){return e.match(/^ipfs:\/\/ipfs\//i)?e=e.substring(12):e.match(/^ipfs:\/\//i)?e=e.substring(7):Bo.throwArgumentError("unsupported IPFS format","link",e),`https://gateway.ipfs.io/ipfs/${e}`}function Xo(e){const t=wn(e);if(t.length>32)throw new Error("internal; should not happen");const n=new Uint8Array(32);return n.set(t,32-t.length),n}function Zo(e){if(e.length%32==0)return e;const t=new Uint8Array(32*Math.ceil(e.length/32));return t.set(e),t}function $o(e){const t=[];let n=0;for(let r=0;r<e.length;r++)t.push(null),n+=32;for(let r=0;r<e.length;r++){const i=wn(e[r]);t[r]=Xo(n),t.push(Xo(i.length)),t.push(Zo(i)),n+=32+32*Math.ceil(i.length/32)}return _n(t)}class eu{constructor(e,t,n,r){Kn(this,"provider",e),Kn(this,"name",n),Kn(this,"address",e.formatter.address(t)),Kn(this,"_resolvedAddress",r)}supportsWildcard(){return this._supportsEip2544||(this._supportsEip2544=this.provider.call({to:this.address,data:"0x01ffc9a79061b92300000000000000000000000000000000000000000000000000000000"}).then(e=>Ln.from(e).eq(1)).catch(e=>{if(e.code===pn.errors.CALL_EXCEPTION)return!1;throw this._supportsEip2544=null,e})),this._supportsEip2544}_fetch(e,t){return Oo(this,void 0,void 0,function*(){const n={to:this.address,ccipReadEnabled:!0,data:_n([e,ti(this.name),t||"0x"])};let r=!1;var i;(yield this.supportsWildcard())&&(r=!0,n.data=_n(["0x9061b923",$o([(i=this.name,Sn(An(ei(i).map(e=>{if(e.length>63)throw new Error("invalid DNS encoded entry; length exceeds 63 bytes");const t=new Uint8Array(e.length+1);return t.set(e,1),t[0]=t.length-1,t})))+"00"),n.data])]));try{let e=yield this.provider.call(n);return wn(e).length%32==4&&Bo.throwError("resolver threw error",pn.errors.CALL_EXCEPTION,{transaction:n,data:e}),r&&(e=Qo(e,0)),e}catch(e){if(e.code===pn.errors.CALL_EXCEPTION)return null;throw e}})}_fetchBytes(e,t){return Oo(this,void 0,void 0,function*(){const n=yield this._fetch(e,t);return null!=n?Qo(n,0):null})}_getAddress(e,t){const n=zo[String(e)];if(null==n&&Bo.throwError(`unsupported coin type: ${e}`,pn.errors.UNSUPPORTED_OPERATION,{operation:`getAddress(${e})`}),"eth"===n.ilk)return this.provider.formatter.address(t);const r=wn(t);if(null!=n.p2pkh){const e=t.match(/^0x76a9([0-9a-f][0-9a-f])([0-9a-f]*)88ac$/);if(e){const t=parseInt(e[1],16);if(e[2].length===2*t&&t>=1&&t<=75)return Ko(An([[n.p2pkh],"0x"+e[2]]))}}if(null!=n.p2sh){const e=t.match(/^0xa9([0-9a-f][0-9a-f])([0-9a-f]*)87$/);if(e){const t=parseInt(e[1],16);if(e[2].length===2*t&&t>=1&&t<=75)return Ko(An([[n.p2sh],"0x"+e[2]]))}}if(null!=n.prefix){const e=r[1];let t=r[0];if(0===t?20!==e&&32!==e&&(t=-1):t=-1,t>=0&&r.length===2+e&&e>=1&&e<=75){const e=function(e){var t=function(e,t,n,r){for(var i=0,s=0,a=[],o=0;o<e.length;++o)for(i=i<<8|e[o],s+=8;s>=5;)a.push(i>>(s-=5)&31);return s>0&&a.push(i<<5-s&31),a}(e);if(Array.isArray(t))return t;throw new Error(t)}(r.slice(2));return e.unshift(t),function(e,t,n){if(e.length+7+t.length>(n=n||90))throw new TypeError("Exceeds length limit");var r=function(e){for(var t=1,n=0;n<e.length;++n){var r=e.charCodeAt(n);if(r<33||r>126)return"Invalid prefix ("+e+")";t=ka(t)^r>>5}for(t=ka(t),n=0;n<e.length;++n){var i=e.charCodeAt(n);t=ka(t)^31&i}return t}(e=e.toLowerCase());if("string"==typeof r)throw new Error(r);for(var i=e+"1",s=0;s<t.length;++s){var a=t[s];if(a>>5!=0)throw new Error("Non 5-bit word");r=ka(r)^a,i+=Ta.charAt(a)}for(s=0;s<6;++s)r=ka(r);for(r^=1,s=0;s<6;++s)i+=Ta.charAt(r>>5*(5-s)&31);return i}(n.prefix,e)}}return null}getAddress(e){return Oo(this,void 0,void 0,function*(){if(null==e&&(e=60),60===e)try{const e=yield this._fetch("0x3b3b57de");return"0x"===e||"0x0000000000000000000000000000000000000000000000000000000000000000"===e?null:this.provider.formatter.callAddress(e)}catch(e){if(e.code===pn.errors.CALL_EXCEPTION)return null;throw e}const t=yield this._fetchBytes("0xf1cb7e06",Vo(e));if(null==t||"0x"===t)return null;const n=this._getAddress(e,t);return null==n&&Bo.throwError("invalid or unsupported coin data",pn.errors.UNSUPPORTED_OPERATION,{operation:`getAddress(${e})`,coinType:e,data:t}),n})}getAvatar(){return Oo(this,void 0,void 0,function*(){const e=[{type:"name",content:this.name}];try{const t=yield this.getText("avatar");if(null==t)return null;for(let n=0;n<Wo.length;n++){const r=t.match(Wo[n]);if(null==r)continue;const i=r[1].toLowerCase();switch(i){case"https":return e.push({type:"url",content:t}),{linkage:e,url:t};case"data":return e.push({type:"data",content:t}),{linkage:e,url:t};case"ipfs":return e.push({type:"ipfs",content:t}),{linkage:e,url:Yo(t)};case"erc721":case"erc1155":{const n="erc721"===i?"0xc87b56dd":"0x0e89341c";e.push({type:i,content:t});const s=this._resolvedAddress||(yield this.getAddress()),a=(r[2]||"").split("/");if(2!==a.length)return null;const o=yield this.provider.formatter.address(a[0]),u=Mn(Ln.from(a[1]).toHexString(),32);if("erc721"===i){const t=this.provider.formatter.callAddress(yield this.provider.call({to:o,data:_n(["0x6352211e",u])}));if(s!==t)return null;e.push({type:"owner",content:t})}else if("erc1155"===i){const t=Ln.from(yield this.provider.call({to:o,data:_n(["0x00fdd58e",Mn(s,32),u])}));if(t.isZero())return null;e.push({type:"balance",content:t.toString()})}const l={to:this.provider.formatter.address(a[0]),data:_n([n,u])};let c=Jo(yield this.provider.call(l),0);if(null==c)return null;e.push({type:"metadata-url-base",content:c}),"erc1155"===i&&(c=c.replace("{id}",u.substring(2)),e.push({type:"metadata-url-expanded",content:c})),c.match(/^ipfs:/i)&&(c=Yo(c)),e.push({type:"metadata-url",content:c});const d=yield wa(c);if(!d)return null;e.push({type:"metadata",content:JSON.stringify(d)});let h=d.image;if("string"!=typeof h)return null;if(h.match(/^(https:\/\/|data:)/i));else{if(null==h.match(jo))return null;e.push({type:"url-ipfs",content:h}),h=Yo(h)}return e.push({type:"url",content:h}),{linkage:e,url:h}}}}}catch(e){}return null})}getContentHash(){return Oo(this,void 0,void 0,function*(){const e=yield this._fetchBytes("0xbc1c58d1");if(null==e||"0x"===e)return null;const t=e.match(/^0xe3010170(([0-9a-f][0-9a-f])([0-9a-f][0-9a-f])([0-9a-f]*))$/);if(t){const e=parseInt(t[3],16);if(t[4].length===2*e)return"ipfs://"+fr.encode("0x"+t[1])}const n=e.match(/^0xe5010172(([0-9a-f][0-9a-f])([0-9a-f][0-9a-f])([0-9a-f]*))$/);if(n){const e=parseInt(n[3],16);if(n[4].length===2*e)return"ipns://"+fr.encode("0x"+n[1])}const r=e.match(/^0xe40101fa011b20([0-9a-f]*)$/);if(r&&64===r[1].length)return"bzz://"+r[1];const i=e.match(/^0x90b2c605([0-9a-f]*)$/);if(i&&68===i[1].length){const e={"=":"","+":"-","/":"_"};return"sia://"+hr("0x"+i[1]).replace(/[=+\/]/g,t=>e[t])}return Bo.throwError("invalid or unsupported content hash data",pn.errors.UNSUPPORTED_OPERATION,{operation:"getContentHash()",data:e})})}getText(e){return Oo(this,void 0,void 0,function*(){let t=_r(e);t=An([Vo(64),Vo(t.length),t]),t.length%32!=0&&(t=An([t,Mn("0x",32-e.length%32)]));const n=yield this._fetchBytes("0x59d1d43c",Sn(t));return null==n||"0x"===n?null:xr(n)})}}let tu=null,nu=1;class ru extends rr{constructor(e){if(super(),this._events=[],this._emitted={block:-2},this.disableCcipRead=!1,this.formatter=new.target.getFormatter(),Kn(this,"anyNetwork","any"===e),this.anyNetwork&&(e=this.detectNetwork()),e instanceof Promise)this._networkPromise=e,e.catch(e=>{}),this._ready().catch(e=>{});else{const t=jn(new.target,"getNetwork")(e);t?(Kn(this,"_network",t),this.emit("network",t,null)):Bo.throwArgumentError("invalid network","network",e)}this._maxInternalBlockNumber=-1024,this._lastBlockNumber=-2,this._maxFilterBlockRange=10,this._pollingInterval=4e3,this._fastQueryDate=0}_ready(){return Oo(this,void 0,void 0,function*(){if(null==this._network){let e=null;if(this._networkPromise)try{e=yield this._networkPromise}catch(e){}null==e&&(e=yield this.detectNetwork()),e||Bo.throwError("no network detected",pn.errors.UNKNOWN_ERROR,{}),null==this._network&&(this.anyNetwork?this._network=e:Kn(this,"_network",e),this.emit("network",e,null))}return this._network})}get ready(){return Aa(()=>this._ready().then(e=>e,e=>{if(e.code!==pn.errors.NETWORK_ERROR||"noNetwork"!==e.event)throw e}))}static getFormatter(){return null==tu&&(tu=new Po),tu}static getNetwork(e){return function(e){if(null==e)return null;if("number"==typeof e){for(const t in cr){const n=cr[t];if(n.chainId===e)return{name:n.name,chainId:n.chainId,ensAddress:n.ensAddress||null,_defaultProvider:n._defaultProvider||null}}return{chainId:e,name:"unknown"}}if("string"==typeof e){const t=cr[e];return null==t?null:{name:t.name,chainId:t.chainId,ensAddress:t.ensAddress,_defaultProvider:t._defaultProvider||null}}const t=cr[e.name];if(!t)return"number"!=typeof e.chainId&&ir.throwArgumentError("invalid network chainId","network",e),e;0!==e.chainId&&e.chainId!==t.chainId&&ir.throwArgumentError("network chainId mismatch","network",e);let n=e._defaultProvider||null;var r;return null==n&&t._defaultProvider&&(n=(r=t._defaultProvider)&&"function"==typeof r.renetwork?t._defaultProvider.renetwork(e):t._defaultProvider),{name:e.name,chainId:t.chainId,ensAddress:e.ensAddress||t.ensAddress||null,_defaultProvider:n}}(null==e?"homestead":e)}ccipReadFetch(e,t,n){return Oo(this,void 0,void 0,function*(){if(this.disableCcipRead||0===n.length)return null;const r=e.to.toLowerCase(),i=t.toLowerCase(),s=[];for(let e=0;e<n.length;e++){const t=n[e],a=t.replace("{sender}",r).replace("{data}",i),o=t.indexOf("{data}")>=0?null:JSON.stringify({data:i,sender:r}),u=yield wa({url:a,errorPassThrough:!0},o,(e,t)=>(e.status=t.statusCode,e));if(u.data)return u.data;const l=u.message||"unknown error";if(u.status>=400&&u.status<500)return Bo.throwError(`response not found during CCIP fetch: ${l}`,pn.errors.SERVER_ERROR,{url:t,errorMessage:l});s.push(l)}return Bo.throwError(`error encountered during CCIP fetch: ${s.map(e=>JSON.stringify(e)).join(", ")}`,pn.errors.SERVER_ERROR,{urls:n,errorMessages:s})})}_getInternalBlockNumber(e){return Oo(this,void 0,void 0,function*(){if(yield this._ready(),e>0)for(;this._internalBlockNumber;){const t=this._internalBlockNumber;try{const n=yield t;if(Uo()-n.respTime<=e)return n.blockNumber;break}catch(e){if(this._internalBlockNumber===t)break}}const t=Uo(),n=Wn({blockNumber:this.perform("getBlockNumber",{}),networkError:this.getNetwork().then(e=>null,e=>e)}).then(({blockNumber:e,networkError:r})=>{if(r)throw this._internalBlockNumber===n&&(this._internalBlockNumber=null),r;const i=Uo();return(e=Ln.from(e).toNumber())<this._maxInternalBlockNumber&&(e=this._maxInternalBlockNumber),this._maxInternalBlockNumber=e,this._setFastBlockNumber(e),{blockNumber:e,reqTime:t,respTime:i}});return this._internalBlockNumber=n,n.catch(e=>{this._internalBlockNumber===n&&(this._internalBlockNumber=null)}),(yield n).blockNumber})}poll(){return Oo(this,void 0,void 0,function*(){const e=nu++,t=[];let n=null;try{n=yield this._getInternalBlockNumber(100+this.pollingInterval/2)}catch(e){return void this.emit("error",e)}if(this._setFastBlockNumber(n),this.emit("poll",e,n),n!==this._lastBlockNumber){if(-2===this._emitted.block&&(this._emitted.block=n-1),Math.abs(this._emitted.block-n)>1e3)Bo.warn(`network block skew detected; skipping block events (emitted=${this._emitted.block} blockNumber${n})`),this.emit("error",Bo.makeError("network block skew detected",pn.errors.NETWORK_ERROR,{blockNumber:n,event:"blockSkew",previousBlockNumber:this._emitted.block})),this.emit("block",n);else for(let e=this._emitted.block+1;e<=n;e++)this.emit("block",e);this._emitted.block!==n&&(this._emitted.block=n,Object.keys(this._emitted).forEach(e=>{if("block"===e)return;const t=this._emitted[e];"pending"!==t&&n-t>12&&delete this._emitted[e]})),-2===this._lastBlockNumber&&(this._lastBlockNumber=n-1),this._events.forEach(e=>{switch(e.type){case"tx":{const n=e.hash;let r=this.getTransactionReceipt(n).then(e=>e&&null!=e.blockNumber?(this._emitted["t:"+n]=e.blockNumber,this.emit(n,e),null):null).catch(e=>{this.emit("error",e)});t.push(r);break}case"filter":if(!e._inflight){e._inflight=!0,-2===e._lastBlockNumber&&(e._lastBlockNumber=n-1);const r=e.filter;r.fromBlock=e._lastBlockNumber+1,r.toBlock=n;const i=r.toBlock-this._maxFilterBlockRange;i>r.fromBlock&&(r.fromBlock=i),r.fromBlock<0&&(r.fromBlock=0);const s=this.getLogs(r).then(t=>{e._inflight=!1,0!==t.length&&t.forEach(t=>{t.blockNumber>e._lastBlockNumber&&(e._lastBlockNumber=t.blockNumber),this._emitted["b:"+t.blockHash]=t.blockNumber,this._emitted["t:"+t.transactionHash]=t.blockNumber,this.emit(r,t)})}).catch(t=>{this.emit("error",t),e._inflight=!1});t.push(s)}}}),this._lastBlockNumber=n,Promise.all(t).then(()=>{this.emit("didPoll",e)}).catch(e=>{this.emit("error",e)})}else this.emit("didPoll",e)})}resetEventsBlock(e){this._lastBlockNumber=e-1,this.polling&&this.poll()}get network(){return this._network}detectNetwork(){return Oo(this,void 0,void 0,function*(){return Bo.throwError("provider does not support network detection",pn.errors.UNSUPPORTED_OPERATION,{operation:"provider.detectNetwork"})})}getNetwork(){return Oo(this,void 0,void 0,function*(){const e=yield this._ready(),t=yield this.detectNetwork();if(e.chainId!==t.chainId){if(this.anyNetwork)return this._network=t,this._lastBlockNumber=-2,this._fastBlockNumber=null,this._fastBlockNumberPromise=null,this._fastQueryDate=0,this._emitted.block=-2,this._maxInternalBlockNumber=-1024,this._internalBlockNumber=null,this.emit("network",t,e),yield Go(0),this._network;const n=Bo.makeError("underlying network changed",pn.errors.NETWORK_ERROR,{event:"changed",network:e,detectedNetwork:t});throw this.emit("error",n),n}return e})}get blockNumber(){return this._getInternalBlockNumber(100+this.pollingInterval/2).then(e=>{this._setFastBlockNumber(e)},e=>{}),null!=this._fastBlockNumber?this._fastBlockNumber:-1}get polling(){return null!=this._poller}set polling(e){e&&!this._poller?(this._poller=setInterval(()=>{this.poll()},this.pollingInterval),this._bootstrapPoll||(this._bootstrapPoll=setTimeout(()=>{this.poll(),this._bootstrapPoll=setTimeout(()=>{this._poller||this.poll(),this._bootstrapPoll=null},this.pollingInterval)},0))):!e&&this._poller&&(clearInterval(this._poller),this._poller=null)}get pollingInterval(){return this._pollingInterval}set pollingInterval(e){if("number"!=typeof e||e<=0||parseInt(String(e))!=e)throw new Error("invalid polling interval");this._pollingInterval=e,this._poller&&(clearInterval(this._poller),this._poller=setInterval(()=>{this.poll()},this._pollingInterval))}_getFastBlockNumber(){const e=Uo();return e-this._fastQueryDate>2*this._pollingInterval&&(this._fastQueryDate=e,this._fastBlockNumberPromise=this.getBlockNumber().then(e=>((null==this._fastBlockNumber||e>this._fastBlockNumber)&&(this._fastBlockNumber=e),this._fastBlockNumber))),this._fastBlockNumberPromise}_setFastBlockNumber(e){null!=this._fastBlockNumber&&e<this._fastBlockNumber||(this._fastQueryDate=Uo(),(null==this._fastBlockNumber||e>this._fastBlockNumber)&&(this._fastBlockNumber=e,this._fastBlockNumberPromise=Promise.resolve(e)))}waitForTransaction(e,t,n){return Oo(this,void 0,void 0,function*(){return this._waitForTransaction(e,null==t?1:t,n||0,null)})}_waitForTransaction(e,t,n,r){return Oo(this,void 0,void 0,function*(){const i=yield this.getTransactionReceipt(e);return(i?i.confirmations:0)>=t?i:new Promise((i,s)=>{const a=[];let o=!1;const u=function(){return!!o||(o=!0,a.forEach(e=>{e()}),!1)},l=e=>{e.confirmations<t||u()||i(e)};if(this.on(e,l),a.push(()=>{this.removeListener(e,l)}),r){let n=r.startBlock,i=null;const l=a=>Oo(this,void 0,void 0,function*(){o||(yield Go(1e3),this.getTransactionCount(r.from).then(c=>Oo(this,void 0,void 0,function*(){if(!o){if(c<=r.nonce)n=a;else{{const t=yield this.getTransaction(e);if(t&&null!=t.blockNumber)return}for(null==i&&(i=n-3,i<r.startBlock&&(i=r.startBlock));i<=a;){if(o)return;const n=yield this.getBlockWithTransactions(i);for(let i=0;i<n.transactions.length;i++){const a=n.transactions[i];if(a.hash===e)return;if(a.from===r.from&&a.nonce===r.nonce){if(o)return;const n=yield this.waitForTransaction(a.hash,t);if(u())return;let i="replaced";return a.data===r.data&&a.to===r.to&&a.value.eq(r.value)?i="repriced":"0x"===a.data&&a.from===a.to&&a.value.isZero()&&(i="cancelled"),void s(Bo.makeError("transaction was replaced",pn.errors.TRANSACTION_REPLACED,{cancelled:"replaced"===i||"cancelled"===i,reason:i,replacement:this._wrapTransaction(a),hash:e,receipt:n}))}}i++}}o||this.once("block",l)}}),e=>{o||this.once("block",l)}))});if(o)return;this.once("block",l),a.push(()=>{this.removeListener("block",l)})}if("number"==typeof n&&n>0){const e=setTimeout(()=>{u()||s(Bo.makeError("timeout exceeded",pn.errors.TIMEOUT,{timeout:n}))},n);e.unref&&e.unref(),a.push(()=>{clearTimeout(e)})}})})}getBlockNumber(){return Oo(this,void 0,void 0,function*(){return this._getInternalBlockNumber(0)})}getGasPrice(){return Oo(this,void 0,void 0,function*(){yield this.getNetwork();const e=yield this.perform("getGasPrice",{});try{return Ln.from(e)}catch(t){return Bo.throwError("bad result from backend",pn.errors.SERVER_ERROR,{method:"getGasPrice",result:e,error:t})}})}getBalance(e,t){return Oo(this,void 0,void 0,function*(){yield this.getNetwork();const n=yield Wn({address:this._getAddress(e),blockTag:this._getBlockTag(t)}),r=yield this.perform("getBalance",n);try{return Ln.from(r)}catch(e){return Bo.throwError("bad result from backend",pn.errors.SERVER_ERROR,{method:"getBalance",params:n,result:r,error:e})}})}getTransactionCount(e,t){return Oo(this,void 0,void 0,function*(){yield this.getNetwork();const n=yield Wn({address:this._getAddress(e),blockTag:this._getBlockTag(t)}),r=yield this.perform("getTransactionCount",n);try{return Ln.from(r).toNumber()}catch(e){return Bo.throwError("bad result from backend",pn.errors.SERVER_ERROR,{method:"getTransactionCount",params:n,result:r,error:e})}})}getCode(e,t){return Oo(this,void 0,void 0,function*(){yield this.getNetwork();const n=yield Wn({address:this._getAddress(e),blockTag:this._getBlockTag(t)}),r=yield this.perform("getCode",n);try{return Sn(r)}catch(e){return Bo.throwError("bad result from backend",pn.errors.SERVER_ERROR,{method:"getCode",params:n,result:r,error:e})}})}getStorageAt(e,t,n){return Oo(this,void 0,void 0,function*(){yield this.getNetwork();const r=yield Wn({address:this._getAddress(e),blockTag:this._getBlockTag(n),position:Promise.resolve(t).then(e=>xn(e))}),i=yield this.perform("getStorageAt",r);try{return Sn(i)}catch(e){return Bo.throwError("bad result from backend",pn.errors.SERVER_ERROR,{method:"getStorageAt",params:r,result:i,error:e})}})}_wrapTransaction(e,t,n){if(null!=t&&32!==kn(t))throw new Error("invalid response - sendTransaction");const r=e;return null!=t&&e.hash!==t&&Bo.throwError("Transaction hash mismatch from Provider.sendTransaction.",pn.errors.UNKNOWN_ERROR,{expectedHash:e.hash,returnedHash:t}),r.wait=(t,r)=>Oo(this,void 0,void 0,function*(){let i;null==t&&(t=1),null==r&&(r=0),0!==t&&null!=n&&(i={data:e.data,from:e.from,nonce:e.nonce,to:e.to,value:e.value,startBlock:n});const s=yield this._waitForTransaction(e.hash,t,r,i);return null==s&&0===t?null:(this._emitted["t:"+e.hash]=s.blockNumber,0===s.status&&Bo.throwError("transaction failed",pn.errors.CALL_EXCEPTION,{transactionHash:e.hash,transaction:e,receipt:s}),s)}),r}sendTransaction(e){return Oo(this,void 0,void 0,function*(){yield this.getNetwork();const t=yield Promise.resolve(e).then(e=>Sn(e)),n=this.formatter.transaction(e);null==n.confirmations&&(n.confirmations=0);const r=yield this._getInternalBlockNumber(100+2*this.pollingInterval);try{const e=yield this.perform("sendTransaction",{signedTransaction:t});return this._wrapTransaction(n,e,r)}catch(e){throw e.transaction=n,e.transactionHash=n.hash,e}})}_getTransactionRequest(e){return Oo(this,void 0,void 0,function*(){const t=yield e,n={};return["from","to"].forEach(e=>{null!=t[e]&&(n[e]=Promise.resolve(t[e]).then(e=>e?this._getAddress(e):null))}),["gasLimit","gasPrice","maxFeePerGas","maxPriorityFeePerGas","value"].forEach(e=>{null!=t[e]&&(n[e]=Promise.resolve(t[e]).then(e=>e?Ln.from(e):null))}),["type"].forEach(e=>{null!=t[e]&&(n[e]=Promise.resolve(t[e]).then(e=>null!=e?e:null))}),t.accessList&&(n.accessList=this.formatter.accessList(t.accessList)),["data"].forEach(e=>{null!=t[e]&&(n[e]=Promise.resolve(t[e]).then(e=>e?Sn(e):null))}),this.formatter.transactionRequest(yield Wn(n))})}_getFilter(e){return Oo(this,void 0,void 0,function*(){e=yield e;const t={};return null!=e.address&&(t.address=this._getAddress(e.address)),["blockHash","topics"].forEach(n=>{null!=e[n]&&(t[n]=e[n])}),["fromBlock","toBlock"].forEach(n=>{null!=e[n]&&(t[n]=this._getBlockTag(e[n]))}),this.formatter.filter(yield Wn(t))})}_call(e,t,n){return Oo(this,void 0,void 0,function*(){n>=10&&Bo.throwError("CCIP read exceeded maximum redirections",pn.errors.SERVER_ERROR,{redirects:n,transaction:e});const r=e.to,i=yield this.perform("call",{transaction:e,blockTag:t});if(n>=0&&"latest"===t&&null!=r&&"0x556f1830"===i.substring(0,10)&&kn(i)%32==4)try{const s=Cn(i,4),a=Cn(s,0,32);Ln.from(a).eq(r)||Bo.throwError("CCIP Read sender did not match",pn.errors.CALL_EXCEPTION,{name:"OffchainLookup",signature:"OffchainLookup(address,string[],bytes,bytes4,bytes)",transaction:e,data:i});const o=[],u=Ln.from(Cn(s,32,64)).toNumber(),l=Ln.from(Cn(s,u,u+32)).toNumber(),c=Cn(s,u+32);for(let t=0;t<l;t++){const n=Jo(c,32*t);null==n&&Bo.throwError("CCIP Read contained corrupt URL string",pn.errors.CALL_EXCEPTION,{name:"OffchainLookup",signature:"OffchainLookup(address,string[],bytes,bytes4,bytes)",transaction:e,data:i}),o.push(n)}const d=Qo(s,64);Ln.from(Cn(s,100,128)).isZero()||Bo.throwError("CCIP Read callback selector included junk",pn.errors.CALL_EXCEPTION,{name:"OffchainLookup",signature:"OffchainLookup(address,string[],bytes,bytes4,bytes)",transaction:e,data:i});const h=Cn(s,96,100),p=Qo(s,128),f=yield this.ccipReadFetch(e,d,o);null==f&&Bo.throwError("CCIP Read disabled or provided no URLs",pn.errors.CALL_EXCEPTION,{name:"OffchainLookup",signature:"OffchainLookup(address,string[],bytes,bytes4,bytes)",transaction:e,data:i});const m={to:r,data:_n([h,$o([f,p])])};return this._call(m,t,n+1)}catch(e){if(e.code===pn.errors.SERVER_ERROR)throw e}try{return Sn(i)}catch(n){return Bo.throwError("bad result from backend",pn.errors.SERVER_ERROR,{method:"call",params:{transaction:e,blockTag:t},result:i,error:n})}})}call(e,t){return Oo(this,void 0,void 0,function*(){yield this.getNetwork();const n=yield Wn({transaction:this._getTransactionRequest(e),blockTag:this._getBlockTag(t),ccipReadEnabled:Promise.resolve(e.ccipReadEnabled)});return this._call(n.transaction,n.blockTag,n.ccipReadEnabled?0:-1)})}estimateGas(e){return Oo(this,void 0,void 0,function*(){yield this.getNetwork();const t=yield Wn({transaction:this._getTransactionRequest(e)}),n=yield this.perform("estimateGas",t);try{return Ln.from(n)}catch(e){return Bo.throwError("bad result from backend",pn.errors.SERVER_ERROR,{method:"estimateGas",params:t,result:n,error:e})}})}_getAddress(e){return Oo(this,void 0,void 0,function*(){"string"!=typeof(e=yield e)&&Bo.throwArgumentError("invalid address or ENS name","name",e);const t=yield this.resolveName(e);return null==t&&Bo.throwError("ENS name not configured",pn.errors.UNSUPPORTED_OPERATION,{operation:`resolveName(${JSON.stringify(e)})`}),t})}_getBlock(e,t){return Oo(this,void 0,void 0,function*(){yield this.getNetwork(),e=yield e;let n=-128;const r={includeTransactions:!!t};if(En(e,32))r.blockHash=e;else try{r.blockTag=yield this._getBlockTag(e),En(r.blockTag)&&(n=parseInt(r.blockTag.substring(2),16))}catch(t){Bo.throwArgumentError("invalid block hash or block tag","blockHashOrBlockTag",e)}return Aa(()=>Oo(this,void 0,void 0,function*(){const e=yield this.perform("getBlock",r);if(null==e)return null!=r.blockHash&&null==this._emitted["b:"+r.blockHash]||null!=r.blockTag&&n>this._emitted.block?null:void 0;if(t){let t=null;for(let n=0;n<e.transactions.length;n++){const r=e.transactions[n];if(null==r.blockNumber)r.confirmations=0;else if(null==r.confirmations){null==t&&(t=yield this._getInternalBlockNumber(100+2*this.pollingInterval));let e=t-r.blockNumber+1;e<=0&&(e=1),r.confirmations=e}}const n=this.formatter.blockWithTransactions(e);return n.transactions=n.transactions.map(e=>this._wrapTransaction(e)),n}return this.formatter.block(e)}),{oncePoll:this})})}getBlock(e){return this._getBlock(e,!1)}getBlockWithTransactions(e){return this._getBlock(e,!0)}getTransaction(e){return Oo(this,void 0,void 0,function*(){yield this.getNetwork(),e=yield e;const t={transactionHash:this.formatter.hash(e,!0)};return Aa(()=>Oo(this,void 0,void 0,function*(){const n=yield this.perform("getTransaction",t);if(null==n)return null==this._emitted["t:"+e]?null:void 0;const r=this.formatter.transactionResponse(n);if(null==r.blockNumber)r.confirmations=0;else if(null==r.confirmations){let e=(yield this._getInternalBlockNumber(100+2*this.pollingInterval))-r.blockNumber+1;e<=0&&(e=1),r.confirmations=e}return this._wrapTransaction(r)}),{oncePoll:this})})}getTransactionReceipt(e){return Oo(this,void 0,void 0,function*(){yield this.getNetwork(),e=yield e;const t={transactionHash:this.formatter.hash(e,!0)};return Aa(()=>Oo(this,void 0,void 0,function*(){const n=yield this.perform("getTransactionReceipt",t);if(null==n)return null==this._emitted["t:"+e]?null:void 0;if(null==n.blockHash)return;const r=this.formatter.receipt(n);if(null==r.blockNumber)r.confirmations=0;else if(null==r.confirmations){let e=(yield this._getInternalBlockNumber(100+2*this.pollingInterval))-r.blockNumber+1;e<=0&&(e=1),r.confirmations=e}return r}),{oncePoll:this})})}getLogs(e){return Oo(this,void 0,void 0,function*(){yield this.getNetwork();const t=yield Wn({filter:this._getFilter(e)}),n=yield this.perform("getLogs",t);return n.forEach(e=>{null==e.removed&&(e.removed=!1)}),Po.arrayOf(this.formatter.filterLog.bind(this.formatter))(n)})}getEtherPrice(){return Oo(this,void 0,void 0,function*(){return yield this.getNetwork(),this.perform("getEtherPrice",{})})}_getBlockTag(e){return Oo(this,void 0,void 0,function*(){if("number"==typeof(e=yield e)&&e<0){e%1&&Bo.throwArgumentError("invalid BlockTag","blockTag",e);let t=yield this._getInternalBlockNumber(100+2*this.pollingInterval);return t+=e,t<0&&(t=0),this.formatter.blockTag(t)}return this.formatter.blockTag(e)})}getResolver(e){return Oo(this,void 0,void 0,function*(){let t=e;for(;;){if(""===t||"."===t)return null;if("eth"!==e&&"eth"===t)return null;const n=yield this._getResolver(t,"getResolver");if(null!=n){const r=new eu(this,n,e);return t===e||(yield r.supportsWildcard())?r:null}t=t.split(".").slice(1).join(".")}})}_getResolver(e,t){return Oo(this,void 0,void 0,function*(){null==t&&(t="ENS");const n=yield this.getNetwork();n.ensAddress||Bo.throwError("network does not support ENS",pn.errors.UNSUPPORTED_OPERATION,{operation:t,network:n.name});try{const t=yield this.call({to:n.ensAddress,data:"0x0178b8bf"+ti(e).substring(2)});return this.formatter.callAddress(t)}catch(e){}return null})}resolveName(e){return Oo(this,void 0,void 0,function*(){e=yield e;try{return Promise.resolve(this.formatter.address(e))}catch(t){if(En(e))throw t}"string"!=typeof e&&Bo.throwArgumentError("invalid ENS name","name",e);const t=yield this.getResolver(e);return t?yield t.getAddress():null})}lookupAddress(e){return Oo(this,void 0,void 0,function*(){e=yield e;const t=(e=this.formatter.address(e)).substring(2).toLowerCase()+".addr.reverse",n=yield this._getResolver(t,"lookupAddress");if(null==n)return null;const r=Jo(yield this.call({to:n,data:"0x691f3431"+ti(t).substring(2)}),0);return(yield this.resolveName(r))!=e?null:r})}getAvatar(e){return Oo(this,void 0,void 0,function*(){let t=null;if(En(e)){const n=this.formatter.address(e).substring(2).toLowerCase()+".addr.reverse",r=yield this._getResolver(n,"getAvatar");if(!r)return null;t=new eu(this,r,n);try{const e=yield t.getAvatar();if(e)return e.url}catch(e){if(e.code!==pn.errors.CALL_EXCEPTION)throw e}try{const e=Jo(yield this.call({to:r,data:"0x691f3431"+ti(n).substring(2)}),0);t=yield this.getResolver(e)}catch(e){if(e.code!==pn.errors.CALL_EXCEPTION)throw e;return null}}else if(t=yield this.getResolver(e),!t)return null;const n=yield t.getAvatar();return null==n?null:n.url})}perform(e,t){return Bo.throwError(e+" not implemented",pn.errors.NOT_IMPLEMENTED,{operation:e})}_startEvent(e){this.polling=this._events.filter(e=>e.pollable()).length>0}_stopEvent(e){this.polling=this._events.filter(e=>e.pollable()).length>0}_addEventListener(e,t,n){const r=new qo(Lo(e),t,n);return this._events.push(r),this._startEvent(r),this}on(e,t){return this._addEventListener(e,t,!1)}once(e,t){return this._addEventListener(e,t,!0)}emit(e,...t){let n=!1,r=[],i=Lo(e);return this._events=this._events.filter(e=>e.tag!==i||(setTimeout(()=>{e.listener.apply(this,t)},0),n=!0,!e.once||(r.push(e),!1))),r.forEach(e=>{this._stopEvent(e)}),n}listenerCount(e){if(!e)return this._events.length;let t=Lo(e);return this._events.filter(e=>e.tag===t).length}listeners(e){if(null==e)return this._events.map(e=>e.listener);let t=Lo(e);return this._events.filter(e=>e.tag===t).map(e=>e.listener)}off(e,t){if(null==t)return this.removeAllListeners(e);const n=[];let r=!1,i=Lo(e);return this._events=this._events.filter(e=>e.tag!==i||e.listener!=t||!!r||(r=!0,n.push(e),!1)),n.forEach(e=>{this._stopEvent(e)}),this}removeAllListeners(e){let t=[];if(null==e)t=this._events,this._events=[];else{const n=Lo(e);this._events=this._events.filter(e=>e.tag!==n||(t.push(e),!1))}return t.forEach(e=>{this._stopEvent(e)}),this}}var iu=function(e,t,n,r){return new(n||(n=Promise))(function(i,s){function a(e){try{u(r.next(e))}catch(e){s(e)}}function o(e){try{u(r.throw(e))}catch(e){s(e)}}function u(e){var t;e.done?i(e.value):(t=e.value,t instanceof n?t:new n(function(e){e(t)})).then(a,o)}u((r=r.apply(e,t||[])).next())})};const su=new pn(Ca),au=["call","estimateGas"];function ou(e,t){if(null==e)return null;if("string"==typeof e.message&&e.message.match("reverted")){const n=En(e.data)?e.data:null;if(!t||n)return{message:e.message,data:n}}if("object"==typeof e){for(const n in e){const r=ou(e[n],t);if(r)return r}return null}if("string"==typeof e)try{return ou(JSON.parse(e),t)}catch(e){}return null}function uu(e,t,n){const r=n.transaction||n.signedTransaction;if("call"===e){const e=ou(t,!0);if(e)return e.data;su.throwError("missing revert data in call exception; Transaction reverted without a reason string",pn.errors.CALL_EXCEPTION,{data:"0x",transaction:r,error:t})}if("estimateGas"===e){let n=ou(t.body,!1);null==n&&(n=ou(t,!1)),n&&su.throwError("cannot estimate gas; transaction may fail or may require manual gas limit",pn.errors.UNPREDICTABLE_GAS_LIMIT,{reason:n.message,method:e,transaction:r,error:t})}let i=t.message;throw t.code===pn.errors.SERVER_ERROR&&t.error&&"string"==typeof t.error.message?i=t.error.message:"string"==typeof t.body?i=t.body:"string"==typeof t.responseText&&(i=t.responseText),i=(i||"").toLowerCase(),i.match(/insufficient funds|base fee exceeds gas limit|InsufficientFunds/i)&&su.throwError("insufficient funds for intrinsic transaction cost",pn.errors.INSUFFICIENT_FUNDS,{error:t,method:e,transaction:r}),i.match(/nonce (is )?too low/i)&&su.throwError("nonce has already been used",pn.errors.NONCE_EXPIRED,{error:t,method:e,transaction:r}),i.match(/replacement transaction underpriced|transaction gas price.*too low/i)&&su.throwError("replacement fee too low",pn.errors.REPLACEMENT_UNDERPRICED,{error:t,method:e,transaction:r}),i.match(/only replay-protected/i)&&su.throwError("legacy pre-eip-155 transactions not supported",pn.errors.UNSUPPORTED_OPERATION,{error:t,method:e,transaction:r}),au.indexOf(e)>=0&&i.match(/gas required exceeds allowance|always failing transaction|execution reverted|revert/)&&su.throwError("cannot estimate gas; transaction may fail or may require manual gas limit",pn.errors.UNPREDICTABLE_GAS_LIMIT,{error:t,method:e,transaction:r}),t}function lu(e){return new Promise(function(t){setTimeout(t,e)})}function cu(e){if(e.error){const t=new Error(e.error.message);throw t.code=e.error.code,t.data=e.error.data,t}return e.result}function du(e){return e?e.toLowerCase():e}const hu={};class pu extends S{constructor(e,t,n){if(super(),e!==hu)throw new Error("do not call the JsonRpcSigner constructor directly; use provider.getSigner");Kn(this,"provider",t),null==n&&(n=0),"string"==typeof n?(Kn(this,"_address",this.provider.formatter.address(n)),Kn(this,"_index",null)):"number"==typeof n?(Kn(this,"_index",n),Kn(this,"_address",null)):su.throwArgumentError("invalid address or index","addressOrIndex",n)}connect(e){return su.throwError("cannot alter JSON-RPC Signer connection",pn.errors.UNSUPPORTED_OPERATION,{operation:"connect"})}connectUnchecked(){return new fu(hu,this.provider,this._address||this._index)}getAddress(){return this._address?Promise.resolve(this._address):this.provider.send("eth_accounts",[]).then(e=>(e.length<=this._index&&su.throwError("unknown account #"+this._index,pn.errors.UNSUPPORTED_OPERATION,{operation:"getAddress"}),this.provider.formatter.address(e[this._index])))}sendUncheckedTransaction(e){e=Qn(e);const t=this.getAddress().then(e=>(e&&(e=e.toLowerCase()),e));if(null==e.gasLimit){const n=Qn(e);n.from=t,e.gasLimit=this.provider.estimateGas(n)}return null!=e.to&&(e.to=Promise.resolve(e.to).then(e=>iu(this,void 0,void 0,function*(){if(null==e)return null;const t=yield this.provider.resolveName(e);return null==t&&su.throwArgumentError("provided ENS name resolves to null","tx.to",e),t}))),Wn({tx:Wn(e),sender:t}).then(({tx:t,sender:n})=>{null!=t.from?t.from.toLowerCase()!==n&&su.throwArgumentError("from address mismatch","transaction",e):t.from=n;const r=this.provider.constructor.hexlifyTransaction(t,{from:!0});return this.provider.send("eth_sendTransaction",[r]).then(e=>e,e=>("string"==typeof e.message&&e.message.match(/user denied/i)&&su.throwError("user rejected transaction",pn.errors.ACTION_REJECTED,{action:"sendTransaction",transaction:t}),uu("sendTransaction",e,r)))})}signTransaction(e){return su.throwError("signing transactions is unsupported",pn.errors.UNSUPPORTED_OPERATION,{operation:"signTransaction"})}sendTransaction(e){return iu(this,void 0,void 0,function*(){const t=yield this.provider._getInternalBlockNumber(100+2*this.provider.pollingInterval),n=yield this.sendUncheckedTransaction(e);try{return yield Aa(()=>iu(this,void 0,void 0,function*(){const e=yield this.provider.getTransaction(n);if(null!==e)return this.provider._wrapTransaction(e,n,t)}),{oncePoll:this.provider})}catch(e){throw e.transactionHash=n,e}})}signMessage(e){return iu(this,void 0,void 0,function*(){const t="string"==typeof e?_r(e):e,n=yield this.getAddress();try{return yield this.provider.send("personal_sign",[Sn(t),n.toLowerCase()])}catch(t){throw"string"==typeof t.message&&t.message.match(/user denied/i)&&su.throwError("user rejected signing",pn.errors.ACTION_REJECTED,{action:"signMessage",from:n,messageData:e}),t}})}_legacySignMessage(e){return iu(this,void 0,void 0,function*(){const t="string"==typeof e?_r(e):e,n=yield this.getAddress();try{return yield this.provider.send("eth_sign",[n.toLowerCase(),Sn(t)])}catch(t){throw"string"==typeof t.message&&t.message.match(/user denied/i)&&su.throwError("user rejected signing",pn.errors.ACTION_REJECTED,{action:"_legacySignMessage",from:n,messageData:e}),t}})}_signTypedData(e,t,n){return iu(this,void 0,void 0,function*(){const r=yield Mi.resolveNames(e,t,n,e=>this.provider.resolveName(e)),i=yield this.getAddress();try{return yield this.provider.send("eth_signTypedData_v4",[i.toLowerCase(),JSON.stringify(Mi.getPayload(r.domain,t,r.value))])}catch(e){throw"string"==typeof e.message&&e.message.match(/user denied/i)&&su.throwError("user rejected signing",pn.errors.ACTION_REJECTED,{action:"_signTypedData",from:i,messageData:{domain:r.domain,types:t,value:r.value}}),e}})}unlock(e){return iu(this,void 0,void 0,function*(){const t=this.provider,n=yield this.getAddress();return t.send("personal_unlockAccount",[n.toLowerCase(),e,null])})}}class fu extends pu{sendTransaction(e){return this.sendUncheckedTransaction(e).then(e=>({hash:e,nonce:null,gasLimit:null,gasPrice:null,data:null,value:null,chainId:null,confirmations:0,from:null,wait:t=>this.provider.waitForTransaction(e,t)}))}}const mu={chainId:!0,data:!0,gasLimit:!0,gasPrice:!0,nonce:!0,to:!0,value:!0,type:!0,accessList:!0,maxFeePerGas:!0,maxPriorityFeePerGas:!0};class yu extends ru{constructor(e,t){let n=t;null==n&&(n=new Promise((e,t)=>{setTimeout(()=>{this.detectNetwork().then(t=>{e(t)},e=>{t(e)})},0)})),super(n),e||(e=jn(this.constructor,"defaultUrl")()),Kn(this,"connection",Object.freeze("string"==typeof e?{url:e}:Qn(e))),this._nextId=42}get _cache(){return null==this._eventLoopCache&&(this._eventLoopCache={}),this._eventLoopCache}static defaultUrl(){return"http://localhost:8545"}detectNetwork(){return this._cache.detectNetwork||(this._cache.detectNetwork=this._uncachedDetectNetwork(),setTimeout(()=>{this._cache.detectNetwork=null},0)),this._cache.detectNetwork}_uncachedDetectNetwork(){return iu(this,void 0,void 0,function*(){yield lu(0);let e=null;try{e=yield this.send("eth_chainId",[])}catch(t){try{e=yield this.send("net_version",[])}catch(e){}}if(null!=e){const t=jn(this.constructor,"getNetwork");try{return t(Ln.from(e).toNumber())}catch(t){return su.throwError("could not detect network",pn.errors.NETWORK_ERROR,{chainId:e,event:"invalidNetwork",serverError:t})}}return su.throwError("could not detect network",pn.errors.NETWORK_ERROR,{event:"noNetwork"})})}getSigner(e){return new pu(hu,this,e)}getUncheckedSigner(e){return this.getSigner(e).connectUnchecked()}listAccounts(){return this.send("eth_accounts",[]).then(e=>e.map(e=>this.formatter.address(e)))}send(e,t){const n={method:e,params:t,id:this._nextId++,jsonrpc:"2.0"};this.emit("debug",{action:"request",request:$n(n),provider:this});const r=["eth_chainId","eth_blockNumber"].indexOf(e)>=0;if(r&&this._cache[e])return this._cache[e];const i=wa(this.connection,JSON.stringify(n),cu).then(e=>(this.emit("debug",{action:"response",request:n,response:e,provider:this}),e),e=>{throw this.emit("debug",{action:"response",error:e,request:n,provider:this}),e});return r&&(this._cache[e]=i,setTimeout(()=>{this._cache[e]=null},0)),i}prepareRequest(e,t){switch(e){case"getBlockNumber":return["eth_blockNumber",[]];case"getGasPrice":return["eth_gasPrice",[]];case"getBalance":return["eth_getBalance",[du(t.address),t.blockTag]];case"getTransactionCount":return["eth_getTransactionCount",[du(t.address),t.blockTag]];case"getCode":return["eth_getCode",[du(t.address),t.blockTag]];case"getStorageAt":return["eth_getStorageAt",[du(t.address),Mn(t.position,32),t.blockTag]];case"sendTransaction":return["eth_sendRawTransaction",[t.signedTransaction]];case"getBlock":return t.blockTag?["eth_getBlockByNumber",[t.blockTag,!!t.includeTransactions]]:t.blockHash?["eth_getBlockByHash",[t.blockHash,!!t.includeTransactions]]:null;case"getTransaction":return["eth_getTransactionByHash",[t.transactionHash]];case"getTransactionReceipt":return["eth_getTransactionReceipt",[t.transactionHash]];case"call":return["eth_call",[jn(this.constructor,"hexlifyTransaction")(t.transaction,{from:!0}),t.blockTag]];case"estimateGas":return["eth_estimateGas",[jn(this.constructor,"hexlifyTransaction")(t.transaction,{from:!0})]];case"getLogs":return t.filter&&null!=t.filter.address&&(t.filter.address=du(t.filter.address)),["eth_getLogs",[t.filter]]}return null}perform(e,t){return iu(this,void 0,void 0,function*(){if("call"===e||"estimateGas"===e){const e=t.transaction;if(e&&null!=e.type&&Ln.from(e.type).isZero()&&null==e.maxFeePerGas&&null==e.maxPriorityFeePerGas){const n=yield this.getFeeData();null==n.maxFeePerGas&&null==n.maxPriorityFeePerGas&&((t=Qn(t)).transaction=Qn(e),delete t.transaction.type)}}const n=this.prepareRequest(e,t);null==n&&su.throwError(e+" not implemented",pn.errors.NOT_IMPLEMENTED,{operation:e});try{return yield this.send(n[0],n[1])}catch(n){return uu(e,n,t)}})}_startEvent(e){"pending"===e.tag&&this._startPending(),super._startEvent(e)}_startPending(){if(null!=this._pendingFilter)return;const e=this,t=this.send("eth_newPendingTransactionFilter",[]);this._pendingFilter=t,t.then(function(n){return function r(){e.send("eth_getFilterChanges",[n]).then(function(n){if(e._pendingFilter!=t)return null;let r=Promise.resolve();return n.forEach(function(t){e._emitted["t:"+t.toLowerCase()]="pending",r=r.then(function(){return e.getTransaction(t).then(function(t){return e.emit("pending",t),null})})}),r.then(function(){return lu(1e3)})}).then(function(){if(e._pendingFilter==t)return setTimeout(function(){r()},0),null;e.send("eth_uninstallFilter",[n])}).catch(e=>{})}(),n}).catch(e=>{})}_stopEvent(e){"pending"===e.tag&&0===this.listenerCount("pending")&&(this._pendingFilter=null),super._stopEvent(e)}static hexlifyTransaction(e,t){const n=Qn(mu);if(t)for(const e in t)t[e]&&(n[e]=!0);Jn(e,n);const r={};return["chainId","gasLimit","gasPrice","type","maxFeePerGas","maxPriorityFeePerGas","nonce","value"].forEach(function(t){if(null==e[t])return;const n=xn(Ln.from(e[t]));"gasLimit"===t&&(t="gas"),r[t]=n}),["from","to","data"].forEach(function(t){null!=e[t]&&(r[t]=Sn(e[t]))}),e.accessList&&(r.accessList=ko(e.accessList)),r}}const gu=new pn("random/5.8.0"),bu=function(){if("undefined"!=typeof self)return self;if("undefined"!=typeof window)return window;if("undefined"!=typeof global)return global;throw new Error("unable to locate global object")}();let vu=bu.crypto||bu.msCrypto;function wu(e){(e<=0||e>1024||e%1||e!=e)&&gu.throwArgumentError("invalid length","length",e);const t=new Uint8Array(e);return vu.getRandomValues(t),wn(t)}vu&&vu.getRandomValues||(gu.warn("WARNING: Missing strong random number source"),vu={getRandomValues:function(e){return gu.throwError("no secure random source avaialble",pn.errors.UNSUPPORTED_OPERATION,{operation:"crypto.getRandomValues"})}});const Au=new pn(Ca);let Tu=1;function Eu(e,t){const n="Web3LegacyFetcher";return function(e,r){const i={method:e,params:r,id:Tu++,jsonrpc:"2.0"};return new Promise((e,r)=>{this.emit("debug",{action:"request",fetcher:n,request:$n(i),provider:this}),t(i,(t,s)=>{if(t)return this.emit("debug",{action:"response",fetcher:n,error:t,request:i,provider:this}),r(t);if(this.emit("debug",{action:"response",fetcher:n,request:i,response:s,provider:this}),s.error){const e=new Error(s.error.message);return e.code=s.error.code,e.data=s.error.data,r(e)}e(s.result)})})}}class Iu extends yu{constructor(e,t){null==e&&Au.throwArgumentError("missing provider","provider",e);let n=null,r=null,i=null;"function"==typeof e?(n="unknown:",r=e):(n=e.host||e.path||"",!n&&e.isMetaMask&&(n="metamask"),i=e,e.request?(""===n&&(n="eip-1193:"),r=function(e){return function(t,n){null==n&&(n=[]);const r={method:t,params:n};return this.emit("debug",{action:"request",fetcher:"Eip1193Fetcher",request:$n(r),provider:this}),e.request(r).then(e=>(this.emit("debug",{action:"response",fetcher:"Eip1193Fetcher",request:r,response:e,provider:this}),e),e=>{throw this.emit("debug",{action:"response",fetcher:"Eip1193Fetcher",request:r,error:e,provider:this}),e})}}(e)):e.sendAsync?r=Eu(0,e.sendAsync.bind(e)):e.send?r=Eu(0,e.send.bind(e)):Au.throwArgumentError("unsupported provider","provider",e),n||(n="unknown:")),super(n,t),Kn(this,"jsonRpcFetchFunc",r),Kn(this,"provider",i)}send(e,t){return this.jsonRpcFetchFunc(e,t)}}function Su(e,t,n,r,i){let s;e=wn(e),t=wn(t);let a=1;const o=new Uint8Array(r),u=new Uint8Array(t.length+4);let l,c;u.set(t);for(let d=1;d<=a;d++){u[t.length]=d>>24&255,u[t.length+1]=d>>16&255,u[t.length+2]=d>>8&255,u[t.length+3]=255&d;let h=wn(pa(i,e,u));s||(s=h.length,c=new Uint8Array(s),a=Math.ceil(r/s),l=r-(a-1)*s),c.set(h);for(let t=1;t<n;t++){h=wn(pa(i,e,h));for(let e=0;e<s;e++)c[e]^=h[e]}const p=(d-1)*s,f=d===a?l:s;o.set(wn(c).slice(0,f),p)}return Sn(o)}new pn(Ca);const ku=new pn("wordlists/5.8.0");class Cu{constructor(e){ku.checkAbstract(new.target,Cu),Kn(this,"locale",e)}split(e){return e.toLowerCase().split(/ +/g)}join(e){return e.join(" ")}static check(e){const t=[];for(let n=0;n<2048;n++){const r=e.getWord(n);if(n!==e.getWordIndex(r))return"0x";t.push(r)}return Mr(t.join("\n")+"\n")}static register(e,t){}}const _u="AbandonAbilityAbleAboutAboveAbsentAbsorbAbstractAbsurdAbuseAccessAccidentAccountAccuseAchieveAcidAcousticAcquireAcrossActActionActorActressActualAdaptAddAddictAddressAdjustAdmitAdultAdvanceAdviceAerobicAffairAffordAfraidAgainAgeAgentAgreeAheadAimAirAirportAisleAlarmAlbumAlcoholAlertAlienAllAlleyAllowAlmostAloneAlphaAlreadyAlsoAlterAlwaysAmateurAmazingAmongAmountAmusedAnalystAnchorAncientAngerAngleAngryAnimalAnkleAnnounceAnnualAnotherAnswerAntennaAntiqueAnxietyAnyApartApologyAppearAppleApproveAprilArchArcticAreaArenaArgueArmArmedArmorArmyAroundArrangeArrestArriveArrowArtArtefactArtistArtworkAskAspectAssaultAssetAssistAssumeAsthmaAthleteAtomAttackAttendAttitudeAttractAuctionAuditAugustAuntAuthorAutoAutumnAverageAvocadoAvoidAwakeAwareAwayAwesomeAwfulAwkwardAxisBabyBachelorBaconBadgeBagBalanceBalconyBallBambooBananaBannerBarBarelyBargainBarrelBaseBasicBasketBattleBeachBeanBeautyBecauseBecomeBeefBeforeBeginBehaveBehindBelieveBelowBeltBenchBenefitBestBetrayBetterBetweenBeyondBicycleBidBikeBindBiologyBirdBirthBitterBlackBladeBlameBlanketBlastBleakBlessBlindBloodBlossomBlouseBlueBlurBlushBoardBoatBodyBoilBombBoneBonusBookBoostBorderBoringBorrowBossBottomBounceBoxBoyBracketBrainBrandBrassBraveBreadBreezeBrickBridgeBriefBrightBringBriskBroccoliBrokenBronzeBroomBrotherBrownBrushBubbleBuddyBudgetBuffaloBuildBulbBulkBulletBundleBunkerBurdenBurgerBurstBusBusinessBusyButterBuyerBuzzCabbageCabinCableCactusCageCakeCallCalmCameraCampCanCanalCancelCandyCannonCanoeCanvasCanyonCapableCapitalCaptainCarCarbonCardCargoCarpetCarryCartCaseCashCasinoCastleCasualCatCatalogCatchCategoryCattleCaughtCauseCautionCaveCeilingCeleryCementCensusCenturyCerealCertainChairChalkChampionChangeChaosChapterChargeChaseChatCheapCheckCheeseChefCherryChestChickenChiefChildChimneyChoiceChooseChronicChuckleChunkChurnCigarCinnamonCircleCitizenCityCivilClaimClapClarifyClawClayCleanClerkCleverClickClientCliffClimbClinicClipClockClogCloseClothCloudClownClubClumpClusterClutchCoachCoastCoconutCodeCoffeeCoilCoinCollectColorColumnCombineComeComfortComicCommonCompanyConcertConductConfirmCongressConnectConsiderControlConvinceCookCoolCopperCopyCoralCoreCornCorrectCostCottonCouchCountryCoupleCourseCousinCoverCoyoteCrackCradleCraftCramCraneCrashCraterCrawlCrazyCreamCreditCreekCrewCricketCrimeCrispCriticCropCrossCrouchCrowdCrucialCruelCruiseCrumbleCrunchCrushCryCrystalCubeCultureCupCupboardCuriousCurrentCurtainCurveCushionCustomCuteCycleDadDamageDampDanceDangerDaringDashDaughterDawnDayDealDebateDebrisDecadeDecemberDecideDeclineDecorateDecreaseDeerDefenseDefineDefyDegreeDelayDeliverDemandDemiseDenialDentistDenyDepartDependDepositDepthDeputyDeriveDescribeDesertDesignDeskDespairDestroyDetailDetectDevelopDeviceDevoteDiagramDialDiamondDiaryDiceDieselDietDifferDigitalDignityDilemmaDinnerDinosaurDirectDirtDisagreeDiscoverDiseaseDishDismissDisorderDisplayDistanceDivertDivideDivorceDizzyDoctorDocumentDogDollDolphinDomainDonateDonkeyDonorDoorDoseDoubleDoveDraftDragonDramaDrasticDrawDreamDressDriftDrillDrinkDripDriveDropDrumDryDuckDumbDuneDuringDustDutchDutyDwarfDynamicEagerEagleEarlyEarnEarthEasilyEastEasyEchoEcologyEconomyEdgeEditEducateEffortEggEightEitherElbowElderElectricElegantElementElephantElevatorEliteElseEmbarkEmbodyEmbraceEmergeEmotionEmployEmpowerEmptyEnableEnactEndEndlessEndorseEnemyEnergyEnforceEngageEngineEnhanceEnjoyEnlistEnoughEnrichEnrollEnsureEnterEntireEntryEnvelopeEpisodeEqualEquipEraEraseErodeErosionErrorEruptEscapeEssayEssenceEstateEternalEthicsEvidenceEvilEvokeEvolveExactExampleExcessExchangeExciteExcludeExcuseExecuteExerciseExhaustExhibitExileExistExitExoticExpandExpectExpireExplainExposeExpressExtendExtraEyeEyebrowFabricFaceFacultyFadeFaintFaithFallFalseFameFamilyFamousFanFancyFantasyFarmFashionFatFatalFatherFatigueFaultFavoriteFeatureFebruaryFederalFeeFeedFeelFemaleFenceFestivalFetchFeverFewFiberFictionFieldFigureFileFilmFilterFinalFindFineFingerFinishFireFirmFirstFiscalFishFitFitnessFixFlagFlameFlashFlatFlavorFleeFlightFlipFloatFlockFloorFlowerFluidFlushFlyFoamFocusFogFoilFoldFollowFoodFootForceForestForgetForkFortuneForumForwardFossilFosterFoundFoxFragileFrameFrequentFreshFriendFringeFrogFrontFrostFrownFrozenFruitFuelFunFunnyFurnaceFuryFutureGadgetGainGalaxyGalleryGameGapGarageGarbageGardenGarlicGarmentGasGaspGateGatherGaugeGazeGeneralGeniusGenreGentleGenuineGestureGhostGiantGiftGiggleGingerGiraffeGirlGiveGladGlanceGlareGlassGlideGlimpseGlobeGloomGloryGloveGlowGlueGoatGoddessGoldGoodGooseGorillaGospelGossipGovernGownGrabGraceGrainGrantGrapeGrassGravityGreatGreenGridGriefGritGroceryGroupGrowGruntGuardGuessGuideGuiltGuitarGunGymHabitHairHalfHammerHamsterHandHappyHarborHardHarshHarvestHatHaveHawkHazardHeadHealthHeartHeavyHedgehogHeightHelloHelmetHelpHenHeroHiddenHighHillHintHipHireHistoryHobbyHockeyHoldHoleHolidayHollowHomeHoneyHoodHopeHornHorrorHorseHospitalHostHotelHourHoverHubHugeHumanHumbleHumorHundredHungryHuntHurdleHurryHurtHusbandHybridIceIconIdeaIdentifyIdleIgnoreIllIllegalIllnessImageImitateImmenseImmuneImpactImposeImproveImpulseInchIncludeIncomeIncreaseIndexIndicateIndoorIndustryInfantInflictInformInhaleInheritInitialInjectInjuryInmateInnerInnocentInputInquiryInsaneInsectInsideInspireInstallIntactInterestIntoInvestInviteInvolveIronIslandIsolateIssueItemIvoryJacketJaguarJarJazzJealousJeansJellyJewelJobJoinJokeJourneyJoyJudgeJuiceJumpJungleJuniorJunkJustKangarooKeenKeepKetchupKeyKickKidKidneyKindKingdomKissKitKitchenKiteKittenKiwiKneeKnifeKnockKnowLabLabelLaborLadderLadyLakeLampLanguageLaptopLargeLaterLatinLaughLaundryLavaLawLawnLawsuitLayerLazyLeaderLeafLearnLeaveLectureLeftLegLegalLegendLeisureLemonLendLengthLensLeopardLessonLetterLevelLiarLibertyLibraryLicenseLifeLiftLightLikeLimbLimitLinkLionLiquidListLittleLiveLizardLoadLoanLobsterLocalLockLogicLonelyLongLoopLotteryLoudLoungeLoveLoyalLuckyLuggageLumberLunarLunchLuxuryLyricsMachineMadMagicMagnetMaidMailMainMajorMakeMammalManManageMandateMangoMansionManualMapleMarbleMarchMarginMarineMarketMarriageMaskMassMasterMatchMaterialMathMatrixMatterMaximumMazeMeadowMeanMeasureMeatMechanicMedalMediaMelodyMeltMemberMemoryMentionMenuMercyMergeMeritMerryMeshMessageMetalMethodMiddleMidnightMilkMillionMimicMindMinimumMinorMinuteMiracleMirrorMiseryMissMistakeMixMixedMixtureMobileModelModifyMomMomentMonitorMonkeyMonsterMonthMoonMoralMoreMorningMosquitoMotherMotionMotorMountainMouseMoveMovieMuchMuffinMuleMultiplyMuscleMuseumMushroomMusicMustMutualMyselfMysteryMythNaiveNameNapkinNarrowNastyNationNatureNearNeckNeedNegativeNeglectNeitherNephewNerveNestNetNetworkNeutralNeverNewsNextNiceNightNobleNoiseNomineeNoodleNormalNorthNoseNotableNoteNothingNoticeNovelNowNuclearNumberNurseNutOakObeyObjectObligeObscureObserveObtainObviousOccurOceanOctoberOdorOffOfferOfficeOftenOilOkayOldOliveOlympicOmitOnceOneOnionOnlineOnlyOpenOperaOpinionOpposeOptionOrangeOrbitOrchardOrderOrdinaryOrganOrientOriginalOrphanOstrichOtherOutdoorOuterOutputOutsideOvalOvenOverOwnOwnerOxygenOysterOzonePactPaddlePagePairPalacePalmPandaPanelPanicPantherPaperParadeParentParkParrotPartyPassPatchPathPatientPatrolPatternPausePavePaymentPeacePeanutPearPeasantPelicanPenPenaltyPencilPeoplePepperPerfectPermitPersonPetPhonePhotoPhrasePhysicalPianoPicnicPicturePiecePigPigeonPillPilotPinkPioneerPipePistolPitchPizzaPlacePlanetPlasticPlatePlayPleasePledgePluckPlugPlungePoemPoetPointPolarPolePolicePondPonyPoolPopularPortionPositionPossiblePostPotatoPotteryPovertyPowderPowerPracticePraisePredictPreferPreparePresentPrettyPreventPricePridePrimaryPrintPriorityPrisonPrivatePrizeProblemProcessProduceProfitProgramProjectPromoteProofPropertyProsperProtectProudProvidePublicPuddingPullPulpPulsePumpkinPunchPupilPuppyPurchasePurityPurposePursePushPutPuzzlePyramidQualityQuantumQuarterQuestionQuickQuitQuizQuoteRabbitRaccoonRaceRackRadarRadioRailRainRaiseRallyRampRanchRandomRangeRapidRareRateRatherRavenRawRazorReadyRealReasonRebelRebuildRecallReceiveRecipeRecordRecycleReduceReflectReformRefuseRegionRegretRegularRejectRelaxReleaseReliefRelyRemainRememberRemindRemoveRenderRenewRentReopenRepairRepeatReplaceReportRequireRescueResembleResistResourceResponseResultRetireRetreatReturnReunionRevealReviewRewardRhythmRibRibbonRiceRichRideRidgeRifleRightRigidRingRiotRippleRiskRitualRivalRiverRoadRoastRobotRobustRocketRomanceRoofRookieRoomRoseRotateRoughRoundRouteRoyalRubberRudeRugRuleRunRunwayRuralSadSaddleSadnessSafeSailSaladSalmonSalonSaltSaluteSameSampleSandSatisfySatoshiSauceSausageSaveSayScaleScanScareScatterSceneSchemeSchoolScienceScissorsScorpionScoutScrapScreenScriptScrubSeaSearchSeasonSeatSecondSecretSectionSecuritySeedSeekSegmentSelectSellSeminarSeniorSenseSentenceSeriesServiceSessionSettleSetupSevenShadowShaftShallowShareShedShellSheriffShieldShiftShineShipShiverShockShoeShootShopShortShoulderShoveShrimpShrugShuffleShySiblingSickSideSiegeSightSignSilentSilkSillySilverSimilarSimpleSinceSingSirenSisterSituateSixSizeSkateSketchSkiSkillSkinSkirtSkullSlabSlamSleepSlenderSliceSlideSlightSlimSloganSlotSlowSlushSmallSmartSmileSmokeSmoothSnackSnakeSnapSniffSnowSoapSoccerSocialSockSodaSoftSolarSoldierSolidSolutionSolveSomeoneSongSoonSorrySortSoulSoundSoupSourceSouthSpaceSpareSpatialSpawnSpeakSpecialSpeedSpellSpendSphereSpiceSpiderSpikeSpinSpiritSplitSpoilSponsorSpoonSportSpotSpraySpreadSpringSpySquareSqueezeSquirrelStableStadiumStaffStageStairsStampStandStartStateStaySteakSteelStemStepStereoStickStillStingStockStomachStoneStoolStoryStoveStrategyStreetStrikeStrongStruggleStudentStuffStumbleStyleSubjectSubmitSubwaySuccessSuchSuddenSufferSugarSuggestSuitSummerSunSunnySunsetSuperSupplySupremeSureSurfaceSurgeSurpriseSurroundSurveySuspectSustainSwallowSwampSwapSwarmSwearSweetSwiftSwimSwingSwitchSwordSymbolSymptomSyrupSystemTableTackleTagTailTalentTalkTankTapeTargetTaskTasteTattooTaxiTeachTeamTellTenTenantTennisTentTermTestTextThankThatThemeThenTheoryThereTheyThingThisThoughtThreeThriveThrowThumbThunderTicketTideTigerTiltTimberTimeTinyTipTiredTissueTitleToastTobaccoTodayToddlerToeTogetherToiletTokenTomatoTomorrowToneTongueTonightToolToothTopTopicToppleTorchTornadoTortoiseTossTotalTouristTowardTowerTownToyTrackTradeTrafficTragicTrainTransferTrapTrashTravelTrayTreatTreeTrendTrialTribeTrickTriggerTrimTripTrophyTroubleTruckTrueTrulyTrumpetTrustTruthTryTubeTuitionTumbleTunaTunnelTurkeyTurnTurtleTwelveTwentyTwiceTwinTwistTwoTypeTypicalUglyUmbrellaUnableUnawareUncleUncoverUnderUndoUnfairUnfoldUnhappyUniformUniqueUnitUniverseUnknownUnlockUntilUnusualUnveilUpdateUpgradeUpholdUponUpperUpsetUrbanUrgeUsageUseUsedUsefulUselessUsualUtilityVacantVacuumVagueValidValleyValveVanVanishVaporVariousVastVaultVehicleVelvetVendorVentureVenueVerbVerifyVersionVeryVesselVeteranViableVibrantViciousVictoryVideoViewVillageVintageViolinVirtualVirusVisaVisitVisualVitalVividVocalVoiceVoidVolcanoVolumeVoteVoyageWageWagonWaitWalkWallWalnutWantWarfareWarmWarriorWashWaspWasteWaterWaveWayWealthWeaponWearWeaselWeatherWebWeddingWeekendWeirdWelcomeWestWetWhaleWhatWheatWheelWhenWhereWhipWhisperWideWidthWifeWildWillWinWindowWineWingWinkWinnerWinterWireWisdomWiseWishWitnessWolfWomanWonderWoodWoolWordWorkWorldWorryWorthWrapWreckWrestleWristWriteWrongYardYearYellowYouYoungYouthZebraZeroZoneZoo";let xu=null;function Mu(e){if(null==xu&&(xu=_u.replace(/([A-Z])/g," $1").toLowerCase().substring(1).split(" "),"0x3c8acc1e7b08d8e76f9fda015ef48dc8c710a73cb7e0f77b2c18a9b5a7adde60"!==Cu.check(e)))throw xu=null,new Error("BIP39 Wordlist for en (English) FAILED")}const Nu=new class extends Cu{constructor(){super("en")}getWord(e){return Mu(this),xu[e]}getWordIndex(e){return Mu(this),xu.indexOf(e)}};Cu.register(Nu);const Ru={en:Nu},Pu=new pn("hdnode/5.8.0"),Ou=Ln.from("0xfffffffffffffffffffffffffffffffebaaedce6af48a03bbfd25e8cd0364141"),Bu=_r("Bitcoin seed"),Du=2147483648;function Fu(e){return(1<<e)-1<<8-e}function Lu(e){return Mn(Sn(e),32)}function Uu(e){return fr.encode(An([e,Cn(ha(ha(e)),0,4)]))}function Gu(e){if(null==e)return Ru.en;if("string"==typeof e){const t=Ru[e];return null==t&&Pu.throwArgumentError("unknown locale","wordlist",e),t}return e}const Hu={},qu="m/44'/60'/0'/0/0";class zu{constructor(e,t,n,r,i,s,a,o){if(e!==Hu)throw new Error("HDNode constructor cannot be called directly");if(t){const e=new fo(t);Kn(this,"privateKey",e.privateKey),Kn(this,"publicKey",e.compressedPublicKey)}else Kn(this,"privateKey",null),Kn(this,"publicKey",Sn(n));var u;Kn(this,"parentFingerprint",r),Kn(this,"fingerprint",Cn((u=ha(this.publicKey),"0x"+ca.ripemd160().update(wn(u)).digest("hex")),0,4)),Kn(this,"address",To(this.publicKey)),Kn(this,"chainCode",i),Kn(this,"index",s),Kn(this,"depth",a),null==o?(Kn(this,"mnemonic",null),Kn(this,"path",null)):"string"==typeof o?(Kn(this,"mnemonic",null),Kn(this,"path",o)):(Kn(this,"mnemonic",o),Kn(this,"path",o.path))}get extendedKey(){if(this.depth>=256)throw new Error("Depth too large!");return Uu(An([null!=this.privateKey?"0x0488ADE4":"0x0488B21E",Sn(this.depth),this.parentFingerprint,Mn(Sn(this.index),4),this.chainCode,null!=this.privateKey?An(["0x00",this.privateKey]):this.publicKey]))}neuter(){return new zu(Hu,null,this.publicKey,this.parentFingerprint,this.chainCode,this.index,this.depth,this.path)}_derive(e){if(e>4294967295)throw new Error("invalid index - "+String(e));let t=this.path;t&&(t+="/"+(2147483647&e));const n=new Uint8Array(37);if(e&Du){if(!this.privateKey)throw new Error("cannot derive child of neutered node");n.set(wn(this.privateKey),1),t&&(t+="'")}else n.set(wn(this.publicKey));for(let t=24;t>=0;t-=8)n[33+(t>>3)]=e>>24-t&255;const r=wn(pa(ua.sha512,this.chainCode,n)),i=r.slice(0,32),s=r.slice(32);let a=null,o=null;this.privateKey?a=Lu(Ln.from(i).add(this.privateKey).mod(Ou)):o=new fo(Sn(i))._addPoint(this.publicKey);let u=t;const l=this.mnemonic;return l&&(u=Object.freeze({phrase:l.phrase,path:t,locale:l.locale||"en"})),new zu(Hu,a,o,this.fingerprint,Lu(s),e,this.depth+1,u)}derivePath(e){const t=e.split("/");if(0===t.length||"m"===t[0]&&0!==this.depth)throw new Error("invalid path - "+e);"m"===t[0]&&t.shift();let n=this;for(let e=0;e<t.length;e++){const r=t[e];if(r.match(/^[0-9]+'$/)){const e=parseInt(r.substring(0,r.length-1));if(e>=Du)throw new Error("invalid path index - "+r);n=n._derive(Du+e)}else{if(!r.match(/^[0-9]+$/))throw new Error("invalid path component - "+r);{const e=parseInt(r);if(e>=Du)throw new Error("invalid path index - "+r);n=n._derive(e)}}}return n}static _fromSeed(e,t){const n=wn(e);if(n.length<16||n.length>64)throw new Error("invalid seed");const r=wn(pa(ua.sha512,Bu,n));return new zu(Hu,Lu(r.slice(0,32)),null,"0x00000000",Lu(r.slice(32)),0,0,t)}static fromMnemonic(e,t,n){return e=Ku(Vu(e,n=Gu(n)),n),zu._fromSeed(function(e,t){t||(t="");const n=_r("mnemonic"+t,Er.NFKD);return Su(_r(e,Er.NFKD),n,2048,64,"sha512")}(e,t),{phrase:e,path:"m",locale:n.locale})}static fromSeed(e){return zu._fromSeed(e,null)}static fromExtendedKey(e){const t=fr.decode(e);82===t.length&&Uu(t.slice(0,78))===e||Pu.throwArgumentError("invalid extended key","extendedKey","[REDACTED]");const n=t[4],r=Sn(t.slice(5,9)),i=parseInt(Sn(t.slice(9,13)).substring(2),16),s=Sn(t.slice(13,45)),a=t.slice(45,78);switch(Sn(t.slice(0,4))){case"0x0488b21e":case"0x043587cf":return new zu(Hu,null,Sn(a),r,s,i,n,null);case"0x0488ade4":case"0x04358394 ":if(0!==a[0])break;return new zu(Hu,Sn(a.slice(1)),null,r,s,i,n,null)}return Pu.throwArgumentError("invalid extended key","extendedKey","[REDACTED]")}}function Vu(e,t){t=Gu(t),Pu.checkNormalize();const n=t.split(e);if(n.length%3!=0)throw new Error("invalid mnemonic");const r=wn(new Uint8Array(Math.ceil(11*n.length/8)));let i=0;for(let e=0;e<n.length;e++){let s=t.getWordIndex(n[e].normalize("NFKD"));if(-1===s)throw new Error("invalid mnemonic");for(let e=0;e<11;e++)s&1<<10-e&&(r[i>>3]|=1<<7-i%8),i++}const s=32*n.length/3,a=Fu(n.length/3);if((wn(ha(r.slice(0,s/8)))[0]&a)!=(r[r.length-1]&a))throw new Error("invalid checksum");return Sn(r.slice(0,s/8))}function Ku(e,t){if(t=Gu(t),(e=wn(e)).length%4!=0||e.length<16||e.length>32)throw new Error("invalid entropy");const n=[0];let r=11;for(let t=0;t<e.length;t++)r>8?(n[n.length-1]<<=8,n[n.length-1]|=e[t],r-=8):(n[n.length-1]<<=r,n[n.length-1]|=e[t]>>8-r,n.push(e[t]&(1<<8-r)-1),r+=3);const i=e.length/4,s=wn(ha(e))[0]&Fu(i);return n[n.length-1]<<=i,n[n.length-1]|=s>>8-i,t.join(n.map(e=>t.getWord(e)))}var ju=en(function(e,t){!function(t){function n(e){return parseInt(e)===e}function r(e){if(!n(e.length))return!1;for(var t=0;t<e.length;t++)if(!n(e[t])||e[t]<0||e[t]>255)return!1;return!0}function i(e,t){if(e.buffer&&ArrayBuffer.isView(e)&&"Uint8Array"===e.name)return t&&(e=e.slice?e.slice():Array.prototype.slice.call(e)),e;if(Array.isArray(e)){if(!r(e))throw new Error("Array contains invalid value: "+e);return new Uint8Array(e)}if(n(e.length)&&r(e))return new Uint8Array(e);throw new Error("unsupported array-like object")}function s(e){return new Uint8Array(e)}function a(e,t,n,r,i){null==r&&null==i||(e=e.slice?e.slice(r,i):Array.prototype.slice.call(e,r,i)),t.set(e,n)}var o,u={toBytes:function(e){var t=[],n=0;for(e=encodeURI(e);n<e.length;){var r=e.charCodeAt(n++);37===r?(t.push(parseInt(e.substr(n,2),16)),n+=2):t.push(r)}return i(t)},fromBytes:function(e){for(var t=[],n=0;n<e.length;){var r=e[n];r<128?(t.push(String.fromCharCode(r)),n++):r>191&&r<224?(t.push(String.fromCharCode((31&r)<<6|63&e[n+1])),n+=2):(t.push(String.fromCharCode((15&r)<<12|(63&e[n+1])<<6|63&e[n+2])),n+=3)}return t.join("")}},l=(o="0123456789abcdef",{toBytes:function(e){for(var t=[],n=0;n<e.length;n+=2)t.push(parseInt(e.substr(n,2),16));return t},fromBytes:function(e){for(var t=[],n=0;n<e.length;n++){var r=e[n];t.push(o[(240&r)>>4]+o[15&r])}return t.join("")}}),c={16:10,24:12,32:14},d=[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],h=[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],p=[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],f=[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],m=[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],y=[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],g=[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],b=[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],v=[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],w=[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],A=[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],T=[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],E=[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],I=[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],S=[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 k(e){for(var t=[],n=0;n<e.length;n+=4)t.push(e[n]<<24|e[n+1]<<16|e[n+2]<<8|e[n+3]);return t}var C=function(e){if(!(this instanceof C))throw Error("AES must be instanitated with `new`");Object.defineProperty(this,"key",{value:i(e,!0)}),this._prepare()};C.prototype._prepare=function(){var e=c[this.key.length];if(null==e)throw new Error("invalid key size (must be 16, 24 or 32 bytes)");this._Ke=[],this._Kd=[];for(var t=0;t<=e;t++)this._Ke.push([0,0,0,0]),this._Kd.push([0,0,0,0]);var n,r=4*(e+1),i=this.key.length/4,s=k(this.key);for(t=0;t<i;t++)this._Ke[n=t>>2][t%4]=s[t],this._Kd[e-n][t%4]=s[t];for(var a,o=0,u=i;u<r;){if(s[0]^=h[(a=s[i-1])>>16&255]<<24^h[a>>8&255]<<16^h[255&a]<<8^h[a>>24&255]^d[o]<<24,o+=1,8!=i)for(t=1;t<i;t++)s[t]^=s[t-1];else{for(t=1;t<i/2;t++)s[t]^=s[t-1];for(s[i/2]^=h[255&(a=s[i/2-1])]^h[a>>8&255]<<8^h[a>>16&255]<<16^h[a>>24&255]<<24,t=i/2+1;t<i;t++)s[t]^=s[t-1]}for(t=0;t<i&&u<r;)this._Ke[l=u>>2][p=u%4]=s[t],this._Kd[e-l][p]=s[t++],u++}for(var l=1;l<e;l++)for(var p=0;p<4;p++)this._Kd[l][p]=T[(a=this._Kd[l][p])>>24&255]^E[a>>16&255]^I[a>>8&255]^S[255&a]},C.prototype.encrypt=function(e){if(16!=e.length)throw new Error("invalid plaintext size (must be 16 bytes)");for(var t=this._Ke.length-1,n=[0,0,0,0],r=k(e),i=0;i<4;i++)r[i]^=this._Ke[0][i];for(var a=1;a<t;a++){for(i=0;i<4;i++)n[i]=f[r[i]>>24&255]^m[r[(i+1)%4]>>16&255]^y[r[(i+2)%4]>>8&255]^g[255&r[(i+3)%4]]^this._Ke[a][i];r=n.slice()}var o,u=s(16);for(i=0;i<4;i++)u[4*i]=255&(h[r[i]>>24&255]^(o=this._Ke[t][i])>>24),u[4*i+1]=255&(h[r[(i+1)%4]>>16&255]^o>>16),u[4*i+2]=255&(h[r[(i+2)%4]>>8&255]^o>>8),u[4*i+3]=255&(h[255&r[(i+3)%4]]^o);return u},C.prototype.decrypt=function(e){if(16!=e.length)throw new Error("invalid ciphertext size (must be 16 bytes)");for(var t=this._Kd.length-1,n=[0,0,0,0],r=k(e),i=0;i<4;i++)r[i]^=this._Kd[0][i];for(var a=1;a<t;a++){for(i=0;i<4;i++)n[i]=b[r[i]>>24&255]^v[r[(i+3)%4]>>16&255]^w[r[(i+2)%4]>>8&255]^A[255&r[(i+1)%4]]^this._Kd[a][i];r=n.slice()}var o,u=s(16);for(i=0;i<4;i++)u[4*i]=255&(p[r[i]>>24&255]^(o=this._Kd[t][i])>>24),u[4*i+1]=255&(p[r[(i+3)%4]>>16&255]^o>>16),u[4*i+2]=255&(p[r[(i+2)%4]>>8&255]^o>>8),u[4*i+3]=255&(p[255&r[(i+1)%4]]^o);return u};var _=function(e){if(!(this instanceof _))throw Error("AES must be instanitated with `new`");this.description="Electronic Code Block",this.name="ecb",this._aes=new C(e)};_.prototype.encrypt=function(e){if((e=i(e)).length%16!=0)throw new Error("invalid plaintext size (must be multiple of 16 bytes)");for(var t=s(e.length),n=s(16),r=0;r<e.length;r+=16)a(e,n,0,r,r+16),a(n=this._aes.encrypt(n),t,r);return t},_.prototype.decrypt=function(e){if((e=i(e)).length%16!=0)throw new Error("invalid ciphertext size (must be multiple of 16 bytes)");for(var t=s(e.length),n=s(16),r=0;r<e.length;r+=16)a(e,n,0,r,r+16),a(n=this._aes.decrypt(n),t,r);return t};var x=function(e,t){if(!(this instanceof x))throw Error("AES must be instanitated with `new`");if(this.description="Cipher Block Chaining",this.name="cbc",t){if(16!=t.length)throw new Error("invalid initialation vector size (must be 16 bytes)")}else t=s(16);this._lastCipherblock=i(t,!0),this._aes=new C(e)};x.prototype.encrypt=function(e){if((e=i(e)).length%16!=0)throw new Error("invalid plaintext size (must be multiple of 16 bytes)");for(var t=s(e.length),n=s(16),r=0;r<e.length;r+=16){a(e,n,0,r,r+16);for(var o=0;o<16;o++)n[o]^=this._lastCipherblock[o];this._lastCipherblock=this._aes.encrypt(n),a(this._lastCipherblock,t,r)}return t},x.prototype.decrypt=function(e){if((e=i(e)).length%16!=0)throw new Error("invalid ciphertext size (must be multiple of 16 bytes)");for(var t=s(e.length),n=s(16),r=0;r<e.length;r+=16){a(e,n,0,r,r+16),n=this._aes.decrypt(n);for(var o=0;o<16;o++)t[r+o]=n[o]^this._lastCipherblock[o];a(e,this._lastCipherblock,0,r,r+16)}return t};var M=function(e,t,n){if(!(this instanceof M))throw Error("AES must be instanitated with `new`");if(this.description="Cipher Feedback",this.name="cfb",t){if(16!=t.length)throw new Error("invalid initialation vector size (must be 16 size)")}else t=s(16);n||(n=1),this.segmentSize=n,this._shiftRegister=i(t,!0),this._aes=new C(e)};M.prototype.encrypt=function(e){if(e.length%this.segmentSize!=0)throw new Error("invalid plaintext size (must be segmentSize bytes)");for(var t,n=i(e,!0),r=0;r<n.length;r+=this.segmentSize){t=this._aes.encrypt(this._shiftRegister);for(var s=0;s<this.segmentSize;s++)n[r+s]^=t[s];a(this._shiftRegister,this._shiftRegister,0,this.segmentSize),a(n,this._shiftRegister,16-this.segmentSize,r,r+this.segmentSize)}return n},M.prototype.decrypt=function(e){if(e.length%this.segmentSize!=0)throw new Error("invalid ciphertext size (must be segmentSize bytes)");for(var t,n=i(e,!0),r=0;r<n.length;r+=this.segmentSize){t=this._aes.encrypt(this._shiftRegister);for(var s=0;s<this.segmentSize;s++)n[r+s]^=t[s];a(this._shiftRegister,this._shiftRegister,0,this.segmentSize),a(e,this._shiftRegister,16-this.segmentSize,r,r+this.segmentSize)}return n};var N=function(e,t){if(!(this instanceof N))throw Error("AES must be instanitated with `new`");if(this.description="Output Feedback",this.name="ofb",t){if(16!=t.length)throw new Error("invalid initialation vector size (must be 16 bytes)")}else t=s(16);this._lastPrecipher=i(t,!0),this._lastPrecipherIndex=16,this._aes=new C(e)};N.prototype.encrypt=function(e){for(var t=i(e,!0),n=0;n<t.length;n++)16===this._lastPrecipherIndex&&(this._lastPrecipher=this._aes.encrypt(this._lastPrecipher),this._lastPrecipherIndex=0),t[n]^=this._lastPrecipher[this._lastPrecipherIndex++];return t},N.prototype.decrypt=N.prototype.encrypt;var R=function(e){if(!(this instanceof R))throw Error("Counter must be instanitated with `new`");0===e||e||(e=1),"number"==typeof e?(this._counter=s(16),this.setValue(e)):this.setBytes(e)};R.prototype.setValue=function(e){if("number"!=typeof e||parseInt(e)!=e)throw new Error("invalid counter value (must be an integer)");for(var t=15;t>=0;--t)this._counter[t]=e%256,e>>=8},R.prototype.setBytes=function(e){if(16!=(e=i(e,!0)).length)throw new Error("invalid counter bytes size (must be 16 bytes)");this._counter=e},R.prototype.increment=function(){for(var e=15;e>=0;e--){if(255!==this._counter[e]){this._counter[e]++;break}this._counter[e]=0}};var P=function(e,t){if(!(this instanceof P))throw Error("AES must be instanitated with `new`");this.description="Counter",this.name="ctr",t instanceof R||(t=new R(t)),this._counter=t,this._remainingCounter=null,this._remainingCounterIndex=16,this._aes=new C(e)};P.prototype.encrypt=function(e){for(var t=i(e,!0),n=0;n<t.length;n++)16===this._remainingCounterIndex&&(this._remainingCounter=this._aes.encrypt(this._counter._counter),this._remainingCounterIndex=0,this._counter.increment()),t[n]^=this._remainingCounter[this._remainingCounterIndex++];return t},P.prototype.decrypt=P.prototype.encrypt,e.exports={AES:C,Counter:R,ModeOfOperation:{ecb:_,cbc:x,cfb:M,ofb:N,ctr:P},utils:{hex:l,utf8:u},padding:{pkcs7:{pad:function(e){var t=16-(e=i(e,!0)).length%16,n=s(e.length+t);a(e,n);for(var r=e.length;r<n.length;r++)n[r]=t;return n},strip:function(e){if((e=i(e,!0)).length<16)throw new Error("PKCS#7 invalid length");var t=e[e.length-1];if(t>16)throw new Error("PKCS#7 padding byte out of range");for(var n=e.length-t,r=0;r<t;r++)if(e[n+r]!==t)throw new Error("PKCS#7 invalid padding byte");var o=s(n);return a(e,o,0,0,n),o}}},_arrayTest:{coerceArray:i,createArray:s,copyArray:a}}}()});const Wu="json-wallets/5.8.0";function Ju(e){return"string"==typeof e&&"0x"!==e.substring(0,2)&&(e="0x"+e),wn(e)}function Qu(e,t){for(e=String(e);e.length<t;)e="0"+e;return e}function Yu(e){return"string"==typeof e?_r(e,Er.NFKC):wn(e)}function Xu(e,t){let n=e;const r=t.toLowerCase().split("/");for(let e=0;e<r.length;e++){let t=null;for(const i in n)if(i.toLowerCase()===r[e]){t=n[i];break}if(null===t)return null;n=t}return n}function Zu(e){const t=wn(e);t[6]=15&t[6]|64,t[8]=63&t[8]|128;const n=Sn(t);return[n.substring(2,10),n.substring(10,14),n.substring(14,18),n.substring(18,22),n.substring(22,34)].join("-")}const $u=new pn(Wu);class el extends er{isCrowdsaleAccount(e){return!(!e||!e._isCrowdsaleAccount)}}function tl(e,t){const n=JSON.parse(e);t=Yu(t);const r=fi(Xu(n,"ethaddr")),i=Ju(Xu(n,"encseed"));i&&i.length%16==0||$u.throwArgumentError("invalid encseed","json",e);const s=wn(Su(t,t,2e3,32,"sha256")).slice(0,16),a=i.slice(0,16),o=i.slice(16),u=new ju.ModeOfOperation.cbc(s,a),l=ju.padding.pkcs7.strip(wn(u.decrypt(o)));let c="";for(let e=0;e<l.length;e++)c+=String.fromCharCode(l[e]);const d=Ar(_r(c));return new el({_isCrowdsaleAccount:!0,address:r,privateKey:d})}function nl(e){let t=null;try{t=JSON.parse(e)}catch(e){return!1}return t.encseed&&t.ethaddr}function rl(e){let t=null;try{t=JSON.parse(e)}catch(e){return!1}return!(!t.version||parseInt(t.version)!==t.version||3!==parseInt(t.version))}var il=en(function(e,t){!function(t){const n=2147483647;function r(e){const t=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]);let n=1779033703,r=3144134277,i=1013904242,s=2773480762,a=1359893119,o=2600822924,u=528734635,l=1541459225;const c=new Uint32Array(64);function d(e){let d=0,h=e.length;for(;h>=64;){let p,f,m,y,g,b=n,v=r,w=i,A=s,T=a,E=o,I=u,S=l;for(f=0;f<16;f++)m=d+4*f,c[f]=(255&e[m])<<24|(255&e[m+1])<<16|(255&e[m+2])<<8|255&e[m+3];for(f=16;f<64;f++)p=c[f-2],y=(p>>>17|p<<15)^(p>>>19|p<<13)^p>>>10,p=c[f-15],g=(p>>>7|p<<25)^(p>>>18|p<<14)^p>>>3,c[f]=(y+c[f-7]|0)+(g+c[f-16]|0)|0;for(f=0;f<64;f++)y=(((T>>>6|T<<26)^(T>>>11|T<<21)^(T>>>25|T<<7))+(T&E^~T&I)|0)+(S+(t[f]+c[f]|0)|0)|0,g=((b>>>2|b<<30)^(b>>>13|b<<19)^(b>>>22|b<<10))+(b&v^b&w^v&w)|0,S=I,I=E,E=T,T=A+y|0,A=w,w=v,v=b,b=y+g|0;n=n+b|0,r=r+v|0,i=i+w|0,s=s+A|0,a=a+T|0,o=o+E|0,u=u+I|0,l=l+S|0,d+=64,h-=64}}d(e);let h,p=e.length%64,f=e.length/536870912|0,m=e.length<<3,y=p<56?56:120,g=e.slice(e.length-p,e.length);for(g.push(128),h=p+1;h<y;h++)g.push(0);return g.push(f>>>24&255),g.push(f>>>16&255),g.push(f>>>8&255),g.push(f>>>0&255),g.push(m>>>24&255),g.push(m>>>16&255),g.push(m>>>8&255),g.push(m>>>0&255),d(g),[n>>>24&255,n>>>16&255,n>>>8&255,n>>>0&255,r>>>24&255,r>>>16&255,r>>>8&255,r>>>0&255,i>>>24&255,i>>>16&255,i>>>8&255,i>>>0&255,s>>>24&255,s>>>16&255,s>>>8&255,s>>>0&255,a>>>24&255,a>>>16&255,a>>>8&255,a>>>0&255,o>>>24&255,o>>>16&255,o>>>8&255,o>>>0&255,u>>>24&255,u>>>16&255,u>>>8&255,u>>>0&255,l>>>24&255,l>>>16&255,l>>>8&255,l>>>0&255]}function i(e,t,n){e=e.length<=64?e:r(e);const i=64+t.length+4,s=new Array(i),a=new Array(64);let o,u=[];for(o=0;o<64;o++)s[o]=54;for(o=0;o<e.length;o++)s[o]^=e[o];for(o=0;o<t.length;o++)s[64+o]=t[o];for(o=i-4;o<i;o++)s[o]=0;for(o=0;o<64;o++)a[o]=92;for(o=0;o<e.length;o++)a[o]^=e[o];function l(){for(let e=i-1;e>=i-4;e--){if(s[e]++,s[e]<=255)return;s[e]=0}}for(;n>=32;)l(),u=u.concat(r(a.concat(r(s)))),n-=32;return n>0&&(l(),u=u.concat(r(a.concat(r(s))).slice(0,n))),u}function s(e,t,n,r,i){let s;for(l(e,16*(2*n-1),i,0,16),s=0;s<2*n;s++)u(e,16*s,i,16),o(i,r),l(i,0,e,t+16*s,16);for(s=0;s<n;s++)l(e,t+2*s*16,e,16*s,16);for(s=0;s<n;s++)l(e,t+16*(2*s+1),e,16*(s+n),16)}function a(e,t){return e<<t|e>>>32-t}function o(e,t){l(e,0,t,0,16);for(let e=8;e>0;e-=2)t[4]^=a(t[0]+t[12],7),t[8]^=a(t[4]+t[0],9),t[12]^=a(t[8]+t[4],13),t[0]^=a(t[12]+t[8],18),t[9]^=a(t[5]+t[1],7),t[13]^=a(t[9]+t[5],9),t[1]^=a(t[13]+t[9],13),t[5]^=a(t[1]+t[13],18),t[14]^=a(t[10]+t[6],7),t[2]^=a(t[14]+t[10],9),t[6]^=a(t[2]+t[14],13),t[10]^=a(t[6]+t[2],18),t[3]^=a(t[15]+t[11],7),t[7]^=a(t[3]+t[15],9),t[11]^=a(t[7]+t[3],13),t[15]^=a(t[11]+t[7],18),t[1]^=a(t[0]+t[3],7),t[2]^=a(t[1]+t[0],9),t[3]^=a(t[2]+t[1],13),t[0]^=a(t[3]+t[2],18),t[6]^=a(t[5]+t[4],7),t[7]^=a(t[6]+t[5],9),t[4]^=a(t[7]+t[6],13),t[5]^=a(t[4]+t[7],18),t[11]^=a(t[10]+t[9],7),t[8]^=a(t[11]+t[10],9),t[9]^=a(t[8]+t[11],13),t[10]^=a(t[9]+t[8],18),t[12]^=a(t[15]+t[14],7),t[13]^=a(t[12]+t[15],9),t[14]^=a(t[13]+t[12],13),t[15]^=a(t[14]+t[13],18);for(let n=0;n<16;++n)e[n]+=t[n]}function u(e,t,n,r){for(let i=0;i<r;i++)n[i]^=e[t+i]}function l(e,t,n,r,i){for(;i--;)n[r++]=e[t++]}function c(e){if(!e||"number"!=typeof e.length)return!1;for(let t=0;t<e.length;t++){const n=e[t];if("number"!=typeof n||n%1||n<0||n>=256)return!1}return!0}function d(e,t){if("number"!=typeof e||e%1)throw new Error("invalid "+t);return e}function h(e,t,r,a,o,h,p){if(r=d(r,"N"),a=d(a,"r"),o=d(o,"p"),h=d(h,"dkLen"),0===r||0!=(r&r-1))throw new Error("N must be power of 2");if(r>n/128/a)throw new Error("N too large");if(a>n/128/o)throw new Error("r too large");if(!c(e))throw new Error("password must be an array or buffer");if(e=Array.prototype.slice.call(e),!c(t))throw new Error("salt must be an array or buffer");t=Array.prototype.slice.call(t);let f=i(e,t,128*o*a);const m=new Uint32Array(32*o*a);for(let e=0;e<m.length;e++){const t=4*e;m[e]=(255&f[t+3])<<24|(255&f[t+2])<<16|(255&f[t+1])<<8|(255&f[t+0])<<0}const y=new Uint32Array(64*a),g=new Uint32Array(32*a*r),b=32*a,v=new Uint32Array(16),w=new Uint32Array(16),A=o*r*2;let T,E,I=0,S=null,k=!1,C=0,_=0;const x=p?parseInt(1e3/a):4294967295,M="undefined"!=typeof setImmediate?setImmediate:setTimeout,N=function(){if(k)return p(new Error("cancelled"),I/A);let t;switch(C){case 0:E=32*_*a,l(m,E,y,0,b),C=1,T=0;case 1:t=r-T,t>x&&(t=x);for(let e=0;e<t;e++)l(y,0,g,(T+e)*b,b),s(y,b,a,v,w);if(T+=t,I+=t,p){const e=parseInt(1e3*I/A);if(e!==S){if(k=p(null,I/A),k)break;S=e}}if(T<r)break;T=0,C=2;case 2:t=r-T,t>x&&(t=x);for(let e=0;e<t;e++)u(g,(y[16*(2*a-1)]&r-1)*b,y,b),s(y,b,a,v,w);if(T+=t,I+=t,p){const e=parseInt(1e3*I/A);if(e!==S){if(k=p(null,I/A),k)break;S=e}}if(T<r)break;if(l(y,0,m,E,b),_++,_<o){C=0;break}f=[];for(let e=0;e<m.length;e++)f.push(m[e]>>0&255),f.push(m[e]>>8&255),f.push(m[e]>>16&255),f.push(m[e]>>24&255);const n=i(e,f,h);return p&&p(null,1,n),n}p&&M(N)};if(!p)for(;;){const e=N();if(null!=e)return e}N()}const p={scrypt:function(e,t,n,r,i,s,a){return new Promise(function(o,u){let l=0;a&&a(0),h(e,t,n,r,i,s,function(e,t,n){if(e)u(e);else if(n)a&&1!==l&&a(1),o(new Uint8Array(n));else if(a&&t!==l)return l=t,a(t)})})},syncScrypt:function(e,t,n,r,i,s){return new Uint8Array(h(e,t,n,r,i,s))}};e.exports=p}()}),sl=il;const al=new pn(Wu);function ol(e){return null!=e&&e.mnemonic&&e.mnemonic.phrase}class ul extends er{isKeystoreAccount(e){return!(!e||!e._isKeystoreAccount)}}function ll(e,t){const n=Ju(Xu(e,"crypto/ciphertext"));if(Sn(Ar(An([t.slice(16,32),n]))).substring(2)!==Xu(e,"crypto/mac").toLowerCase())throw new Error("invalid password");const r=function(e,t,n){if("aes-128-ctr"===Xu(e,"crypto/cipher")){const r=Ju(Xu(e,"crypto/cipherparams/iv")),i=new ju.Counter(r);return wn(new ju.ModeOfOperation.ctr(t,i).decrypt(n))}return null}(e,t.slice(0,16),n);r||al.throwError("unsupported cipher",pn.errors.UNSUPPORTED_OPERATION,{operation:"decrypt"});const i=t.slice(32,64),s=To(r);if(e.address){let t=e.address.toLowerCase();if("0x"!==t.substring(0,2)&&(t="0x"+t),fi(t)!==s)throw new Error("address mismatch")}const a={_isKeystoreAccount:!0,address:s,privateKey:Sn(r)};if("0.1"===Xu(e,"x-ethers/version")){const t=Ju(Xu(e,"x-ethers/mnemonicCiphertext")),n=Ju(Xu(e,"x-ethers/mnemonicCounter")),r=new ju.Counter(n),s=new ju.ModeOfOperation.ctr(i,r),o=Xu(e,"x-ethers/path")||qu,u=Xu(e,"x-ethers/locale")||"en",l=wn(s.decrypt(t));try{const e=Ku(l,u),t=zu.fromMnemonic(e,null,u).derivePath(o);if(t.privateKey!=a.privateKey)throw new Error("mnemonic mismatch");a.mnemonic=t.mnemonic}catch(e){if(e.code!==pn.errors.INVALID_ARGUMENT||"wordlist"!==e.argument)throw e}}return new ul(a)}function cl(e,t,n,r,i){return wn(Su(e,t,n,r,i))}function dl(e,t,n,r,i){return Promise.resolve(cl(e,t,n,r,i))}function hl(e,t,n,r,i){const s=Yu(t),a=Xu(e,"crypto/kdf");if(a&&"string"==typeof a){const t=function(e,t){return al.throwArgumentError("invalid key-derivation function parameters",e,t)};if("scrypt"===a.toLowerCase()){const n=Ju(Xu(e,"crypto/kdfparams/salt")),o=parseInt(Xu(e,"crypto/kdfparams/n")),u=parseInt(Xu(e,"crypto/kdfparams/r")),l=parseInt(Xu(e,"crypto/kdfparams/p"));o&&u&&l||t("kdf",a),0!=(o&o-1)&&t("N",o);const c=parseInt(Xu(e,"crypto/kdfparams/dklen"));return 32!==c&&t("dklen",c),r(s,n,o,u,l,64,i)}if("pbkdf2"===a.toLowerCase()){const r=Ju(Xu(e,"crypto/kdfparams/salt"));let i=null;const a=Xu(e,"crypto/kdfparams/prf");"hmac-sha256"===a?i="sha256":"hmac-sha512"===a?i="sha512":t("prf",a);const o=parseInt(Xu(e,"crypto/kdfparams/c")),u=parseInt(Xu(e,"crypto/kdfparams/dklen"));return 32!==u&&t("dklen",u),n(s,r,o,u,i)}}return al.throwArgumentError("unsupported key-derivation function","kdf",a)}var pl=function(e,t,n,r){return new(n||(n=Promise))(function(i,s){function a(e){try{u(r.next(e))}catch(e){s(e)}}function o(e){try{u(r.throw(e))}catch(e){s(e)}}function u(e){var t;e.done?i(e.value):(t=e.value,t instanceof n?t:new n(function(e){e(t)})).then(a,o)}u((r=r.apply(e,t||[])).next())})};const fl=new pn("wallet/5.8.0");class ml extends S{constructor(e,t){if(super(),null!=(n=e)&&En(n.privateKey,32)&&null!=n.address){const t=new fo(e.privateKey);if(Kn(this,"_signingKey",()=>t),Kn(this,"address",To(this.publicKey)),this.address!==fi(e.address)&&fl.throwArgumentError("privateKey/address mismatch","privateKey","[REDACTED]"),function(e){const t=e.mnemonic;return t&&t.phrase}(e)){const t=e.mnemonic;Kn(this,"_mnemonic",()=>({phrase:t.phrase,path:t.path||qu,locale:t.locale||"en"}));const n=this.mnemonic;To(zu.fromMnemonic(n.phrase,null,n.locale).derivePath(n.path).privateKey)!==this.address&&fl.throwArgumentError("mnemonic/address mismatch","privateKey","[REDACTED]")}else Kn(this,"_mnemonic",()=>null)}else{if(fo.isSigningKey(e))"secp256k1"!==e.curve&&fl.throwArgumentError("unsupported curve; must be secp256k1","privateKey","[REDACTED]"),Kn(this,"_signingKey",()=>e);else{"string"==typeof e&&e.match(/^[0-9a-f]*$/i)&&64===e.length&&(e="0x"+e);const t=new fo(e);Kn(this,"_signingKey",()=>t)}Kn(this,"_mnemonic",()=>null),Kn(this,"address",To(this.publicKey))}var n;t&&!rr.isProvider(t)&&fl.throwArgumentError("invalid provider","provider",t),Kn(this,"provider",t||null)}get mnemonic(){return this._mnemonic()}get privateKey(){return this._signingKey().privateKey}get publicKey(){return this._signingKey().publicKey}getAddress(){return Promise.resolve(this.address)}connect(e){return new ml(this,e)}signTransaction(e){return Wn(e).then(t=>{null!=t.from&&(fi(t.from)!==this.address&&fl.throwArgumentError("transaction from address mismatch","transaction.from",e.from),delete t.from);const n=this._signingKey().signDigest(Ar(Mo(t)));return Mo(t,n)})}signMessage(e){return pl(this,void 0,void 0,function*(){return Rn(this._signingKey().signDigest(function(e){return"string"==typeof e&&(e=_r(e)),Ar(An([_r("Ethereum Signed Message:\n"),_r(String(e.length)),e]))}(e)))})}_signTypedData(e,t,n){return pl(this,void 0,void 0,function*(){const r=yield Mi.resolveNames(e,t,n,e=>(null==this.provider&&fl.throwError("cannot resolve ENS names without a provider",pn.errors.UNSUPPORTED_OPERATION,{operation:"resolveName",value:e}),this.provider.resolveName(e)));return Rn(this._signingKey().signDigest(Mi.hash(r.domain,t,r.value)))})}encrypt(e,t,n){if("function"!=typeof t||n||(n=t,t={}),n&&"function"!=typeof n)throw new Error("invalid callback");return t||(t={}),function(e,t,n,r){try{if(fi(e.address)!==To(e.privateKey))throw new Error("address/privateKey mismatch");if(ol(e)){const t=e.mnemonic;if(zu.fromMnemonic(t.phrase,null,t.locale).derivePath(t.path||qu).privateKey!=e.privateKey)throw new Error("mnemonic mismatch")}}catch(e){return Promise.reject(e)}"function"!=typeof n||r||(r=n,n={}),n||(n={});const i=wn(e.privateKey),s=Yu(t);let a=null,o=null,u=null;if(ol(e)){const t=e.mnemonic;a=wn(Vu(t.phrase,t.locale||"en")),o=t.path||qu,u=t.locale||"en"}let l=n.client;l||(l="ethers.js");let c=null;c=n.salt?wn(n.salt):wu(32);let d=null;if(n.iv){if(d=wn(n.iv),16!==d.length)throw new Error("invalid iv")}else d=wu(16);let h=null;if(n.uuid){if(h=wn(n.uuid),16!==h.length)throw new Error("invalid uuid")}else h=wu(16);let p=1<<17,f=8,m=1;return n.scrypt&&(n.scrypt.N&&(p=n.scrypt.N),n.scrypt.r&&(f=n.scrypt.r),n.scrypt.p&&(m=n.scrypt.p)),sl.scrypt(s,c,p,f,m,64,r).then(t=>{const n=(t=wn(t)).slice(0,16),r=t.slice(16,32),s=t.slice(32,64),y=new ju.Counter(d),g=wn(new ju.ModeOfOperation.ctr(n,y).encrypt(i)),b=Ar(An([r,g])),v={address:e.address.substring(2).toLowerCase(),id:Zu(h),version:3,crypto:{cipher:"aes-128-ctr",cipherparams:{iv:Sn(d).substring(2)},ciphertext:Sn(g).substring(2),kdf:"scrypt",kdfparams:{salt:Sn(c).substring(2),n:p,dklen:32,p:m,r:f},mac:b.substring(2)}};if(a){const e=wu(16),t=new ju.Counter(e),n=wn(new ju.ModeOfOperation.ctr(s,t).encrypt(a)),r=new Date,i=r.getUTCFullYear()+"-"+Qu(r.getUTCMonth()+1,2)+"-"+Qu(r.getUTCDate(),2)+"T"+Qu(r.getUTCHours(),2)+"-"+Qu(r.getUTCMinutes(),2)+"-"+Qu(r.getUTCSeconds(),2)+".0Z";v["x-ethers"]={client:l,gethFilename:"UTC--"+i+"--"+v.address,mnemonicCounter:Sn(e).substring(2),mnemonicCiphertext:Sn(n).substring(2),path:o,locale:u,version:"0.1"}}return JSON.stringify(v)})}(this,e,t,n)}static createRandom(e){let t=wu(16);e||(e={}),e.extraEntropy&&(t=wn(Cn(Ar(An([t,e.extraEntropy])),0,16)));const n=Ku(t,e.locale);return ml.fromMnemonic(n,e.path,e.locale)}static fromEncryptedJson(e,t,n){return function(e,t,n){if(nl(e)){n&&n(0);const r=tl(e,t);return n&&n(1),Promise.resolve(r)}return rl(e)?function(e,t,n){return r=this,s=function*(){const r=JSON.parse(e);return ll(r,yield hl(r,t,dl,sl.scrypt,n))},new((i=void 0)||(i=Promise))(function(e,t){function n(e){try{o(s.next(e))}catch(e){t(e)}}function a(e){try{o(s.throw(e))}catch(e){t(e)}}function o(t){var r;t.done?e(t.value):(r=t.value,r instanceof i?r:new i(function(e){e(r)})).then(n,a)}o((s=s.apply(r,[])).next())});var r,i,s}(e,t,n):Promise.reject(new Error("invalid JSON wallet"))}(e,t,n).then(e=>new ml(e))}static fromEncryptedJsonSync(e,t){return new ml(function(e,t){if(nl(e))return tl(e,t);if(rl(e))return function(e,t){const n=JSON.parse(e);return ll(n,hl(n,t,cl,sl.syncScrypt))}(e,t);throw new Error("invalid JSON wallet")}(e,t))}static fromMnemonic(e,t,n){return t||(t=qu),new ml(zu.fromMnemonic(e,null,n).derivePath(t))}}function yl(e){return"string"==typeof e?new ml(e):"request"in e||"send"in e?new Iu(e).getSigner():e}const gl={signingScheme:ht.EIP1271,onchainOrder:!0,verificationGasLimit:0};async function bl(e,t,n,r){const{appCode:i,chainId:s,account:a}=t,o=Gt(e),u=o?F({},e,Vt(s,e)):e,{sellToken:l,sellTokenDecimals:c,buyToken:d,buyTokenDecimals:h,amount:p,kind:f,partnerFee:m,validFor:y=wt,slippageBps:g=At,env:b="prod"}=u;He(`Swap ${p} ${l} for ${d} on chain ${s}`);const w=r||new Xe({chainId:s,env:b}),A=u.receiver||a,T="sell"===f;He("Building app data...");const E=await Qt({slippageBps:g,orderClass:"market",appCode:i,partnerFee:m},null==n?void 0:n.appData),{appDataKeccak256:I,fullAppData:S}=E;He(`App data: appDataKeccak256=${I} fullAppData=${S}`);const k=F({from:a,sellToken:l,buyToken:d,receiver:A,validFor:y,appData:S,appDataHash:I,priceQuality:ct.OPTIMAL,signingScheme:ht.EIP712},o?gl:{},T?{kind:ot.SELL,sellAmountBeforeFee:p}:{kind:at.BUY,buyAmountAfterFee:p},null==n?void 0:n.quoteRequest);He("Getting quote...");const C=await w.getQuote(k),_=ft({orderParams:C.quote,slippagePercentBps:g,partnerFeeBps:null==m?void 0:m.bps,sellDecimals:c,buyDecimals:h}),x=Ct({from:a,networkCostsAmount:C.quote.feeAmount},Ut(u,C),E.appDataKeccak256),M=await async function(e,t){return{domain:await kt.getDomain(e),primaryType:U,types:{[U]:v,EIP712Domain:Zt},message:t}}(s,x);return{result:{tradeParameters:u,amountsAndCosts:_,orderToSign:x,quoteResponse:C,appDataInfo:E,orderTypedData:M},orderBookApi:w}}async function vl(e,t,n){const r=yl(e.signer),i=e.owner||await r.getAddress(),s={chainId:e.chainId,appCode:e.appCode,account:i},a=await bl(e,s,t,n);return{result:F({},a.result,{signer:r}),orderBookApi:a.orderBookApi}}async function wl(e,t,n){return Al(await vl(e,t,n),t)}async function Al({orderBookApi:e,result:{signer:t,appDataInfo:n,quoteResponse:r,tradeParameters:i}},s){var a,o,u,l;const c=Ut(i,r),d=null==s?void 0:s.appData,h=d?await Xt(n.doc,d):n,p=null==d||null==(a=d.metadata)||null==(o=a.quote)?void 0:o.slippageBips,f=null==d||null==(u=d.metadata)?void 0:u.partnerFee;if(void 0!==p&&(c.slippageBps=p),f&&(c.partnerFee=f),null!=s&&s.quoteRequest){const{receiver:e,validTo:t,sellToken:n,buyToken:r}=s.quoteRequest;e&&(c.receiver=e),t&&(c.validTo=t),n&&(c.sellToken=n),r&&(c.buyToken=r)}return Wt(e,t,h,c,F({signingScheme:null==s||null==(l=s.quoteRequest)?void 0:l.signingScheme,networkCostsAmount:r.quote.feeAmount},null==s?void 0:s.additionalParams))}async function Tl(e,t,n){var r,i,s,a,o;const u=null==t||null==(r=t.appData)||null==(i=r.metadata)||null==(s=i.quote)?void 0:s.slippageBips,l=null==t||null==(a=t.appData)||null==(o=a.metadata)?void 0:o.partnerFee;void 0!==u&&(e.slippageBps=u),l&&(e.partnerFee=l),e.slippageBps||(e.slippageBps=0),e.env||(e.env="prod");const{appCode:c,chainId:d,sellToken:h,buyToken:p,sellAmount:f,buyAmount:m,partnerFee:y}=e;He(`Limit order ${f} ${h} for ${m} ${p} on chain ${d}`);const g=yl(e.signer),b=n||new Xe({chainId:d,env:e.env});return He("Building app data..."),Wt(b,g,await Qt({slippageBps:e.slippageBps,orderClass:"limit",appCode:c,partnerFee:y},null==t?void 0:t.appData),e,null==t?void 0:t.additionalParams)}async function El(e,t,n,r){const i=Lt.connect(n,e),s=Me[t];return{data:i.interface.encodeFunctionData("setPreSignature",[r,!0]),gasLimit:"0x"+Ht(await i.estimateGas.setPreSignature(r,!0).then(e=>BigInt(e.toHexString())).catch(e=>(console.error(e),It))).toString(16),to:s,value:"0"}}class Il{constructor(e={},t={}){this.traderParams=void 0,this.options=void 0,this.traderParams=e,this.options=t,void 0!==t.enableLogging&&qe(t.enableLogging)}setTraderParams(e){return this.traderParams=F({},this.traderParams,e),this}async getQuote(e,t){const n=await vl(this.mergeParams(e),t,this.options.orderBookApi);return{quoteResults:n.result,postSwapOrderFromQuote:t=>Al(F({},n,{result:F({},n.result,{tradeParameters:zt({quoteParameters:n.result.tradeParameters,orderParameters:e})})}),t)}}async getQuoteResults(e,t){return vl(this.mergeParams(e),t,this.options.orderBookApi)}async postSwapOrder(e,t){return wl(this.mergeParams(e),t,this.options.orderBookApi)}async postLimitOrder(e,t){return Tl(this.mergeParams(e),t,this.options.orderBookApi)}async postSellNativeCurrencyOrder(e,t){const n=await vl(this.mergeParams(e),t,this.options.orderBookApi),{tradeParameters:r,quoteResponse:i}=n.result;return jt(n.orderBookApi,n.result.signer,n.result.appDataInfo,Ut(zt({quoteParameters:r,orderParameters:e}),i),null==t?void 0:t.additionalParams)}async getPreSignTransaction(e){const t=this.mergeParams(e);return El(yl(t.signer),t.chainId,e.account,e.orderId)}mergeParams(e){const{chainId:t,signer:n,appCode:r,env:i}=e,s={chainId:t||this.traderParams.chainId,signer:n||this.traderParams.signer,appCode:r||this.traderParams.appCode,env:i||this.traderParams.env};return function(e){if(!function(e){return 0===Sl(e).length}(e))throw new Error("Missing trader parameters: "+Sl(e).join(", "))}(s),F({},e,s)}}function Sl(e){const t=[];return e.chainId||t.push("chainId"),e.signer||t.push("signer"),e.appCode||t.push("appCode"),t}const kl=["sellTokenAddress","buyTokenAddress","amount"],Cl=["signer"],_l=["kind","sellTokenChainId","sellTokenAddress","buyTokenChainId","buyTokenAddress","amount","signer"],xl="abi/5.8.0",Ml=new pn(xl),Nl={};let Rl={calldata:!0,memory:!0,storage:!0},Pl={calldata:!0,memory:!0};function Ol(e,t){if("bytes"===e||"string"===e){if(Rl[t])return!0}else if("address"===e){if("payable"===t)return!0}else if((e.indexOf("[")>=0||"tuple"===e)&&Pl[t])return!0;return(Rl[t]||"payable"===t)&&Ml.throwArgumentError("invalid modifier","name",t),!1}function Bl(e,t){for(let n in t)Kn(e,n,t[n])}const Dl=Object.freeze({sighash:"sighash",minimal:"minimal",full:"full",json:"json"}),Fl=new RegExp(/^(.*)\[([0-9]*)\]$/);class Ll{constructor(e,t){e!==Nl&&Ml.throwError("use fromString",pn.errors.UNSUPPORTED_OPERATION,{operation:"new ParamType()"}),Bl(this,t);let n=this.type.match(Fl);Bl(this,n?{arrayLength:parseInt(n[2]||"-1"),arrayChildren:Ll.fromObject({type:n[1],components:this.components}),baseType:"array"}:{arrayLength:null,arrayChildren:null,baseType:null!=this.components?"tuple":this.type}),this._isParamType=!0,Object.freeze(this)}format(e){if(e||(e=Dl.sighash),Dl[e]||Ml.throwArgumentError("invalid format type","format",e),e===Dl.json){let t={type:"tuple"===this.baseType?"tuple":this.type,name:this.name||void 0};return"boolean"==typeof this.indexed&&(t.indexed=this.indexed),this.components&&(t.components=this.components.map(t=>JSON.parse(t.format(e)))),JSON.stringify(t)}let t="";return"array"===this.baseType?(t+=this.arrayChildren.format(e),t+="["+(this.arrayLength<0?"":String(this.arrayLength))+"]"):"tuple"===this.baseType?(e!==Dl.sighash&&(t+=this.type),t+="("+this.components.map(t=>t.format(e)).join(e===Dl.full?", ":",")+")"):t+=this.type,e!==Dl.sighash&&(!0===this.indexed&&(t+=" indexed"),e===Dl.full&&this.name&&(t+=" "+this.name)),t}static from(e,t){return"string"==typeof e?Ll.fromString(e,t):Ll.fromObject(e)}static fromObject(e){return Ll.isParamType(e)?e:new Ll(Nl,{name:e.name||null,type:Ql(e.type),indexed:null==e.indexed?null:!!e.indexed,components:e.components?e.components.map(Ll.fromObject):null})}static fromString(e,t){return n=function(e,t){let n=e;function r(t){Ml.throwArgumentError(`unexpected character at position ${t}`,"param",e)}function i(e){let n={type:"",name:"",parent:e,state:{allowType:!0}};return t&&(n.indexed=!1),n}e=e.replace(/\s/g," ");let s={type:"",name:"",state:{allowType:!0}},a=s;for(let n=0;n<e.length;n++){let s=e[n];switch(s){case"(":a.state.allowType&&""===a.type?a.type="tuple":a.state.allowParams||r(n),a.state.allowType=!1,a.type=Ql(a.type),a.components=[i(a)],a=a.components[0];break;case")":delete a.state,"indexed"===a.name&&(t||r(n),a.indexed=!0,a.name=""),Ol(a.type,a.name)&&(a.name=""),a.type=Ql(a.type);let e=a;a=a.parent,a||r(n),delete e.parent,a.state.allowParams=!1,a.state.allowName=!0,a.state.allowArray=!0;break;case",":delete a.state,"indexed"===a.name&&(t||r(n),a.indexed=!0,a.name=""),Ol(a.type,a.name)&&(a.name=""),a.type=Ql(a.type);let o=i(a.parent);a.parent.components.push(o),delete a.parent,a=o;break;case" ":a.state.allowType&&""!==a.type&&(a.type=Ql(a.type),delete a.state.allowType,a.state.allowName=!0,a.state.allowParams=!0),a.state.allowName&&""!==a.name&&("indexed"===a.name?(t||r(n),a.indexed&&r(n),a.indexed=!0,a.name=""):Ol(a.type,a.name)?a.name="":a.state.allowName=!1);break;case"[":a.state.allowArray||r(n),a.type+=s,a.state.allowArray=!1,a.state.allowName=!1,a.state.readArray=!0;break;case"]":a.state.readArray||r(n),a.type+=s,a.state.readArray=!1,a.state.allowArray=!0,a.state.allowName=!0;break;default:a.state.allowType?(a.type+=s,a.state.allowParams=!0,a.state.allowArray=!0):a.state.allowName?(a.name+=s,delete a.state.allowArray):a.state.readArray?a.type+=s:r(n)}}return a.parent&&Ml.throwArgumentError("unexpected eof","param",e),delete s.state,"indexed"===a.name?(t||r(n.length-7),a.indexed&&r(n.length-7),a.indexed=!0,a.name=""):Ol(a.type,a.name)&&(a.name=""),s.type=Ql(s.type),s}(e,!!t),Ll.fromObject({name:n.name,type:n.type,indexed:n.indexed,components:n.components});var n}static isParamType(e){return!(null==e||!e._isParamType)}}function Ul(e,t){return function(e){e=e.trim();let t=[],n="",r=0;for(let i=0;i<e.length;i++){let s=e[i];","===s&&0===r?(t.push(n),n=""):(n+=s,"("===s?r++:")"===s&&(r--,-1===r&&Ml.throwArgumentError("unbalanced parenthesis","value",e)))}return n&&t.push(n),t}(e).map(e=>Ll.fromString(e,t))}class Gl{constructor(e,t){e!==Nl&&Ml.throwError("use a static from method",pn.errors.UNSUPPORTED_OPERATION,{operation:"new Fragment()"}),Bl(this,t),this._isFragment=!0,Object.freeze(this)}static from(e){return Gl.isFragment(e)?e:"string"==typeof e?Gl.fromString(e):Gl.fromObject(e)}static fromObject(e){if(Gl.isFragment(e))return e;switch(e.type){case"function":return jl.fromObject(e);case"event":return Hl.fromObject(e);case"constructor":return Kl.fromObject(e);case"error":return Jl.fromObject(e);case"fallback":case"receive":return null}return Ml.throwArgumentError("invalid fragment object","value",e)}static fromString(e){return"event"===(e=(e=(e=e.replace(/\s/g," ")).replace(/\(/g," (").replace(/\)/g,") ").replace(/\s+/g," ")).trim()).split(" ")[0]?Hl.fromString(e.substring(5).trim()):"function"===e.split(" ")[0]?jl.fromString(e.substring(8).trim()):"constructor"===e.split("(")[0].trim()?Kl.fromString(e.trim()):"error"===e.split(" ")[0]?Jl.fromString(e.substring(5).trim()):Ml.throwArgumentError("unsupported fragment","value",e)}static isFragment(e){return!(!e||!e._isFragment)}}class Hl extends Gl{format(e){if(e||(e=Dl.sighash),Dl[e]||Ml.throwArgumentError("invalid format type","format",e),e===Dl.json)return JSON.stringify({type:"event",anonymous:this.anonymous,name:this.name,inputs:this.inputs.map(t=>JSON.parse(t.format(e)))});let t="";return e!==Dl.sighash&&(t+="event "),t+=this.name+"("+this.inputs.map(t=>t.format(e)).join(e===Dl.full?", ":",")+") ",e!==Dl.sighash&&this.anonymous&&(t+="anonymous "),t.trim()}static from(e){return"string"==typeof e?Hl.fromString(e):Hl.fromObject(e)}static fromObject(e){if(Hl.isEventFragment(e))return e;"event"!==e.type&&Ml.throwArgumentError("invalid event object","value",e);const t={name:Xl(e.name),anonymous:e.anonymous,inputs:e.inputs?e.inputs.map(Ll.fromObject):[],type:"event"};return new Hl(Nl,t)}static fromString(e){let t=e.match(Zl);t||Ml.throwArgumentError("invalid event string","value",e);let n=!1;return t[3].split(" ").forEach(e=>{switch(e.trim()){case"anonymous":n=!0;break;case"":break;default:Ml.warn("unknown modifier: "+e)}}),Hl.fromObject({name:t[1].trim(),anonymous:n,inputs:Ul(t[2],!0),type:"event"})}static isEventFragment(e){return e&&e._isFragment&&"event"===e.type}}function ql(e,t){t.gas=null;let n=e.split("@");return 1!==n.length?(n.length>2&&Ml.throwArgumentError("invalid human-readable ABI signature","value",e),n[1].match(/^[0-9]+$/)||Ml.throwArgumentError("invalid human-readable ABI signature gas","value",e),t.gas=Ln.from(n[1]),n[0]):e}function zl(e,t){t.constant=!1,t.payable=!1,t.stateMutability="nonpayable",e.split(" ").forEach(e=>{switch(e.trim()){case"constant":t.constant=!0;break;case"payable":t.payable=!0,t.stateMutability="payable";break;case"nonpayable":t.payable=!1,t.stateMutability="nonpayable";break;case"pure":t.constant=!0,t.stateMutability="pure";break;case"view":t.constant=!0,t.stateMutability="view";break;case"external":case"public":case"":break;default:console.log("unknown modifier: "+e)}})}function Vl(e){let t={constant:!1,payable:!0,stateMutability:"payable"};return null!=e.stateMutability?(t.stateMutability=e.stateMutability,t.constant="view"===t.stateMutability||"pure"===t.stateMutability,null!=e.constant&&!!e.constant!==t.constant&&Ml.throwArgumentError("cannot have constant function with mutability "+t.stateMutability,"value",e),t.payable="payable"===t.stateMutability,null!=e.payable&&!!e.payable!==t.payable&&Ml.throwArgumentError("cannot have payable function with mutability "+t.stateMutability,"value",e)):null!=e.payable?(t.payable=!!e.payable,null!=e.constant||t.payable||"constructor"===e.type||Ml.throwArgumentError("unable to determine stateMutability","value",e),t.constant=!!e.constant,t.stateMutability=t.constant?"view":t.payable?"payable":"nonpayable",t.payable&&t.constant&&Ml.throwArgumentError("cannot have constant payable function","value",e)):null!=e.constant?(t.constant=!!e.constant,t.payable=!t.constant,t.stateMutability=t.constant?"view":"payable"):"constructor"!==e.type&&Ml.throwArgumentError("unable to determine stateMutability","value",e),t}class Kl extends Gl{format(e){if(e||(e=Dl.sighash),Dl[e]||Ml.throwArgumentError("invalid format type","format",e),e===Dl.json)return JSON.stringify({type:"constructor",stateMutability:"nonpayable"!==this.stateMutability?this.stateMutability:void 0,payable:this.payable,gas:this.gas?this.gas.toNumber():void 0,inputs:this.inputs.map(t=>JSON.parse(t.format(e)))});e===Dl.sighash&&Ml.throwError("cannot format a constructor for sighash",pn.errors.UNSUPPORTED_OPERATION,{operation:"format(sighash)"});let t="constructor("+this.inputs.map(t=>t.format(e)).join(e===Dl.full?", ":",")+") ";return this.stateMutability&&"nonpayable"!==this.stateMutability&&(t+=this.stateMutability+" "),t.trim()}static from(e){return"string"==typeof e?Kl.fromString(e):Kl.fromObject(e)}static fromObject(e){if(Kl.isConstructorFragment(e))return e;"constructor"!==e.type&&Ml.throwArgumentError("invalid constructor object","value",e);let t=Vl(e);t.constant&&Ml.throwArgumentError("constructor cannot be constant","value",e);const n={name:null,type:e.type,inputs:e.inputs?e.inputs.map(Ll.fromObject):[],payable:t.payable,stateMutability:t.stateMutability,gas:e.gas?Ln.from(e.gas):null};return new Kl(Nl,n)}static fromString(e){let t={type:"constructor"},n=(e=ql(e,t)).match(Zl);return n&&"constructor"===n[1].trim()||Ml.throwArgumentError("invalid constructor string","value",e),t.inputs=Ul(n[2].trim(),!1),zl(n[3].trim(),t),Kl.fromObject(t)}static isConstructorFragment(e){return e&&e._isFragment&&"constructor"===e.type}}class jl extends Kl{format(e){if(e||(e=Dl.sighash),Dl[e]||Ml.throwArgumentError("invalid format type","format",e),e===Dl.json)return JSON.stringify({type:"function",name:this.name,constant:this.constant,stateMutability:"nonpayable"!==this.stateMutability?this.stateMutability:void 0,payable:this.payable,gas:this.gas?this.gas.toNumber():void 0,inputs:this.inputs.map(t=>JSON.parse(t.format(e))),outputs:this.outputs.map(t=>JSON.parse(t.format(e)))});let t="";return e!==Dl.sighash&&(t+="function "),t+=this.name+"("+this.inputs.map(t=>t.format(e)).join(e===Dl.full?", ":",")+") ",e!==Dl.sighash&&(this.stateMutability?"nonpayable"!==this.stateMutability&&(t+=this.stateMutability+" "):this.constant&&(t+="view "),this.outputs&&this.outputs.length&&(t+="returns ("+this.outputs.map(t=>t.format(e)).join(", ")+") "),null!=this.gas&&(t+="@"+this.gas.toString()+" ")),t.trim()}static from(e){return"string"==typeof e?jl.fromString(e):jl.fromObject(e)}static fromObject(e){if(jl.isFunctionFragment(e))return e;"function"!==e.type&&Ml.throwArgumentError("invalid function object","value",e);let t=Vl(e);const n={type:e.type,name:Xl(e.name),constant:t.constant,inputs:e.inputs?e.inputs.map(Ll.fromObject):[],outputs:e.outputs?e.outputs.map(Ll.fromObject):[],payable:t.payable,stateMutability:t.stateMutability,gas:e.gas?Ln.from(e.gas):null};return new jl(Nl,n)}static fromString(e){let t={type:"function"},n=(e=ql(e,t)).split(" returns ");n.length>2&&Ml.throwArgumentError("invalid function string","value",e);let r=n[0].match(Zl);if(r||Ml.throwArgumentError("invalid function signature","value",e),t.name=r[1].trim(),t.name&&Xl(t.name),t.inputs=Ul(r[2],!1),zl(r[3].trim(),t),n.length>1){let r=n[1].match(Zl);""==r[1].trim()&&""==r[3].trim()||Ml.throwArgumentError("unexpected tokens","value",e),t.outputs=Ul(r[2],!1)}else t.outputs=[];return jl.fromObject(t)}static isFunctionFragment(e){return e&&e._isFragment&&"function"===e.type}}function Wl(e){const t=e.format();return"Error(string)"!==t&&"Panic(uint256)"!==t||Ml.throwArgumentError(`cannot specify user defined ${t} error`,"fragment",e),e}class Jl extends Gl{format(e){if(e||(e=Dl.sighash),Dl[e]||Ml.throwArgumentError("invalid format type","format",e),e===Dl.json)return JSON.stringify({type:"error",name:this.name,inputs:this.inputs.map(t=>JSON.parse(t.format(e)))});let t="";return e!==Dl.sighash&&(t+="error "),t+=this.name+"("+this.inputs.map(t=>t.format(e)).join(e===Dl.full?", ":",")+") ",t.trim()}static from(e){return"string"==typeof e?Jl.fromString(e):Jl.fromObject(e)}static fromObject(e){if(Jl.isErrorFragment(e))return e;"error"!==e.type&&Ml.throwArgumentError("invalid error object","value",e);const t={type:e.type,name:Xl(e.name),inputs:e.inputs?e.inputs.map(Ll.fromObject):[]};return Wl(new Jl(Nl,t))}static fromString(e){let t={type:"error"},n=e.match(Zl);return n||Ml.throwArgumentError("invalid error signature","value",e),t.name=n[1].trim(),t.name&&Xl(t.name),t.inputs=Ul(n[2],!1),Wl(Jl.fromObject(t))}static isErrorFragment(e){return e&&e._isFragment&&"error"===e.type}}function Ql(e){return e.match(/^uint($|[^1-9])/)?e="uint256"+e.substring(4):e.match(/^int($|[^1-9])/)&&(e="int256"+e.substring(3)),e}const Yl=new RegExp("^[a-zA-Z$_][a-zA-Z0-9$_]*$");function Xl(e){return e&&e.match(Yl)||Ml.throwArgumentError(`invalid identifier "${e}"`,"value",e),e}const Zl=new RegExp("^([^)(]*)\\((.*)\\)([^)(]*)$"),$l=new pn(xl);class ec{constructor(e,t,n,r){this.name=e,this.type=t,this.localName=n,this.dynamic=r}_throwError(e,t){$l.throwArgumentError(e,this.localName,t)}}class tc{constructor(e){Kn(this,"wordSize",e||32),this._data=[],this._dataLength=0,this._padding=new Uint8Array(e)}get data(){return _n(this._data)}get length(){return this._dataLength}_writeData(e){return this._data.push(e),this._dataLength+=e.length,e.length}appendWriter(e){return this._writeData(An(e._data))}writeBytes(e){let t=wn(e);const n=t.length%this.wordSize;return n&&(t=An([t,this._padding.slice(n)])),this._writeData(t)}_getValue(e){let t=wn(Ln.from(e));return t.length>this.wordSize&&$l.throwError("value out-of-bounds",pn.errors.BUFFER_OVERRUN,{length:this.wordSize,offset:t.length}),t.length%this.wordSize&&(t=An([this._padding.slice(t.length%this.wordSize),t])),t}writeValue(e){return this._writeData(this._getValue(e))}writeUpdatableValue(){const e=this._data.length;return this._data.push(this._padding),this._dataLength+=this.wordSize,t=>{this._data[e]=this._getValue(t)}}}class nc{constructor(e,t,n,r){Kn(this,"_data",wn(e)),Kn(this,"wordSize",t||32),Kn(this,"_coerceFunc",n),Kn(this,"allowLoose",r),this._offset=0}get data(){return Sn(this._data)}get consumed(){return this._offset}static coerce(e,t){let n=e.match("^u?int([0-9]+)$");return n&&parseInt(n[1])<=48&&(t=t.toNumber()),t}coerce(e,t){return this._coerceFunc?this._coerceFunc(e,t):nc.coerce(e,t)}_peekBytes(e,t,n){let r=Math.ceil(t/this.wordSize)*this.wordSize;return this._offset+r>this._data.length&&(this.allowLoose&&n&&this._offset+t<=this._data.length?r=t:$l.throwError("data out-of-bounds",pn.errors.BUFFER_OVERRUN,{length:this._data.length,offset:this._offset+r})),this._data.slice(this._offset,this._offset+r)}subReader(e){return new nc(this._data.slice(this._offset+e),this.wordSize,this._coerceFunc,this.allowLoose)}readBytes(e,t){let n=this._peekBytes(0,e,!!t);return this._offset+=n.length,n.slice(0,e)}readValue(){return Ln.from(this.readBytes(this.wordSize))}}class rc extends ec{constructor(e){super("address","address",e,!1)}defaultValue(){return"0x0000000000000000000000000000000000000000"}encode(e,t){try{t=fi(t)}catch(e){this._throwError(e.message,t)}return e.writeValue(t)}decode(e){return fi(Mn(e.readValue().toHexString(),20))}}class ic extends ec{constructor(e){super(e.name,e.type,void 0,e.dynamic),this.coder=e}defaultValue(){return this.coder.defaultValue()}encode(e,t){return this.coder.encode(e,t)}decode(e){return this.coder.decode(e)}}const sc=new pn(xl);function ac(e,t,n){let r=null;if(Array.isArray(n))r=n;else if(n&&"object"==typeof n){let e={};r=t.map(t=>{const r=t.localName;return r||sc.throwError("cannot encode object for signature with missing names",pn.errors.INVALID_ARGUMENT,{argument:"values",coder:t,value:n}),e[r]&&sc.throwError("cannot encode object for signature with duplicate names",pn.errors.INVALID_ARGUMENT,{argument:"values",coder:t,value:n}),e[r]=!0,n[r]})}else sc.throwArgumentError("invalid tuple value","tuple",n);t.length!==r.length&&sc.throwArgumentError("types/value length mismatch","tuple",n);let i=new tc(e.wordSize),s=new tc(e.wordSize),a=[];t.forEach((e,t)=>{let n=r[t];if(e.dynamic){let t=s.length;e.encode(s,n);let r=i.writeUpdatableValue();a.push(e=>{r(e+t)})}else e.encode(i,n)}),a.forEach(e=>{e(i.length)});let o=e.appendWriter(i);return o+=e.appendWriter(s),o}function oc(e,t){let n=[],r=e.subReader(0);t.forEach(t=>{let i=null;if(t.dynamic){let n=e.readValue(),s=r.subReader(n.toNumber());try{i=t.decode(s)}catch(e){if(e.code===pn.errors.BUFFER_OVERRUN)throw e;i=e,i.baseType=t.name,i.name=t.localName,i.type=t.type}}else try{i=t.decode(e)}catch(e){if(e.code===pn.errors.BUFFER_OVERRUN)throw e;i=e,i.baseType=t.name,i.name=t.localName,i.type=t.type}null!=i&&n.push(i)});const i=t.reduce((e,t)=>{const n=t.localName;return n&&(e[n]||(e[n]=0),e[n]++),e},{});t.forEach((e,t)=>{let r=e.localName;if(!r||1!==i[r])return;if("length"===r&&(r="_length"),null!=n[r])return;const s=n[t];s instanceof Error?Object.defineProperty(n,r,{enumerable:!0,get:()=>{throw s}}):n[r]=s});for(let e=0;e<n.length;e++){const t=n[e];t instanceof Error&&Object.defineProperty(n,e,{enumerable:!0,get:()=>{throw t}})}return Object.freeze(n)}class uc extends ec{constructor(e,t,n){super("array",e.type+"["+(t>=0?t:"")+"]",n,-1===t||e.dynamic),this.coder=e,this.length=t}defaultValue(){const e=this.coder.defaultValue(),t=[];for(let n=0;n<this.length;n++)t.push(e);return t}encode(e,t){Array.isArray(t)||this._throwError("expected array value",t);let n=this.length;-1===n&&(n=t.length,e.writeValue(t.length)),sc.checkArgumentCount(t.length,n,"coder array"+(this.localName?" "+this.localName:""));let r=[];for(let e=0;e<t.length;e++)r.push(this.coder);return ac(e,r,t)}decode(e){let t=this.length;-1===t&&(t=e.readValue().toNumber(),32*t>e._data.length&&sc.throwError("insufficient data length",pn.errors.BUFFER_OVERRUN,{length:e._data.length,count:t}));let n=[];for(let e=0;e<t;e++)n.push(new ic(this.coder));return e.coerce(this.name,oc(e,n))}}class lc extends ec{constructor(e){super("bool","bool",e,!1)}defaultValue(){return!1}encode(e,t){return e.writeValue(t?1:0)}decode(e){return e.coerce(this.type,!e.readValue().isZero())}}class cc extends ec{constructor(e,t){super(e,e,t,!0)}defaultValue(){return"0x"}encode(e,t){t=wn(t);let n=e.writeValue(t.length);return n+=e.writeBytes(t),n}decode(e){return e.readBytes(e.readValue().toNumber(),!0)}}class dc extends cc{constructor(e){super("bytes",e)}decode(e){return e.coerce(this.name,Sn(super.decode(e)))}}class hc extends ec{constructor(e,t){let n="bytes"+String(e);super(n,n,t,!1),this.size=e}defaultValue(){return"0x0000000000000000000000000000000000000000000000000000000000000000".substring(0,2+2*this.size)}encode(e,t){let n=wn(t);return n.length!==this.size&&this._throwError("incorrect data length",t),e.writeBytes(n)}decode(e){return e.coerce(this.name,Sn(e.readBytes(this.size)))}}class pc extends ec{constructor(e){super("null","",e,!1)}defaultValue(){return null}encode(e,t){return null!=t&&this._throwError("not null",t),e.writeBytes([])}decode(e){return e.readBytes(0),e.coerce(this.name,null)}}class fc extends ec{constructor(e,t,n){const r=(t?"int":"uint")+8*e;super(r,r,n,!1),this.size=e,this.signed=t}defaultValue(){return 0}encode(e,t){let n=Ln.from(t),r=br.mask(8*e.wordSize);if(this.signed){let e=r.mask(8*this.size-1);(n.gt(e)||n.lt(e.add(gr).mul(mr)))&&this._throwError("value out-of-bounds",t)}else(n.lt(yr)||n.gt(r.mask(8*this.size)))&&this._throwError("value out-of-bounds",t);return n=n.toTwos(8*this.size).mask(8*this.size),this.signed&&(n=n.fromTwos(8*this.size).toTwos(8*e.wordSize)),e.writeValue(n)}decode(e){let t=e.readValue().mask(8*this.size);return this.signed&&(t=t.fromTwos(8*this.size)),e.coerce(this.name,t)}}class mc extends cc{constructor(e){super("string",e)}defaultValue(){return""}encode(e,t){return super.encode(e,_r(t))}decode(e){return xr(super.decode(e))}}class yc extends ec{constructor(e,t){let n=!1;const r=[];e.forEach(e=>{e.dynamic&&(n=!0),r.push(e.type)}),super("tuple","tuple("+r.join(",")+")",t,n),this.coders=e}defaultValue(){const e=[];this.coders.forEach(t=>{e.push(t.defaultValue())});const t=this.coders.reduce((e,t)=>{const n=t.localName;return n&&(e[n]||(e[n]=0),e[n]++),e},{});return this.coders.forEach((n,r)=>{let i=n.localName;i&&1===t[i]&&("length"===i&&(i="_length"),null==e[i]&&(e[i]=e[r]))}),Object.freeze(e)}encode(e,t){return ac(e,this.coders,t)}decode(e){return e.coerce(this.name,oc(e,this.coders))}}const gc=new pn(xl),bc=new RegExp(/^bytes([0-9]*)$/),vc=new RegExp(/^(u?int)([0-9]*)$/),wc=new class{constructor(e){Kn(this,"coerceFunc",e||null)}_getCoder(e){switch(e.baseType){case"address":return new rc(e.name);case"bool":return new lc(e.name);case"string":return new mc(e.name);case"bytes":return new dc(e.name);case"array":return new uc(this._getCoder(e.arrayChildren),e.arrayLength,e.name);case"tuple":return new yc((e.components||[]).map(e=>this._getCoder(e)),e.name);case"":return new pc(e.name)}let t=e.type.match(vc);if(t){let n=parseInt(t[2]||"256");return(0===n||n>256||n%8!=0)&&gc.throwArgumentError("invalid "+t[1]+" bit length","param",e),new fc(n/8,"int"===t[1],e.name)}if(t=e.type.match(bc),t){let n=parseInt(t[1]);return(0===n||n>32)&&gc.throwArgumentError("invalid bytes length","param",e),new hc(n,e.name)}return gc.throwArgumentError("invalid type","type",e.type)}_getWordSize(){return 32}_getReader(e,t){return new nc(e,this._getWordSize(),this.coerceFunc,t)}_getWriter(){return new tc(this._getWordSize())}getDefaultValue(e){const t=e.map(e=>this._getCoder(Ll.from(e)));return new yc(t,"_").defaultValue()}encode(e,t){e.length!==t.length&&gc.throwError("types/values length mismatch",pn.errors.INVALID_ARGUMENT,{count:{types:e.length,values:t.length},value:{types:e,values:t}});const n=e.map(e=>this._getCoder(Ll.from(e))),r=new yc(n,"_"),i=this._getWriter();return r.encode(i,t),i.data}decode(e,t,n){const r=e.map(e=>this._getCoder(Ll.from(e)));return new yc(r,"_").decode(this._getReader(wn(t),n))}},Ac=new pn(xl);class Tc extends er{}class Ec extends er{}class Ic extends er{}class Sc extends er{static isIndexed(e){return!(!e||!e._isIndexed)}}const kc={"0x08c379a0":{signature:"Error(string)",name:"Error",inputs:["string"],reason:!0},"0x4e487b71":{signature:"Panic(uint256)",name:"Panic",inputs:["uint256"]}};function Cc(e,t){const n=new Error(`deferred error during ABI decoding triggered accessing ${e}`);return n.error=t,n}class _c{constructor(e){let t=[];t="string"==typeof e?JSON.parse(e):e,Kn(this,"fragments",t.map(e=>Gl.from(e)).filter(e=>null!=e)),Kn(this,"_abiCoder",jn(new.target,"getAbiCoder")()),Kn(this,"functions",{}),Kn(this,"errors",{}),Kn(this,"events",{}),Kn(this,"structs",{}),this.fragments.forEach(e=>{let t=null;switch(e.type){case"constructor":return this.deploy?void Ac.warn("duplicate definition - constructor"):void Kn(this,"deploy",e);case"function":t=this.functions;break;case"event":t=this.events;break;case"error":t=this.errors;break;default:return}let n=e.format();t[n]?Ac.warn("duplicate definition - "+n):t[n]=e}),this.deploy||Kn(this,"deploy",Kl.from({payable:!1,type:"constructor"})),Kn(this,"_isInterface",!0)}format(e){e||(e=Dl.full),e===Dl.sighash&&Ac.throwArgumentError("interface does not support formatting sighash","format",e);const t=this.fragments.map(t=>t.format(e));return e===Dl.json?JSON.stringify(t.map(e=>JSON.parse(e))):t}static getAbiCoder(){return wc}static getAddress(e){return fi(e)}static getSighash(e){return Cn(Mr(e.format()),0,4)}static getEventTopic(e){return Mr(e.format())}getFunction(e){if(En(e)){for(const t in this.functions)if(e===this.getSighash(t))return this.functions[t];Ac.throwArgumentError("no matching function","sighash",e)}if(-1===e.indexOf("(")){const t=e.trim(),n=Object.keys(this.functions).filter(e=>e.split("(")[0]===t);return 0===n.length?Ac.throwArgumentError("no matching function","name",t):n.length>1&&Ac.throwArgumentError("multiple matching functions","name",t),this.functions[n[0]]}const t=this.functions[jl.fromString(e).format()];return t||Ac.throwArgumentError("no matching function","signature",e),t}getEvent(e){if(En(e)){const t=e.toLowerCase();for(const e in this.events)if(t===this.getEventTopic(e))return this.events[e];Ac.throwArgumentError("no matching event","topichash",t)}if(-1===e.indexOf("(")){const t=e.trim(),n=Object.keys(this.events).filter(e=>e.split("(")[0]===t);return 0===n.length?Ac.throwArgumentError("no matching event","name",t):n.length>1&&Ac.throwArgumentError("multiple matching events","name",t),this.events[n[0]]}const t=this.events[Hl.fromString(e).format()];return t||Ac.throwArgumentError("no matching event","signature",e),t}getError(e){if(En(e)){const t=jn(this.constructor,"getSighash");for(const n in this.errors)if(e===t(this.errors[n]))return this.errors[n];Ac.throwArgumentError("no matching error","sighash",e)}if(-1===e.indexOf("(")){const t=e.trim(),n=Object.keys(this.errors).filter(e=>e.split("(")[0]===t);return 0===n.length?Ac.throwArgumentError("no matching error","name",t):n.length>1&&Ac.throwArgumentError("multiple matching errors","name",t),this.errors[n[0]]}const t=this.errors[jl.fromString(e).format()];return t||Ac.throwArgumentError("no matching error","signature",e),t}getSighash(e){if("string"==typeof e)try{e=this.getFunction(e)}catch(t){try{e=this.getError(e)}catch(e){throw t}}return jn(this.constructor,"getSighash")(e)}getEventTopic(e){return"string"==typeof e&&(e=this.getEvent(e)),jn(this.constructor,"getEventTopic")(e)}_decodeParams(e,t){return this._abiCoder.decode(e,t)}_encodeParams(e,t){return this._abiCoder.encode(e,t)}encodeDeploy(e){return this._encodeParams(this.deploy.inputs,e||[])}decodeErrorResult(e,t){"string"==typeof e&&(e=this.getError(e));const n=wn(t);return Sn(n.slice(0,4))!==this.getSighash(e)&&Ac.throwArgumentError(`data signature does not match error ${e.name}.`,"data",Sn(n)),this._decodeParams(e.inputs,n.slice(4))}encodeErrorResult(e,t){return"string"==typeof e&&(e=this.getError(e)),Sn(An([this.getSighash(e),this._encodeParams(e.inputs,t||[])]))}decodeFunctionData(e,t){"string"==typeof e&&(e=this.getFunction(e));const n=wn(t);return Sn(n.slice(0,4))!==this.getSighash(e)&&Ac.throwArgumentError(`data signature does not match function ${e.name}.`,"data",Sn(n)),this._decodeParams(e.inputs,n.slice(4))}encodeFunctionData(e,t){return"string"==typeof e&&(e=this.getFunction(e)),Sn(An([this.getSighash(e),this._encodeParams(e.inputs,t||[])]))}decodeFunctionResult(e,t){"string"==typeof e&&(e=this.getFunction(e));let n=wn(t),r=null,i="",s=null,a=null,o=null;switch(n.length%this._abiCoder._getWordSize()){case 0:try{return this._abiCoder.decode(e.outputs,n)}catch(e){}break;case 4:{const e=Sn(n.slice(0,4)),t=kc[e];if(t)s=this._abiCoder.decode(t.inputs,n.slice(4)),a=t.name,o=t.signature,t.reason&&(r=s[0]),"Error"===a?i=`; VM Exception while processing transaction: reverted with reason string ${JSON.stringify(s[0])}`:"Panic"===a&&(i=`; VM Exception while processing transaction: reverted with panic code ${s[0]}`);else try{const t=this.getError(e);s=this._abiCoder.decode(t.inputs,n.slice(4)),a=t.name,o=t.format()}catch(e){}break}}return Ac.throwError("call revert exception"+i,pn.errors.CALL_EXCEPTION,{method:e.format(),data:Sn(t),errorArgs:s,errorName:a,errorSignature:o,reason:r})}encodeFunctionResult(e,t){return"string"==typeof e&&(e=this.getFunction(e)),Sn(this._abiCoder.encode(e.outputs,t||[]))}encodeFilterTopics(e,t){"string"==typeof e&&(e=this.getEvent(e)),t.length>e.inputs.length&&Ac.throwError("too many arguments for "+e.format(),pn.errors.UNEXPECTED_ARGUMENT,{argument:"values",value:t});let n=[];e.anonymous||n.push(this.getEventTopic(e));const r=(e,t)=>"string"===e.type?Mr(t):"bytes"===e.type?Ar(Sn(t)):("bool"===e.type&&"boolean"==typeof t&&(t=t?"0x01":"0x00"),e.type.match(/^u?int/)&&(t=Ln.from(t).toHexString()),"address"===e.type&&this._abiCoder.encode(["address"],[t]),Mn(Sn(t),32));for(t.forEach((t,i)=>{let s=e.inputs[i];s.indexed?null==t?n.push(null):"array"===s.baseType||"tuple"===s.baseType?Ac.throwArgumentError("filtering with tuples or arrays not supported","contract."+s.name,t):Array.isArray(t)?n.push(t.map(e=>r(s,e))):n.push(r(s,t)):null!=t&&Ac.throwArgumentError("cannot filter non-indexed parameters; must be null","contract."+s.name,t)});n.length&&null===n[n.length-1];)n.pop();return n}encodeEventLog(e,t){"string"==typeof e&&(e=this.getEvent(e));const n=[],r=[],i=[];return e.anonymous||n.push(this.getEventTopic(e)),t.length!==e.inputs.length&&Ac.throwArgumentError("event arguments/values mismatch","values",t),e.inputs.forEach((e,s)=>{const a=t[s];if(e.indexed)if("string"===e.type)n.push(Mr(a));else if("bytes"===e.type)n.push(Ar(a));else{if("tuple"===e.baseType||"array"===e.baseType)throw new Error("not implemented");n.push(this._abiCoder.encode([e.type],[a]))}else r.push(e),i.push(a)}),{data:this._abiCoder.encode(r,i),topics:n}}decodeEventLog(e,t,n){if("string"==typeof e&&(e=this.getEvent(e)),null!=n&&!e.anonymous){let t=this.getEventTopic(e);En(n[0],32)&&n[0].toLowerCase()===t||Ac.throwError("fragment/topic mismatch",pn.errors.INVALID_ARGUMENT,{argument:"topics[0]",expected:t,value:n[0]}),n=n.slice(1)}let r=[],i=[],s=[];e.inputs.forEach((e,t)=>{e.indexed?"string"===e.type||"bytes"===e.type||"tuple"===e.baseType||"array"===e.baseType?(r.push(Ll.fromObject({type:"bytes32",name:e.name})),s.push(!0)):(r.push(e),s.push(!1)):(i.push(e),s.push(!1))});let a=null!=n?this._abiCoder.decode(r,An(n)):null,o=this._abiCoder.decode(i,t,!0),u=[],l=0,c=0;e.inputs.forEach((e,t)=>{if(e.indexed)if(null==a)u[t]=new Sc({_isIndexed:!0,hash:null});else if(s[t])u[t]=new Sc({_isIndexed:!0,hash:a[c++]});else try{u[t]=a[c++]}catch(e){u[t]=e}else try{u[t]=o[l++]}catch(e){u[t]=e}if(e.name&&null==u[e.name]){const n=u[t];n instanceof Error?Object.defineProperty(u,e.name,{enumerable:!0,get:()=>{throw Cc(`property ${JSON.stringify(e.name)}`,n)}}):u[e.name]=n}});for(let e=0;e<u.length;e++){const t=u[e];t instanceof Error&&Object.defineProperty(u,e,{enumerable:!0,get:()=>{throw Cc(`index ${e}`,t)}})}return Object.freeze(u)}parseTransaction(e){let t=this.getFunction(e.data.substring(0,10).toLowerCase());return t?new Ec({args:this._abiCoder.decode(t.inputs,"0x"+e.data.substring(10)),functionFragment:t,name:t.name,signature:t.format(),sighash:this.getSighash(t),value:Ln.from(e.value||"0")}):null}parseLog(e){let t=this.getEvent(e.topics[0]);return!t||t.anonymous?null:new Tc({eventFragment:t,name:t.name,signature:t.format(),topic:this.getEventTopic(t),args:this.decodeEventLog(t,e.data,e.topics)})}parseError(e){const t=Sn(e);let n=this.getError(t.substring(0,10).toLowerCase());return n?new Ic({args:this._abiCoder.decode(n.inputs,"0x"+t.substring(10)),errorFragment:n,name:n.name,signature:n.format(),sighash:this.getSighash(n)}):null}static isInterface(e){return!(!e||!e._isInterface)}}var xc=function(e,t,n,r){return new(n||(n=Promise))(function(i,s){function a(e){try{u(r.next(e))}catch(e){s(e)}}function o(e){try{u(r.throw(e))}catch(e){s(e)}}function u(e){var t;e.done?i(e.value):(t=e.value,t instanceof n?t:new n(function(e){e(t)})).then(a,o)}u((r=r.apply(e,t||[])).next())})};const Mc=new pn("contracts/5.8.0");function Nc(e,t){return xc(this,void 0,void 0,function*(){const n=yield t;"string"!=typeof n&&Mc.throwArgumentError("invalid address or ENS name","name",n);try{return fi(n)}catch(e){}e||Mc.throwError("a provider or signer is needed to resolve ENS names",pn.errors.UNSUPPORTED_OPERATION,{operation:"resolveName"});const r=yield e.resolveName(n);return null==r&&Mc.throwArgumentError("resolver or addr is not configured for ENS name","name",n),r})}function Rc(e,t,n){return xc(this,void 0,void 0,function*(){return Array.isArray(n)?yield Promise.all(n.map((n,r)=>Rc(e,Array.isArray(t)?t[r]:t[n.name],n))):"address"===n.type?yield Nc(e,t):"tuple"===n.type?yield Rc(e,t,n.components):"array"===n.baseType?Array.isArray(t)?yield Promise.all(t.map(t=>Rc(e,t,n.arrayChildren))):Promise.reject(Mc.makeError("invalid value for array",pn.errors.INVALID_ARGUMENT,{argument:"value",value:t})):t})}function Pc(e,t,n){return xc(this,void 0,void 0,function*(){let r={};n.length===t.inputs.length+1&&"object"==typeof n[n.length-1]&&(r=Qn(n.pop())),Mc.checkArgumentCount(n.length,t.inputs.length,"passed to contract"),e.signer?r.from=r.from?Wn({override:Nc(e.signer,r.from),signer:e.signer.getAddress()}).then(e=>xc(this,void 0,void 0,function*(){return fi(e.signer)!==e.override&&Mc.throwError("Contract with a Signer cannot override from",pn.errors.UNSUPPORTED_OPERATION,{operation:"overrides.from"}),e.override})):e.signer.getAddress():r.from&&(r.from=Nc(e.provider,r.from));const i=yield Wn({args:Rc(e.signer||e.provider,n,t.inputs),address:e.resolvedAddress,overrides:Wn(r)||{}}),s=e.interface.encodeFunctionData(t,i.args),a={data:s,to:i.address},o=i.overrides;if(null!=o.nonce&&(a.nonce=Ln.from(o.nonce).toNumber()),null!=o.gasLimit&&(a.gasLimit=Ln.from(o.gasLimit)),null!=o.gasPrice&&(a.gasPrice=Ln.from(o.gasPrice)),null!=o.maxFeePerGas&&(a.maxFeePerGas=Ln.from(o.maxFeePerGas)),null!=o.maxPriorityFeePerGas&&(a.maxPriorityFeePerGas=Ln.from(o.maxPriorityFeePerGas)),null!=o.from&&(a.from=o.from),null!=o.type&&(a.type=o.type),null!=o.accessList&&(a.accessList=ko(o.accessList)),null==a.gasLimit&&null!=t.gas){let e=21e3;const n=wn(s);for(let t=0;t<n.length;t++)e+=4,n[t]&&(e+=64);a.gasLimit=Ln.from(t.gas).add(e)}if(o.value){const e=Ln.from(o.value);e.isZero()||t.payable||Mc.throwError("non-payable method cannot override value",pn.errors.UNSUPPORTED_OPERATION,{operation:"overrides.value",value:r.value}),a.value=e}o.customData&&(a.customData=Qn(o.customData)),o.ccipReadEnabled&&(a.ccipReadEnabled=!!o.ccipReadEnabled),delete r.nonce,delete r.gasLimit,delete r.gasPrice,delete r.from,delete r.value,delete r.type,delete r.accessList,delete r.maxFeePerGas,delete r.maxPriorityFeePerGas,delete r.customData,delete r.ccipReadEnabled;const u=Object.keys(r).filter(e=>null!=r[e]);return u.length&&Mc.throwError(`cannot override ${u.map(e=>JSON.stringify(e)).join(",")}`,pn.errors.UNSUPPORTED_OPERATION,{operation:"overrides",overrides:u}),a})}function Oc(e,t,n){const r=e.signer||e.provider;return function(...i){return xc(this,void 0,void 0,function*(){let s;if(i.length===t.inputs.length+1&&"object"==typeof i[i.length-1]){const e=Qn(i.pop());null!=e.blockTag&&(s=yield e.blockTag),delete e.blockTag,i.push(e)}null!=e.deployTransaction&&(yield e._deployed(s));const a=yield Pc(e,t,i),o=yield r.call(a,s);try{let r=e.interface.decodeFunctionResult(t,o);return n&&1===t.outputs.length&&(r=r[0]),r}catch(t){throw t.code===pn.errors.CALL_EXCEPTION&&(t.address=e.address,t.args=i,t.transaction=a),t}})}}function Bc(e,t,n){return t.constant?Oc(e,t,n):function(e,t){return function(...n){return xc(this,void 0,void 0,function*(){e.signer||Mc.throwError("sending a transaction requires a signer",pn.errors.UNSUPPORTED_OPERATION,{operation:"sendTransaction"}),null!=e.deployTransaction&&(yield e._deployed());const r=yield Pc(e,t,n),i=yield e.signer.sendTransaction(r);return function(e,t){const n=t.wait.bind(t);t.wait=t=>n(t).then(t=>(t.events=t.logs.map(n=>{let r=$n(n),i=null;try{i=e.interface.parseLog(n)}catch(e){}return i&&(r.args=i.args,r.decode=(t,n)=>e.interface.decodeEventLog(i.eventFragment,t,n),r.event=i.name,r.eventSignature=i.signature),r.removeListener=()=>e.provider,r.getBlock=()=>e.provider.getBlock(t.blockHash),r.getTransaction=()=>e.provider.getTransaction(t.transactionHash),r.getTransactionReceipt=()=>Promise.resolve(t),r}),t))}(e,i),i})}}(e,t)}function Dc(e){return!e.address||null!=e.topics&&0!==e.topics.length?(e.address||"*")+"@"+(e.topics?e.topics.map(e=>Array.isArray(e)?e.join("|"):e).join(":"):""):"*"}class Fc{constructor(e,t){Kn(this,"tag",e),Kn(this,"filter",t),this._listeners=[]}addListener(e,t){this._listeners.push({listener:e,once:t})}removeListener(e){let t=!1;this._listeners=this._listeners.filter(n=>!(!t&&n.listener===e&&(t=!0,1)))}removeAllListeners(){this._listeners=[]}listeners(){return this._listeners.map(e=>e.listener)}listenerCount(){return this._listeners.length}run(e){const t=this.listenerCount();return this._listeners=this._listeners.filter(t=>{const n=e.slice();return setTimeout(()=>{t.listener.apply(this,n)},0),!t.once}),t}prepareEvent(e){}getEmit(e){return[e]}}class Lc extends Fc{constructor(){super("error",null)}}class Uc extends Fc{constructor(e,t,n,r){const i={address:e};let s=t.getEventTopic(n);r?(s!==r[0]&&Mc.throwArgumentError("topic mismatch","topics",r),i.topics=r.slice()):i.topics=[s],super(Dc(i),i),Kn(this,"address",e),Kn(this,"interface",t),Kn(this,"fragment",n)}prepareEvent(e){super.prepareEvent(e),e.event=this.fragment.name,e.eventSignature=this.fragment.format(),e.decode=(e,t)=>this.interface.decodeEventLog(this.fragment,e,t);try{e.args=this.interface.decodeEventLog(this.fragment,e.data,e.topics)}catch(t){e.args=null,e.decodeError=t}}getEmit(e){const t=function(e){const t=[],n=function(e,r){if(Array.isArray(r))for(let i in r){const s=e.slice();s.push(i);try{n(s,r[i])}catch(e){t.push({path:s,error:e})}}};return n([],e),t}(e.args);if(t.length)throw t[0].error;const n=(e.args||[]).slice();return n.push(e),n}}class Gc extends Fc{constructor(e,t){super("*",{address:e}),Kn(this,"address",e),Kn(this,"interface",t)}prepareEvent(e){super.prepareEvent(e);try{const t=this.interface.parseLog(e);e.event=t.name,e.eventSignature=t.signature,e.decode=(e,n)=>this.interface.decodeEventLog(t.eventFragment,e,n),e.args=t.args}catch(e){}}}class Hc{constructor(e,t,n){Kn(this,"interface",jn(new.target,"getInterface")(t)),null==n?(Kn(this,"provider",null),Kn(this,"signer",null)):S.isSigner(n)?(Kn(this,"provider",n.provider||null),Kn(this,"signer",n)):rr.isProvider(n)?(Kn(this,"provider",n),Kn(this,"signer",null)):Mc.throwArgumentError("invalid signer or provider","signerOrProvider",n),Kn(this,"callStatic",{}),Kn(this,"estimateGas",{}),Kn(this,"functions",{}),Kn(this,"populateTransaction",{}),Kn(this,"filters",{});{const e={};Object.keys(this.interface.events).forEach(t=>{const n=this.interface.events[t];Kn(this.filters,t,(...e)=>({address:this.address,topics:this.interface.encodeFilterTopics(n,e)})),e[n.name]||(e[n.name]=[]),e[n.name].push(t)}),Object.keys(e).forEach(t=>{const n=e[t];1===n.length?Kn(this.filters,t,this.filters[n[0]]):Mc.warn(`Duplicate definition of ${t} (${n.join(", ")})`)})}if(Kn(this,"_runningEvents",{}),Kn(this,"_wrappedEmits",{}),null==e&&Mc.throwArgumentError("invalid contract address or ENS name","addressOrName",e),Kn(this,"address",e),this.provider)Kn(this,"resolvedAddress",Nc(this.provider,e));else try{Kn(this,"resolvedAddress",Promise.resolve(fi(e)))}catch(e){Mc.throwError("provider is required to use ENS name as contract address",pn.errors.UNSUPPORTED_OPERATION,{operation:"new Contract"})}this.resolvedAddress.catch(e=>{});const r={},i={};Object.keys(this.interface.functions).forEach(e=>{const t=this.interface.functions[e];if(i[e])Mc.warn(`Duplicate ABI entry for ${JSON.stringify(e)}`);else{i[e]=!0;{const n=t.name;r[`%${n}`]||(r[`%${n}`]=[]),r[`%${n}`].push(e)}null==this[e]&&Kn(this,e,Bc(this,t,!0)),null==this.functions[e]&&Kn(this.functions,e,Bc(this,t,!1)),null==this.callStatic[e]&&Kn(this.callStatic,e,Oc(this,t,!0)),null==this.populateTransaction[e]&&Kn(this.populateTransaction,e,function(e,t){return function(...n){return Pc(e,t,n)}}(this,t)),null==this.estimateGas[e]&&Kn(this.estimateGas,e,function(e,t){const n=e.signer||e.provider;return function(...r){return xc(this,void 0,void 0,function*(){n||Mc.throwError("estimate require a provider or signer",pn.errors.UNSUPPORTED_OPERATION,{operation:"estimateGas"});const i=yield Pc(e,t,r);return yield n.estimateGas(i)})}}(this,t))}}),Object.keys(r).forEach(e=>{const t=r[e];if(t.length>1)return;e=e.substring(1);const n=t[0];try{null==this[e]&&Kn(this,e,this[n])}catch(e){}null==this.functions[e]&&Kn(this.functions,e,this.functions[n]),null==this.callStatic[e]&&Kn(this.callStatic,e,this.callStatic[n]),null==this.populateTransaction[e]&&Kn(this.populateTransaction,e,this.populateTransaction[n]),null==this.estimateGas[e]&&Kn(this.estimateGas,e,this.estimateGas[n])})}static getContractAddress(e){return mi(e)}static getInterface(e){return _c.isInterface(e)?e:new _c(e)}deployed(){return this._deployed()}_deployed(e){return this._deployedPromise||(this._deployedPromise=this.deployTransaction?this.deployTransaction.wait().then(()=>this):this.provider.getCode(this.address,e).then(e=>("0x"===e&&Mc.throwError("contract not deployed",pn.errors.UNSUPPORTED_OPERATION,{contractAddress:this.address,operation:"getDeployed"}),this))),this._deployedPromise}fallback(e){this.signer||Mc.throwError("sending a transactions require a signer",pn.errors.UNSUPPORTED_OPERATION,{operation:"sendTransaction(fallback)"});const t=Qn(e||{});return["from","to"].forEach(function(e){null!=t[e]&&Mc.throwError("cannot override "+e,pn.errors.UNSUPPORTED_OPERATION,{operation:e})}),t.to=this.resolvedAddress,this.deployed().then(()=>this.signer.sendTransaction(t))}connect(e){"string"==typeof e&&(e=new k(e,this.provider));const t=new this.constructor(this.address,this.interface,e);return this.deployTransaction&&Kn(t,"deployTransaction",this.deployTransaction),t}attach(e){return new this.constructor(e,this.interface,this.signer||this.provider)}static isIndexed(e){return Sc.isIndexed(e)}_normalizeRunningEvent(e){return this._runningEvents[e.tag]?this._runningEvents[e.tag]:e}_getRunningEvent(e){if("string"==typeof e){if("error"===e)return this._normalizeRunningEvent(new Lc);if("event"===e)return this._normalizeRunningEvent(new Fc("event",null));if("*"===e)return this._normalizeRunningEvent(new Gc(this.address,this.interface));const t=this.interface.getEvent(e);return this._normalizeRunningEvent(new Uc(this.address,this.interface,t))}if(e.topics&&e.topics.length>0){try{const t=e.topics[0];if("string"!=typeof t)throw new Error("invalid topic");const n=this.interface.getEvent(t);return this._normalizeRunningEvent(new Uc(this.address,this.interface,n,e.topics))}catch(e){}const t={address:this.address,topics:e.topics};return this._normalizeRunningEvent(new Fc(Dc(t),t))}return this._normalizeRunningEvent(new Gc(this.address,this.interface))}_checkRunningEvents(e){if(0===e.listenerCount()){delete this._runningEvents[e.tag];const t=this._wrappedEmits[e.tag];t&&e.filter&&(this.provider.off(e.filter,t),delete this._wrappedEmits[e.tag])}}_wrapEvent(e,t,n){const r=$n(t);return r.removeListener=()=>{n&&(e.removeListener(n),this._checkRunningEvents(e))},r.getBlock=()=>this.provider.getBlock(t.blockHash),r.getTransaction=()=>this.provider.getTransaction(t.transactionHash),r.getTransactionReceipt=()=>this.provider.getTransactionReceipt(t.transactionHash),e.prepareEvent(r),r}_addEventListener(e,t,n){if(this.provider||Mc.throwError("events require a provider or a signer with a provider",pn.errors.UNSUPPORTED_OPERATION,{operation:"once"}),e.addListener(t,n),this._runningEvents[e.tag]=e,!this._wrappedEmits[e.tag]){const n=n=>{let r=this._wrapEvent(e,n,t);if(null==r.decodeError)try{const t=e.getEmit(r);this.emit(e.filter,...t)}catch(e){r.decodeError=e.error}null!=e.filter&&this.emit("event",r),null!=r.decodeError&&this.emit("error",r.decodeError,r)};this._wrappedEmits[e.tag]=n,null!=e.filter&&this.provider.on(e.filter,n)}}queryFilter(e,t,n){const r=this._getRunningEvent(e),i=Qn(r.filter);return"string"==typeof t&&En(t,32)?(null!=n&&Mc.throwArgumentError("cannot specify toBlock with blockhash","toBlock",n),i.blockHash=t):(i.fromBlock=null!=t?t:0,i.toBlock=null!=n?n:"latest"),this.provider.getLogs(i).then(e=>e.map(e=>this._wrapEvent(r,e,null)))}on(e,t){return this._addEventListener(this._getRunningEvent(e),t,!1),this}once(e,t){return this._addEventListener(this._getRunningEvent(e),t,!0),this}emit(e,...t){if(!this.provider)return!1;const n=this._getRunningEvent(e),r=n.run(t)>0;return this._checkRunningEvents(n),r}listenerCount(e){return this.provider?null==e?Object.keys(this._runningEvents).reduce((e,t)=>e+this._runningEvents[t].listenerCount(),0):this._getRunningEvent(e).listenerCount():0}listeners(e){if(!this.provider)return[];if(null==e){const e=[];for(let t in this._runningEvents)this._runningEvents[t].listeners().forEach(t=>{e.push(t)});return e}return this._getRunningEvent(e).listeners()}removeAllListeners(e){if(!this.provider)return this;if(null==e){for(const e in this._runningEvents){const t=this._runningEvents[e];t.removeAllListeners(),this._checkRunningEvents(t)}return this}const t=this._getRunningEvent(e);return t.removeAllListeners(),this._checkRunningEvents(t),this}off(e,t){if(!this.provider)return this;const n=this._getRunningEvent(e);return n.removeListener(t),this._checkRunningEvents(n),this}removeListener(e,t){return this.off(e,t)}}class qc extends Hc{}const zc=["function decimals() external view returns (uint8)"],Vc=["providers","tradingSdk"];class Kc{constructor(e){this.options=void 0,this.config=void 0,this.options=e;const{providers:t,tradingSdk:n}=e,r=L(e,Vc);if(!t||1!==t.length)throw new Error("Current implementation only supports a single bridge provider");void 0!==e.enableLogging&&qe(e.enableLogging),this.config=F({providers:t},r,{tradingSdk:null!=n?n:new Il})}get provider(){const{providers:e}=this.config;return e[0]}getProviders(){return this.config.providers}async getSourceNetworks(){return be}async getTargetNetworks(){return this.provider.getNetworks()}async getBuyTokens(e){return this.provider.getBuyTokens(e)}async getQuote(e,t){const{sellTokenChainId:n,buyTokenChainId:r}=e,i=this.config.tradingSdk;if(n!==r){var s;const n=yl(e.signer),r=null!==(s=this.config.getErc20Decimals)&&void 0!==s?s:(a=n,(e,t)=>new qc(t,zc,a).decimals());return async function(e){const{provider:t,swapAndBridgeRequest:n,advancedSettings:r,getErc20Decimals:i,tradingSdk:s}=e,{kind:a,sellTokenChainId:u,sellTokenAddress:l,buyTokenChainId:c,buyTokenAddress:d,amount:h,signer:p}=n,f=L(n,_l),m=yl(p);if(a!==it.SELL)throw new Error("Bridging only support SELL orders");He(`Cross-chain ${a} ${h} ${l} (source chain ${u}) for ${d} (target chain ${c})`);const y=await async function(e){const{provider:t,getErc20Decimals:n,swapAndBridgeRequest:r}=e,{sellTokenChainId:i}=r,s=await t.getIntermediateTokens(r);if(0===s.length)throw new Error("No path found (not intermediate token for bridging)");const a=s[0];return He(`Using ${a} as intermediate tokens`),F({},r,{sellTokenAddress:a,sellTokenDecimals:await n(i,a)})}({swapAndBridgeRequest:n,provider:t,getErc20Decimals:i}),g={post:[{callData:"0x00",gasLimit:t.getGasLimitEstimationForHook(y).toString(),target:"0x0000000000000000000000000000000000000000"}]};He(`Using mocked hook for swap gas estimation: ${JSON.stringify(g)}`);const{sellTokenAddress:b,sellTokenDecimals:v}=y,w=F({},f,{kind:a,chainId:u,sellToken:l,buyToken:b,buyTokenDecimals:v,amount:h.toString(),signer:m}),{result:A,orderBookApi:T}=await s.getQuoteResults(w,F({},r,{appData:{metadata:{hooks:g}}})),E=A.amountsAndCosts.afterSlippage.buyAmount,{bridgeResult:I,bridgeHook:S,appData:k}=await async function(e){const{swapResult:t,bridgeRequestWithoutAmount:n,provider:r,intermediateTokenAmount:i,signer:s}=e,a=F({},n,{amount:i}),u=await r.getQuote(a),l=await r.getUnsignedBridgeCall(a,u),c=await r.getSignedHook(a.sellTokenChainId,l,s),d=new o,h=await d.generateAppDataDoc(F({},t.appDataInfo.doc,{metadata:{hooks:{post:[c.postHook]}}}));return{bridgeResult:F({},u,{providerInfo:r.info,tradeParameters:a,bridgeCallDetails:{unsignedBridgeCall:l,preAuthorizedBridgingHook:c}}),bridgeHook:c,appData:h}}({swapAndBridgeRequest:n,swapResult:A,bridgeRequestWithoutAmount:y,provider:t,intermediateTokenAmount:E,signer:m});A.tradeParameters.receiver=S.recipient;const{fullAppData:C,appDataKeccak256:_}=await Yt(k);return A.appDataInfo={fullAppData:C,appDataKeccak256:_,doc:k},{swap:A,bridge:I,postSwapOrderFromQuote:async()=>Al({result:F({},A,{signer:m}),orderBookApi:T},F({},r,{appData:k}))}}({swapAndBridgeRequest:e,advancedSettings:t,tradingSdk:i,provider:this.provider,getErc20Decimals:r})}return function(e){const{quoteBridgeRequest:t,advancedSettings:n,tradingSdk:r}=e,{sellTokenAddress:i,buyTokenAddress:s,amount:a}=t,o=F({},L(t,kl),{chainId:t.sellTokenChainId,sellToken:i,buyToken:s,amount:a.toString()}),u=L(o,Cl);return He(`Single-chain swap: Delegate to trading SDK with params ${JSON.stringify(u,We)}`),r.getQuote(o,n)}({quoteBridgeRequest:e,advancedSettings:t,tradingSdk:i});var a}}const jc=`${ee}/src/bridging/providers`,Wc={to:"0x0000000000000000000000000000000000000001",data:"0x0",value:BigInt(0)},Jc=[{chainId:G.MAINNET,address:"0xA0b86991c6218b36c1d19D4a2e9Eb0cE3606eB48",logoUrl:"https://swap.cow.fi/assets/network-mainnet-logo-BJe1wK_m.svg",name:"USD Coin",symbol:"USDC",decimals:6},{chainId:G.MAINNET,address:"0xC02aaA39b223FE8D0A0e5C4F27eAD9083C756Cc2",logoUrl:"https://swap.cow.fi/assets/network-gnosis-chain-logo-Do_DEWQv.svg",name:"Wrapped Ether",symbol:"WETH",decimals:18},{chainId:G.SEPOLIA,address:"0x0625aFB445C3B6B7B929342a04A22599fd5dBB59",logoUrl:"https://swap.cow.fi/assets/network-mainnet-logo-BJe1wK_m.svg",name:"CoW Protocol Token",symbol:"COW",decimals:18},{chainId:H.OPTIMISM,address:"0x4200000000000000000000000000000000000006",logoUrl:"https://swap.cow.fi/assets/network-mainnet-logo-BJe1wK_m.svg",name:"Wrapped Ether",symbol:"WETH",decimals:18}],Qc={[G.MAINNET]:["0xDEf1CA1fb7FBcDC777520aa7f396b4E015F497aB"],[H.OPTIMISM]:["0x68f180fcCe6836688e9084f035309E29Bf0A2095"],[G.SEPOLIA]:["0xB4F1737Af37711e9A5890D9510c9bB60e170CB0D"]};class Yc{constructor(){this.info={name:"Mock",logoUrl:`${jc}/mock/mock-logo.png`}}async getNetworks(){return[re,fe,he]}async getBuyTokens(e){return Jc.filter(t=>t.chainId===e)}async getIntermediateTokens({sellTokenChainId:e}){var t;return null!==(t=Qc[e])&&void 0!==t?t:[]}async getQuote(e){return{isSell:!0,amountsAndCosts:{costs:{bridgingFee:{feeBps:10,amountInSellCurrency:123456n,amountInBuyCurrency:123456n}},beforeFee:{sellAmount:123456n,buyAmount:123456n},afterFee:{sellAmount:123456n,buyAmount:123456n},afterSlippage:{sellAmount:123456n,buyAmount:123456n},slippageBps:0},quoteTimestamp:Date.now(),expectedFillTimeSeconds:128}}getGasLimitEstimationForHook(e){return 11e4}async getUnsignedBridgeCall(e,t){return Wc}async getSignedHook(e,t,n){return{recipient:"0x0000000000000000000000000000000000000001",postHook:{target:"0x0000000000000000000000000000000000000002",callData:"0x1",gasLimit:"0x2",dappId:"MockBridgeProvider"}}}async decodeBridgeHook(e){return{kind:it.SELL,provider:this.info,account:"0x0000000000000000000000000000000000000001",sellTokenChainId:1,sellTokenAddress:"0x0000000000000000000000000000000000000001",sellTokenAmount:"123456",sellTokenDecimals:18,buyTokenChainId:1,buyTokenAddress:"0x0000000000000000000000000000000000000002",buyTokenDecimals:18,minBuyAmount:"123456",receiver:"0x0000000000000000000000000000000000000001",signer:"",appCode:"MOCK"}}async getBridgingId(e,t){return"123456789asdfg"}getExplorerUrl(e){return"https://www.google.com/search?q="+e}async getStatus(e){return{status:R.IN_PROGRESS,fillTimeInSeconds:67}}async getCancelBridgingTx(e){return Wc}async getRefundBridgingTx(e){return Wc}}const Xc=[{chainId:G.MAINNET,tokens:{usdc:"0xA0b86991c6218b36c1d19D4a2e9Eb0cE3606eB48",weth:"0xC02aaA39b223FE8D0A0e5C4F27eAD9083C756Cc2",wbtc:"0x2260FAC5E5542a773Aa44fBCfeDf7C193bc2C599",dai:"0x6B175474E89094C44Da98b954EedeAC495271d0F",usdt:"0xdAC17F958D2ee523a2206206994597C13D831ec7"}},{chainId:H.POLYGON,tokens:{usdc:"0x3c499c542cEF5E3811e1192ce70d8cC03d5c3359",weth:"0x7ceB23fD6bC0adD59E62ac25578270cFf1b9f619",wbtc:"0x1BFD67037B42Cf73acF2047067bd4F2C47D9BfD6",dai:"0x8f3Cf7ad23Cd3CaDbD9735AFf958023239c6A063",usdt:"0xc2132D05D31c914a87C6611C10748AEb04B58e8F"}},{chainId:G.ARBITRUM_ONE,tokens:{usdc:"0xaf88d065e77c8cC2239327C5EDb3A432268e5831",weth:"0x82aF49447D8a07e3bd95BD0d56f35241523fBab1",wbtc:"0x2f2a2543B76A4166549F7aaB2e75Bef0aefC5B0f",dai:"0xDA10009cBd5D07dd0CeCc66161FC93D7c9000da1",usdt:"0xFd086bC7CD5C481DCC9C85ebE478A1C0b69FCbb9"}},{chainId:G.BASE,tokens:{usdc:"0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913",weth:"0x4200000000000000000000000000000000000006",dai:"0x50c5725949A6F0c72E6C4a641F24049A917DB0Cb"}},{chainId:H.OPTIMISM,tokens:{usdc:"0x0b2C639c533813f4Aa9D7837CAf62653d097Ff85",weth:"0x4200000000000000000000000000000000000006",wbtc:"0x68f180fcCe6836688e9084f035309E29Bf0A2095",dai:"0xDA10009cBd5D07dd0CeCc66161FC93D7c9000da1",usdt:"0x94b008aA00579c1307B0EF2c499aD98a8ce58e58"}}].reduce((e,t)=>(e[t.chainId]=t,e),{});class Zc{constructor(e={}){this.options=void 0,this.options=e}async getAvailableRoutes({originChainId:e,originToken:t,destinationChainId:n,destinationToken:r}){const i={};return e&&(i.originChainId=e),t&&(i.originToken=t),n&&(i.destinationChainId=n),r&&(i.destinationToken=r),this.fetchApi("/available-routes",i,td)}async getSuggestedFees(e){const t={token:e.token,originChainId:e.originChainId.toString(),destinationChainId:e.destinationChainId.toString(),amount:e.amount.toString()};return e.recipient&&(t.recipient=e.recipient),await this.fetchApi("/suggested-fees",t,$c)}async fetchApi(e,t,n){const r=`${this.options.apiBaseUrl||"https://app.across.to/api"}${e}?${new URLSearchParams(t).toString()}`;He(`Fetching Across API: GET ${r}. Params: ${JSON.stringify(t)}`);const i=await fetch(r,{method:"GET",headers:{"Content-Type":"application/json"}});if(!i.ok){const e=await i.text();throw new Error(`HTTP error! Status: ${i.status}, Body: ${e}`)}const s=await i.json();if(n){if(n(s))return s;throw new Error(`Invalid response for Across API call ${e}. The response doesn't pass the validation. Did the API change? Result: ${JSON.stringify(s)}`)}return s}}function $c(e){return"object"==typeof e&&null!==e&&"totalRelayFee"in e&&ed(e.totalRelayFee)&&"relayerCapitalFee"in e&&ed(e.relayerCapitalFee)&&"relayerGasFee"in e&&ed(e.relayerGasFee)&&"lpFee"in e&&ed(e.lpFee)&&"timestamp"in e&&"isAmountTooLow"in e&&"quoteBlock"in e&&"spokePoolAddress"in e&&"exclusiveRelayer"in e&&"exclusivityDeadline"in e&&"estimatedFillTimeSec"in e&&"fillDeadline"in e&&"limits"in e&&"object"==typeof(t=e.limits)&&null!==t&&"minDeposit"in t&&"maxDeposit"in t&&"maxDepositInstant"in t&&"maxDepositShortDelay"in t&&"recommendedDepositInstant"in t;var t}function ed(e){return"object"==typeof e&&null!==e&&"pct"in e&&"total"in e}function td(e){return!!Array.isArray(e)&&e.every(e=>function(e){return"object"==typeof e&&null!==e&&"originChainId"in e&&"originToken"in e&&"destinationChainId"in e&&"destinationToken"in e&&"originTokenSymbol"in e&&"destinationTokenSymbol"in e}(e))}const nd=10n**18n;function rd(e){return Xc[e]}function id(e,t,n){const{amount:r,sellTokenDecimals:i,buyTokenDecimals:s}=e,a=mt(r,i),o=a.big,u=mt(a.num,s).big,l=BigInt(n.totalRelayFee.pct),c=ad(u,l),d=o-ad(o,l),h=u-c,p=function(e,t){return e*BigInt(1e4-t)/10000n}(c,t);return{beforeFee:{sellAmount:o,buyAmount:u},afterFee:{sellAmount:o,buyAmount:c},afterSlippage:{sellAmount:o,buyAmount:p},costs:{bridgingFee:{feeBps:(f=l,sd(f),Number(10000n*f/nd)),amountInSellCurrency:d,amountInBuyCurrency:h}},slippageBps:t};var f}function sd(e){if(e>nd||e<0n)throw new Error("Fee cannot exceed 100% or be negative")}function ad(e,t){return sd(t),e*(nd-t)/nd}let od;const ud="0x60a034608e57601f61037138819003918201601f19168301916001600160401b038311848410176093578084926040948552833981010312608e57604b602060458360a9565b920160a9565b6080527f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc556040516102b490816100bd8239608051818181608f01526101720152f35b600080fd5b634e487b7160e01b600052604160045260246000fd5b51906001600160a01b0382168203608e5756fe60806040526004361015610018575b3661019457610194565b6000803560e01c908163025b22bc1461003b575063f851a4400361000e5761010d565b3461010a5760207ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc36011261010a5773ffffffffffffffffffffffffffffffffffffffff60043581811691828203610106577f0000000000000000000000000000000000000000000000000000000000000000163314600014610101577f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc557fbc7cd75a20ee27fd9adebab32041f755214dbc6bffa90cc0225b39da2e5c2d3b8280a280f35b61023d565b8380fd5b80fd5b346101645760007ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc360112610164576020610146610169565b73ffffffffffffffffffffffffffffffffffffffff60405191168152f35b600080fd5b333003610101577f000000000000000000000000000000000000000000000000000000000000000090565b60ff7f68df44b1011761f481358c0f49a711192727fb02c377d697bcb0ea8ff8393ac0541615806101ef575b1561023d5760046040517ff92ee8a9000000000000000000000000000000000000000000000000000000008152fd5b507f400ada75000000000000000000000000000000000000000000000000000000007fffffffff000000000000000000000000000000000000000000000000000000006000351614156101c0565b7f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc546000808092368280378136915af43d82803e1561027a573d90f35b3d90fdfea2646970667358221220c7c26ff3040b96a28e96d6d27b743972943aeaef81cc821544c5fe1e24f9b17264736f6c63430008190033",ld={ExecuteHooks:[{type:"Call[]",name:"calls"},{type:"bytes32",name:"nonce"},{type:"uint256",name:"deadline"}],Call:[{type:"address",name:"target"},{type:"uint256",name:"value"},{type:"bytes",name:"callData"},{type:"bool",name:"allowFailure"},{type:"bool",name:"isDelegateCall"}]};class cd{constructor(e,t){this.chainId=void 0,this.customOptions=void 0,this.chainId=e,this.customOptions=t}proxyOf(e){const t=d.encode(["address"],[e]),n=h(["bytes","bytes"],[this.proxyCreationCode(),d.encode(["address","address"],[this.getImplementationAddress(),e])]);return p(this.getFactoryAddress(),t,n)}encodeExecuteHooksForFactory(e,t,n,r,i){return(od||(od=Mt.createInterface()),od).encodeFunctionData("executeHooks",[e,t,n,r,i])}async signCalls(e,t,n,r,i){const s=await r.getAddress(),a=this.proxyOf(s),{domain:o,types:u,message:l}=this.infoToSign(e,t,n,a);return await async function(e,t,n,r,i){let s=null;switch(e){case A.EIP712:if(!E(t))throw new Error("signer does not support signing typed data");s=await t._signTypedData(n,r,i);break;case A.ETHSIGN:s=await t.signMessage(f(T(n,r,i)));break;default:throw new Error("invalid signing scheme")}return m(y(s))}(i,r,o,u,l)}infoToSign(e,t,n,r){const i={calls:e,nonce:t,deadline:n};return{domain:this.getDomain(r),types:ld,message:i}}getDomain(e){return{name:"COWShed",version:"1.0.0",chainId:this.chainId,verifyingContract:e}}proxyCreationCode(){var e,t;return null!==(e=null==(t=this.customOptions)?void 0:t.proxyCreationCode)&&void 0!==e?e:ud}getFactoryAddress(){var e,t;return null!==(e=null==(t=this.customOptions)?void 0:t.factoryAddress)&&void 0!==e?e:_e}getImplementationAddress(){var e,t;return null!==(e=null==(t=this.customOptions)?void 0:t.implementationAddress)&&void 0!==e?e:xe}}const dd=br.toBigInt();class hd{constructor(e={}){this.options=void 0,this.hooksCache=new Map,this.options=e}getCowShedAccount(e,t){var n;return this.getCowShedHooks(e,null==(n=this.options)?void 0:n.factoryOptions).proxyOf(t)}async signCalls({calls:e,signer:t,chainId:n,nonce:r=hd.getNonce(),deadline:i=dd,defaultGasLimit:s,signingScheme:a=A.EIP712}){var o;const u=this.getCowShedHooks(n),l=t||(null==(o=this.options)?void 0:o.signer);if(!l)throw new Error("Signer is required");const c=yl(l),d=await c.getAddress(),h=u.proxyOf(d),p=await u.signCalls(e,r,i,c,a),f=u.encodeExecuteHooksForFactory(e,r,i,d,p),m={to:u.getFactoryAddress(),data:f,value:BigInt(0)},y=await c.estimateGas(m).catch(e=>{const t=`Error estimating gas for the cow-shed call: ${JSON.stringify(m,We,2)}. Review the factory call`;if(s)return He(`${t}, using the default gas limit.`),s;throw new Error(`${t}, or provide the defaultGasLimit parameter.`,{cause:e})});return{cowShedAccount:h,signedMulticall:m,gasLimit:BigInt(y.toString())}}getCowShedHooks(e,t){let n=this.hooksCache.get(e);return n||(n=new cd(e,t),this.hooksCache.set(e,n),n)}static getNonce(){return g(Date.now().toString())}}const pd={[G.MAINNET]:"0x5c7BCd6E7De5423a257D81B442095A1a6ced35C5",[G.ARBITRUM_ONE]:"0xe35e9842fceaca96570b734083f4a58e8f7c5f2a",[G.BASE]:"0x09aea4b2242abC8bb4BB78D537A67a245A7bEC64",[G.SEPOLIA]:"0x5ef6C01E11889d86803e0B23e3cB3F9E9d97B662",[G.GNOSIS_CHAIN]:void 0,[H.POLYGON]:void 0,[H.OPTIMISM]:void 0},fd={[G.MAINNET]:"0xf2ae6728b6f146556977Af0A68bFbf5bADA22863",[G.ARBITRUM_ONE]:"0x5771A4b4029832e79a75De7B485E5fBbec28848f",[G.BASE]:"0xd4e943dc6ddc885f6229ce33c2e3dfe402a12c81",[G.GNOSIS_CHAIN]:void 0,[G.SEPOLIA]:void 0,[H.POLYGON]:void 0,[H.OPTIMISM]:void 0};var md;!function(e){e[e.DELEGATECALL=0]="DELEGATECALL",e[e.CALL=1]="CALL",e[e.STATICCALL=2]="STATICCALL",e[e.CALL_WITH_VALUE=3]="CALL_WITH_VALUE",e[e.CALLTYPE_MASK=3]="CALLTYPE_MASK",e[e.EXTENDED_COMMAND=64]="EXTENDED_COMMAND",e[e.TUPLE_RETURN=128]="TUPLE_RETURN"}(md||(md={}));const yd="0x9585c3062Df1C247d5E373Cfca9167F7dC2b5963",gd=[{inputs:[{internalType:"uint256",name:"command_index",type:"uint256"},{internalType:"address",name:"target",type:"address"},{internalType:"string",name:"message",type:"string"}],name:"ExecutionFailed",type:"error"},{inputs:[{internalType:"bytes32[]",name:"commands",type:"bytes32[]"},{internalType:"bytes[]",name:"state",type:"bytes[]"}],name:"execute",outputs:[{internalType:"bytes[]",name:"",type:"bytes[]"}],stateMutability:"payable",type:"function"}];function bd(e){const t=e.plan(),{commands:n,state:r}=t;return new _c(gd).encodeFunctionData("execute",[n,r])}function vd(e){const t=new C;return e(t),{to:yd,value:BigInt(0),data:bd(t)}}function wd(e,t){return _.createContract(e,t)}function Ad(e){return _.createLibrary(e)}const Td=[{inputs:[{internalType:"uint256",name:"_a",type:"uint256"},{internalType:"uint256",name:"_b",type:"uint256"}],name:"multiplyAndSubtract",outputs:[{internalType:"uint256",name:"result",type:"uint256"}],stateMutability:"pure",type:"function"}],Ed=[{inputs:[{internalType:"address",name:"_wrappedNativeTokenAddress",type:"address"},{internalType:"uint32",name:"_depositQuoteTimeBuffer",type:"uint32"},{internalType:"uint32",name:"_fillDeadlineBuffer",type:"uint32"}],stateMutability:"nonpayable",type:"constructor"},{inputs:[],name:"ClaimedMerkleLeaf",type:"error"},{inputs:[],name:"DepositsArePaused",type:"error"},{inputs:[],name:"DisabledRoute",type:"error"},{inputs:[],name:"ExpiredFillDeadline",type:"error"},{inputs:[],name:"FillsArePaused",type:"error"},{inputs:[],name:"InsufficientSpokePoolBalanceToExecuteLeaf",type:"error"},{inputs:[],name:"InvalidBytes32",type:"error"},{inputs:[],name:"InvalidChainId",type:"error"},{inputs:[],name:"InvalidCrossDomainAdmin",type:"error"},{inputs:[],name:"InvalidDepositorSignature",type:"error"},{inputs:[],name:"InvalidExclusiveRelayer",type:"error"},{inputs:[],name:"InvalidFillDeadline",type:"error"},{inputs:[],name:"InvalidMerkleLeaf",type:"error"},{inputs:[],name:"InvalidMerkleProof",type:"error"},{inputs:[],name:"InvalidPayoutAdjustmentPct",type:"error"},{inputs:[],name:"InvalidQuoteTimestamp",type:"error"},{inputs:[],name:"InvalidRelayerFeePct",type:"error"},{inputs:[],name:"InvalidSlowFillRequest",type:"error"},{inputs:[],name:"InvalidWithdrawalRecipient",type:"error"},{inputs:[{internalType:"bytes",name:"data",type:"bytes"}],name:"LowLevelCallFailed",type:"error"},{inputs:[],name:"MaxTransferSizeExceeded",type:"error"},{inputs:[],name:"MsgValueDoesNotMatchInputAmount",type:"error"},{inputs:[],name:"NoRelayerRefundToClaim",type:"error"},{inputs:[],name:"NoSlowFillsInExclusivityWindow",type:"error"},{inputs:[],name:"NotEOA",type:"error"},{inputs:[],name:"NotExclusiveRelayer",type:"error"},{inputs:[],name:"RelayFilled",type:"error"},{inputs:[],name:"WrongERC7683OrderId",type:"error"},{anonymous:!1,inputs:[{indexed:!1,internalType:"address",name:"previousAdmin",type:"address"},{indexed:!1,internalType:"address",name:"newAdmin",type:"address"}],name:"AdminChanged",type:"event"},{anonymous:!1,inputs:[{indexed:!0,internalType:"address",name:"beacon",type:"address"}],name:"BeaconUpgraded",type:"event"},{anonymous:!1,inputs:[{indexed:!0,internalType:"bytes32",name:"l2TokenAddress",type:"bytes32"},{indexed:!0,internalType:"bytes32",name:"refundAddress",type:"bytes32"},{indexed:!1,internalType:"uint256",name:"amount",type:"uint256"},{indexed:!0,internalType:"address",name:"caller",type:"address"}],name:"ClaimedRelayerRefund",type:"event"},{anonymous:!1,inputs:[{indexed:!0,internalType:"uint256",name:"rootBundleId",type:"uint256"}],name:"EmergencyDeletedRootBundle",type:"event"},{anonymous:!1,inputs:[{indexed:!0,internalType:"address",name:"originToken",type:"address"},{indexed:!0,internalType:"uint256",name:"destinationChainId",type:"uint256"},{indexed:!1,internalType:"bool",name:"enabled",type:"bool"}],name:"EnabledDepositRoute",type:"event"},{anonymous:!1,inputs:[{indexed:!1,internalType:"uint256",name:"amountToReturn",type:"uint256"},{indexed:!0,internalType:"uint256",name:"chainId",type:"uint256"},{indexed:!1,internalType:"uint256[]",name:"refundAmounts",type:"uint256[]"},{indexed:!0,internalType:"uint32",name:"rootBundleId",type:"uint32"},{indexed:!0,internalType:"uint32",name:"leafId",type:"uint32"},{indexed:!1,internalType:"address",name:"l2TokenAddress",type:"address"},{indexed:!1,internalType:"address[]",name:"refundAddresses",type:"address[]"},{indexed:!1,internalType:"bool",name:"deferredRefunds",type:"bool"},{indexed:!1,internalType:"address",name:"caller",type:"address"}],name:"ExecutedRelayerRefundRoot",type:"event"},{anonymous:!1,inputs:[{indexed:!1,internalType:"bytes32",name:"inputToken",type:"bytes32"},{indexed:!1,internalType:"bytes32",name:"outputToken",type:"bytes32"},{indexed:!1,internalType:"uint256",name:"inputAmount",type:"uint256"},{indexed:!1,internalType:"uint256",name:"outputAmount",type:"uint256"},{indexed:!1,internalType:"uint256",name:"repaymentChainId",type:"uint256"},{indexed:!0,internalType:"uint256",name:"originChainId",type:"uint256"},{indexed:!0,internalType:"uint256",name:"depositId",type:"uint256"},{indexed:!1,internalType:"uint32",name:"fillDeadline",type:"uint32"},{indexed:!1,internalType:"uint32",name:"exclusivityDeadline",type:"uint32"},{indexed:!1,internalType:"bytes32",name:"exclusiveRelayer",type:"bytes32"},{indexed:!0,internalType:"bytes32",name:"relayer",type:"bytes32"},{indexed:!1,internalType:"bytes32",name:"depositor",type:"bytes32"},{indexed:!1,internalType:"bytes32",name:"recipient",type:"bytes32"},{indexed:!1,internalType:"bytes32",name:"messageHash",type:"bytes32"},{components:[{internalType:"bytes32",name:"updatedRecipient",type:"bytes32"},{internalType:"bytes32",name:"updatedMessageHash",type:"bytes32"},{internalType:"uint256",name:"updatedOutputAmount",type:"uint256"},{internalType:"enum V3SpokePoolInterface.FillType",name:"fillType",type:"uint8"}],indexed:!1,internalType:"struct V3SpokePoolInterface.V3RelayExecutionEventInfo",name:"relayExecutionInfo",type:"tuple"}],name:"FilledRelay",type:"event"},{anonymous:!1,inputs:[{indexed:!1,internalType:"address",name:"inputToken",type:"address"},{indexed:!1,internalType:"address",name:"outputToken",type:"address"},{indexed:!1,internalType:"uint256",name:"inputAmount",type:"uint256"},{indexed:!1,internalType:"uint256",name:"outputAmount",type:"uint256"},{indexed:!1,internalType:"uint256",name:"repaymentChainId",type:"uint256"},{indexed:!0,internalType:"uint256",name:"originChainId",type:"uint256"},{indexed:!0,internalType:"uint32",name:"depositId",type:"uint32"},{indexed:!1,internalType:"uint32",name:"fillDeadline",type:"uint32"},{indexed:!1,internalType:"uint32",name:"exclusivityDeadline",type:"uint32"},{indexed:!1,internalType:"address",name:"exclusiveRelayer",type:"address"},{indexed:!0,internalType:"address",name:"relayer",type:"address"},{indexed:!1,internalType:"address",name:"depositor",type:"address"},{indexed:!1,internalType:"address",name:"recipient",type:"address"},{indexed:!1,internalType:"bytes",name:"message",type:"bytes"},{components:[{internalType:"address",name:"updatedRecipient",type:"address"},{internalType:"bytes",name:"updatedMessage",type:"bytes"},{internalType:"uint256",name:"updatedOutputAmount",type:"uint256"},{internalType:"enum V3SpokePoolInterface.FillType",name:"fillType",type:"uint8"}],indexed:!1,internalType:"struct V3SpokePoolInterface.LegacyV3RelayExecutionEventInfo",name:"relayExecutionInfo",type:"tuple"}],name:"FilledV3Relay",type:"event"},{anonymous:!1,inputs:[{indexed:!1,internalType:"bytes32",name:"inputToken",type:"bytes32"},{indexed:!1,internalType:"bytes32",name:"outputToken",type:"bytes32"},{indexed:!1,internalType:"uint256",name:"inputAmount",type:"uint256"},{indexed:!1,internalType:"uint256",name:"outputAmount",type:"uint256"},{indexed:!0,internalType:"uint256",name:"destinationChainId",type:"uint256"},{indexed:!0,internalType:"uint256",name:"depositId",type:"uint256"},{indexed:!1,internalType:"uint32",name:"quoteTimestamp",type:"uint32"},{indexed:!1,internalType:"uint32",name:"fillDeadline",type:"uint32"},{indexed:!1,internalType:"uint32",name:"exclusivityDeadline",type:"uint32"},{indexed:!0,internalType:"bytes32",name:"depositor",type:"bytes32"},{indexed:!1,internalType:"bytes32",name:"recipient",type:"bytes32"},{indexed:!1,internalType:"bytes32",name:"exclusiveRelayer",type:"bytes32"},{indexed:!1,internalType:"bytes",name:"message",type:"bytes"}],name:"FundsDeposited",type:"event"},{anonymous:!1,inputs:[{indexed:!1,internalType:"uint8",name:"version",type:"uint8"}],name:"Initialized",type:"event"},{anonymous:!1,inputs:[{indexed:!0,internalType:"address",name:"previousOwner",type:"address"},{indexed:!0,internalType:"address",name:"newOwner",type:"address"}],name:"OwnershipTransferred",type:"event"},{anonymous:!1,inputs:[{indexed:!1,internalType:"bool",name:"isPaused",type:"bool"}],name:"PausedDeposits",type:"event"},{anonymous:!1,inputs:[{indexed:!1,internalType:"bool",name:"isPaused",type:"bool"}],name:"PausedFills",type:"event"},{anonymous:!1,inputs:[{indexed:!0,internalType:"uint32",name:"rootBundleId",type:"uint32"},{indexed:!0,internalType:"bytes32",name:"relayerRefundRoot",type:"bytes32"},{indexed:!0,internalType:"bytes32",name:"slowRelayRoot",type:"bytes32"}],name:"RelayedRootBundle",type:"event"},{anonymous:!1,inputs:[{indexed:!1,internalType:"bytes32",name:"inputToken",type:"bytes32"},{indexed:!1,internalType:"bytes32",name:"outputToken",type:"bytes32"},{indexed:!1,internalType:"uint256",name:"inputAmount",type:"uint256"},{indexed:!1,internalType:"uint256",name:"outputAmount",type:"uint256"},{indexed:!0,internalType:"uint256",name:"originChainId",type:"uint256"},{indexed:!0,internalType:"uint256",name:"depositId",type:"uint256"},{indexed:!1,internalType:"uint32",name:"fillDeadline",type:"uint32"},{indexed:!1,internalType:"uint32",name:"exclusivityDeadline",type:"uint32"},{indexed:!1,internalType:"bytes32",name:"exclusiveRelayer",type:"bytes32"},{indexed:!1,internalType:"bytes32",name:"depositor",type:"bytes32"},{indexed:!1,internalType:"bytes32",name:"recipient",type:"bytes32"},{indexed:!1,internalType:"bytes32",name:"messageHash",type:"bytes32"}],name:"RequestedSlowFill",type:"event"},{anonymous:!1,inputs:[{indexed:!1,internalType:"uint256",name:"updatedOutputAmount",type:"uint256"},{indexed:!0,internalType:"uint256",name:"depositId",type:"uint256"},{indexed:!0,internalType:"bytes32",name:"depositor",type:"bytes32"},{indexed:!1,internalType:"bytes32",name:"updatedRecipient",type:"bytes32"},{indexed:!1,internalType:"bytes",name:"updatedMessage",type:"bytes"},{indexed:!1,internalType:"bytes",name:"depositorSignature",type:"bytes"}],name:"RequestedSpeedUpDeposit",type:"event"},{anonymous:!1,inputs:[{indexed:!1,internalType:"uint256",name:"updatedOutputAmount",type:"uint256"},{indexed:!0,internalType:"uint32",name:"depositId",type:"uint32"},{indexed:!0,internalType:"address",name:"depositor",type:"address"},{indexed:!1,internalType:"address",name:"updatedRecipient",type:"address"},{indexed:!1,internalType:"bytes",name:"updatedMessage",type:"bytes"},{indexed:!1,internalType:"bytes",name:"depositorSignature",type:"bytes"}],name:"RequestedSpeedUpV3Deposit",type:"event"},{anonymous:!1,inputs:[{indexed:!1,internalType:"address",name:"inputToken",type:"address"},{indexed:!1,internalType:"address",name:"outputToken",type:"address"},{indexed:!1,internalType:"uint256",name:"inputAmount",type:"uint256"},{indexed:!1,internalType:"uint256",name:"outputAmount",type:"uint256"},{indexed:!0,internalType:"uint256",name:"originChainId",type:"uint256"},{indexed:!0,internalType:"uint32",name:"depositId",type:"uint32"},{indexed:!1,internalType:"uint32",name:"fillDeadline",type:"uint32"},{indexed:!1,internalType:"uint32",name:"exclusivityDeadline",type:"uint32"},{indexed:!1,internalType:"address",name:"exclusiveRelayer",type:"address"},{indexed:!1,internalType:"address",name:"depositor",type:"address"},{indexed:!1,internalType:"address",name:"recipient",type:"address"},{indexed:!1,internalType:"bytes",name:"message",type:"bytes"}],name:"RequestedV3SlowFill",type:"event"},{anonymous:!1,inputs:[{indexed:!0,internalType:"address",name:"newWithdrawalRecipient",type:"address"}],name:"SetWithdrawalRecipient",type:"event"},{anonymous:!1,inputs:[{indexed:!0,internalType:"address",name:"newAdmin",type:"address"}],name:"SetXDomainAdmin",type:"event"},{anonymous:!1,inputs:[{indexed:!1,internalType:"uint256",name:"amountToReturn",type:"uint256"},{indexed:!0,internalType:"uint256",name:"chainId",type:"uint256"},{indexed:!0,internalType:"uint32",name:"leafId",type:"uint32"},{indexed:!0,internalType:"bytes32",name:"l2TokenAddress",type:"bytes32"},{indexed:!1,internalType:"address",name:"caller",type:"address"}],name:"TokensBridged",type:"event"},{anonymous:!1,inputs:[{indexed:!0,internalType:"address",name:"implementation",type:"address"}],name:"Upgraded",type:"event"},{anonymous:!1,inputs:[{indexed:!1,internalType:"address",name:"inputToken",type:"address"},{indexed:!1,internalType:"address",name:"outputToken",type:"address"},{indexed:!1,internalType:"uint256",name:"inputAmount",type:"uint256"},{indexed:!1,internalType:"uint256",name:"outputAmount",type:"uint256"},{indexed:!0,internalType:"uint256",name:"destinationChainId",type:"uint256"},{indexed:!0,internalType:"uint32",name:"depositId",type:"uint32"},{indexed:!1,internalType:"uint32",name:"quoteTimestamp",type:"uint32"},{indexed:!1,internalType:"uint32",name:"fillDeadline",type:"uint32"},{indexed:!1,internalType:"uint32",name:"exclusivityDeadline",type:"uint32"},{indexed:!0,internalType:"address",name:"depositor",type:"address"},{indexed:!1,internalType:"address",name:"recipient",type:"address"},{indexed:!1,internalType:"address",name:"exclusiveRelayer",type:"address"},{indexed:!1,internalType:"bytes",name:"message",type:"bytes"}],name:"V3FundsDeposited",type:"event"},{inputs:[],name:"EMPTY_RELAYER",outputs:[{internalType:"bytes32",name:"",type:"bytes32"}],stateMutability:"view",type:"function"},{inputs:[],name:"EMPTY_REPAYMENT_CHAIN_ID",outputs:[{internalType:"uint256",name:"",type:"uint256"}],stateMutability:"view",type:"function"},{inputs:[],name:"INFINITE_FILL_DEADLINE",outputs:[{internalType:"uint32",name:"",type:"uint32"}],stateMutability:"view",type:"function"},{inputs:[],name:"MAX_EXCLUSIVITY_PERIOD_SECONDS",outputs:[{internalType:"uint32",name:"",type:"uint32"}],stateMutability:"view",type:"function"},{inputs:[],name:"MAX_TRANSFER_SIZE",outputs:[{internalType:"uint256",name:"",type:"uint256"}],stateMutability:"view",type:"function"},{inputs:[],name:"UPDATE_ADDRESS_DEPOSIT_DETAILS_HASH",outputs:[{internalType:"bytes32",name:"",type:"bytes32"}],stateMutability:"view",type:"function"},{inputs:[],name:"UPDATE_BYTES32_DEPOSIT_DETAILS_HASH",outputs:[{internalType:"bytes32",name:"",type:"bytes32"}],stateMutability:"view",type:"function"},{inputs:[{internalType:"uint32",name:"_initialDepositId",type:"uint32"},{internalType:"address",name:"_crossDomainAdmin",type:"address"},{internalType:"address",name:"_withdrawalRecipient",type:"address"}],name:"__SpokePool_init",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[],name:"chainId",outputs:[{internalType:"uint256",name:"",type:"uint256"}],stateMutability:"view",type:"function"},{inputs:[{internalType:"bytes32",name:"l2TokenAddress",type:"bytes32"},{internalType:"bytes32",name:"refundAddress",type:"bytes32"}],name:"claimRelayerRefund",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[],name:"crossDomainAdmin",outputs:[{internalType:"address",name:"",type:"address"}],stateMutability:"view",type:"function"},{inputs:[{internalType:"bytes32",name:"depositor",type:"bytes32"},{internalType:"bytes32",name:"recipient",type:"bytes32"},{internalType:"bytes32",name:"inputToken",type:"bytes32"},{internalType:"bytes32",name:"outputToken",type:"bytes32"},{internalType:"uint256",name:"inputAmount",type:"uint256"},{internalType:"uint256",name:"outputAmount",type:"uint256"},{internalType:"uint256",name:"destinationChainId",type:"uint256"},{internalType:"bytes32",name:"exclusiveRelayer",type:"bytes32"},{internalType:"uint32",name:"quoteTimestamp",type:"uint32"},{internalType:"uint32",name:"fillDeadline",type:"uint32"},{internalType:"uint32",name:"exclusivityParameter",type:"uint32"},{internalType:"bytes",name:"message",type:"bytes"}],name:"deposit",outputs:[],stateMutability:"payable",type:"function"},{inputs:[{internalType:"address",name:"recipient",type:"address"},{internalType:"address",name:"originToken",type:"address"},{internalType:"uint256",name:"amount",type:"uint256"},{internalType:"uint256",name:"destinationChainId",type:"uint256"},{internalType:"int64",name:"relayerFeePct",type:"int64"},{internalType:"uint32",name:"quoteTimestamp",type:"uint32"},{internalType:"bytes",name:"message",type:"bytes"},{internalType:"uint256",name:"",type:"uint256"}],name:"depositDeprecated_5947912356",outputs:[],stateMutability:"payable",type:"function"},{inputs:[{internalType:"address",name:"depositor",type:"address"},{internalType:"address",name:"recipient",type:"address"},{internalType:"address",name:"originToken",type:"address"},{internalType:"uint256",name:"amount",type:"uint256"},{internalType:"uint256",name:"destinationChainId",type:"uint256"},{internalType:"int64",name:"relayerFeePct",type:"int64"},{internalType:"uint32",name:"quoteTimestamp",type:"uint32"},{internalType:"bytes",name:"message",type:"bytes"},{internalType:"uint256",name:"",type:"uint256"}],name:"depositFor",outputs:[],stateMutability:"payable",type:"function"},{inputs:[{internalType:"bytes32",name:"depositor",type:"bytes32"},{internalType:"bytes32",name:"recipient",type:"bytes32"},{internalType:"bytes32",name:"inputToken",type:"bytes32"},{internalType:"bytes32",name:"outputToken",type:"bytes32"},{internalType:"uint256",name:"inputAmount",type:"uint256"},{internalType:"uint256",name:"outputAmount",type:"uint256"},{internalType:"uint256",name:"destinationChainId",type:"uint256"},{internalType:"bytes32",name:"exclusiveRelayer",type:"bytes32"},{internalType:"uint32",name:"fillDeadlineOffset",type:"uint32"},{internalType:"uint32",name:"exclusivityParameter",type:"uint32"},{internalType:"bytes",name:"message",type:"bytes"}],name:"depositNow",outputs:[],stateMutability:"payable",type:"function"},{inputs:[],name:"depositQuoteTimeBuffer",outputs:[{internalType:"uint32",name:"",type:"uint32"}],stateMutability:"view",type:"function"},{inputs:[{internalType:"address",name:"depositor",type:"address"},{internalType:"address",name:"recipient",type:"address"},{internalType:"address",name:"inputToken",type:"address"},{internalType:"address",name:"outputToken",type:"address"},{internalType:"uint256",name:"inputAmount",type:"uint256"},{internalType:"uint256",name:"outputAmount",type:"uint256"},{internalType:"uint256",name:"destinationChainId",type:"uint256"},{internalType:"address",name:"exclusiveRelayer",type:"address"},{internalType:"uint32",name:"quoteTimestamp",type:"uint32"},{internalType:"uint32",name:"fillDeadline",type:"uint32"},{internalType:"uint32",name:"exclusivityParameter",type:"uint32"},{internalType:"bytes",name:"message",type:"bytes"}],name:"depositV3",outputs:[],stateMutability:"payable",type:"function"},{inputs:[{internalType:"address",name:"depositor",type:"address"},{internalType:"address",name:"recipient",type:"address"},{internalType:"address",name:"inputToken",type:"address"},{internalType:"address",name:"outputToken",type:"address"},{internalType:"uint256",name:"inputAmount",type:"uint256"},{internalType:"uint256",name:"outputAmount",type:"uint256"},{internalType:"uint256",name:"destinationChainId",type:"uint256"},{internalType:"address",name:"exclusiveRelayer",type:"address"},{internalType:"uint32",name:"fillDeadlineOffset",type:"uint32"},{internalType:"uint32",name:"exclusivityParameter",type:"uint32"},{internalType:"bytes",name:"message",type:"bytes"}],name:"depositV3Now",outputs:[],stateMutability:"payable",type:"function"},{inputs:[{internalType:"uint256",name:"rootBundleId",type:"uint256"}],name:"emergencyDeleteRootBundle",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"address",name:"",type:"address"},{internalType:"uint256",name:"",type:"uint256"}],name:"enabledDepositRoutes",outputs:[{internalType:"bool",name:"",type:"bool"}],stateMutability:"view",type:"function"},{inputs:[{internalType:"uint32",name:"rootBundleId",type:"uint32"},{components:[{internalType:"uint256",name:"amountToReturn",type:"uint256"},{internalType:"uint256",name:"chainId",type:"uint256"},{internalType:"uint256[]",name:"refundAmounts",type:"uint256[]"},{internalType:"uint32",name:"leafId",type:"uint32"},{internalType:"address",name:"l2TokenAddress",type:"address"},{internalType:"address[]",name:"refundAddresses",type:"address[]"}],internalType:"struct SpokePoolInterface.RelayerRefundLeaf",name:"relayerRefundLeaf",type:"tuple"},{internalType:"bytes32[]",name:"proof",type:"bytes32[]"}],name:"executeRelayerRefundLeaf",outputs:[],stateMutability:"payable",type:"function"},{inputs:[{components:[{components:[{internalType:"bytes32",name:"depositor",type:"bytes32"},{internalType:"bytes32",name:"recipient",type:"bytes32"},{internalType:"bytes32",name:"exclusiveRelayer",type:"bytes32"},{internalType:"bytes32",name:"inputToken",type:"bytes32"},{internalType:"bytes32",name:"outputToken",type:"bytes32"},{internalType:"uint256",name:"inputAmount",type:"uint256"},{internalType:"uint256",name:"outputAmount",type:"uint256"},{internalType:"uint256",name:"originChainId",type:"uint256"},{internalType:"uint256",name:"depositId",type:"uint256"},{internalType:"uint32",name:"fillDeadline",type:"uint32"},{internalType:"uint32",name:"exclusivityDeadline",type:"uint32"},{internalType:"bytes",name:"message",type:"bytes"}],internalType:"struct V3SpokePoolInterface.V3RelayData",name:"relayData",type:"tuple"},{internalType:"uint256",name:"chainId",type:"uint256"},{internalType:"uint256",name:"updatedOutputAmount",type:"uint256"}],internalType:"struct V3SpokePoolInterface.V3SlowFill",name:"slowFillLeaf",type:"tuple"},{internalType:"uint32",name:"rootBundleId",type:"uint32"},{internalType:"bytes32[]",name:"proof",type:"bytes32[]"}],name:"executeSlowRelayLeaf",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"bytes32",name:"orderId",type:"bytes32"},{internalType:"bytes",name:"originData",type:"bytes"},{internalType:"bytes",name:"fillerData",type:"bytes"}],name:"fill",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[],name:"fillDeadlineBuffer",outputs:[{internalType:"uint32",name:"",type:"uint32"}],stateMutability:"view",type:"function"},{inputs:[{components:[{internalType:"bytes32",name:"depositor",type:"bytes32"},{internalType:"bytes32",name:"recipient",type:"bytes32"},{internalType:"bytes32",name:"exclusiveRelayer",type:"bytes32"},{internalType:"bytes32",name:"inputToken",type:"bytes32"},{internalType:"bytes32",name:"outputToken",type:"bytes32"},{internalType:"uint256",name:"inputAmount",type:"uint256"},{internalType:"uint256",name:"outputAmount",type:"uint256"},{internalType:"uint256",name:"originChainId",type:"uint256"},{internalType:"uint256",name:"depositId",type:"uint256"},{internalType:"uint32",name:"fillDeadline",type:"uint32"},{internalType:"uint32",name:"exclusivityDeadline",type:"uint32"},{internalType:"bytes",name:"message",type:"bytes"}],internalType:"struct V3SpokePoolInterface.V3RelayData",name:"relayData",type:"tuple"},{internalType:"uint256",name:"repaymentChainId",type:"uint256"},{internalType:"bytes32",name:"repaymentAddress",type:"bytes32"}],name:"fillRelay",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[{components:[{internalType:"bytes32",name:"depositor",type:"bytes32"},{internalType:"bytes32",name:"recipient",type:"bytes32"},{internalType:"bytes32",name:"exclusiveRelayer",type:"bytes32"},{internalType:"bytes32",name:"inputToken",type:"bytes32"},{internalType:"bytes32",name:"outputToken",type:"bytes32"},{internalType:"uint256",name:"inputAmount",type:"uint256"},{internalType:"uint256",name:"outputAmount",type:"uint256"},{internalType:"uint256",name:"originChainId",type:"uint256"},{internalType:"uint256",name:"depositId",type:"uint256"},{internalType:"uint32",name:"fillDeadline",type:"uint32"},{internalType:"uint32",name:"exclusivityDeadline",type:"uint32"},{internalType:"bytes",name:"message",type:"bytes"}],internalType:"struct V3SpokePoolInterface.V3RelayData",name:"relayData",type:"tuple"},{internalType:"uint256",name:"repaymentChainId",type:"uint256"},{internalType:"bytes32",name:"repaymentAddress",type:"bytes32"},{internalType:"uint256",name:"updatedOutputAmount",type:"uint256"},{internalType:"bytes32",name:"updatedRecipient",type:"bytes32"},{internalType:"bytes",name:"updatedMessage",type:"bytes"},{internalType:"bytes",name:"depositorSignature",type:"bytes"}],name:"fillRelayWithUpdatedDeposit",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"bytes32",name:"",type:"bytes32"}],name:"fillStatuses",outputs:[{internalType:"uint256",name:"",type:"uint256"}],stateMutability:"view",type:"function"},{inputs:[{components:[{internalType:"address",name:"depositor",type:"address"},{internalType:"address",name:"recipient",type:"address"},{internalType:"address",name:"exclusiveRelayer",type:"address"},{internalType:"address",name:"inputToken",type:"address"},{internalType:"address",name:"outputToken",type:"address"},{internalType:"uint256",name:"inputAmount",type:"uint256"},{internalType:"uint256",name:"outputAmount",type:"uint256"},{internalType:"uint256",name:"originChainId",type:"uint256"},{internalType:"uint32",name:"depositId",type:"uint32"},{internalType:"uint32",name:"fillDeadline",type:"uint32"},{internalType:"uint32",name:"exclusivityDeadline",type:"uint32"},{internalType:"bytes",name:"message",type:"bytes"}],internalType:"struct V3SpokePoolInterface.V3RelayDataLegacy",name:"relayData",type:"tuple"},{internalType:"uint256",name:"repaymentChainId",type:"uint256"}],name:"fillV3Relay",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[],name:"getCurrentTime",outputs:[{internalType:"uint256",name:"",type:"uint256"}],stateMutability:"view",type:"function"},{inputs:[{internalType:"address",name:"l2TokenAddress",type:"address"},{internalType:"address",name:"refundAddress",type:"address"}],name:"getRelayerRefund",outputs:[{internalType:"uint256",name:"",type:"uint256"}],stateMutability:"view",type:"function"},{inputs:[{internalType:"address",name:"msgSender",type:"address"},{internalType:"bytes32",name:"depositor",type:"bytes32"},{internalType:"uint256",name:"depositNonce",type:"uint256"}],name:"getUnsafeDepositId",outputs:[{internalType:"uint256",name:"",type:"uint256"}],stateMutability:"pure",type:"function"},{inputs:[{components:[{internalType:"bytes32",name:"depositor",type:"bytes32"},{internalType:"bytes32",name:"recipient",type:"bytes32"},{internalType:"bytes32",name:"exclusiveRelayer",type:"bytes32"},{internalType:"bytes32",name:"inputToken",type:"bytes32"},{internalType:"bytes32",name:"outputToken",type:"bytes32"},{internalType:"uint256",name:"inputAmount",type:"uint256"},{internalType:"uint256",name:"outputAmount",type:"uint256"},{internalType:"uint256",name:"originChainId",type:"uint256"},{internalType:"uint256",name:"depositId",type:"uint256"},{internalType:"uint32",name:"fillDeadline",type:"uint32"},{internalType:"uint32",name:"exclusivityDeadline",type:"uint32"},{internalType:"bytes",name:"message",type:"bytes"}],internalType:"struct V3SpokePoolInterface.V3RelayData",name:"relayData",type:"tuple"}],name:"getV3RelayHash",outputs:[{internalType:"bytes32",name:"",type:"bytes32"}],stateMutability:"view",type:"function"},{inputs:[{internalType:"uint32",name:"_initialDepositId",type:"uint32"},{internalType:"address",name:"_withdrawalRecipient",type:"address"}],name:"initialize",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"bytes[]",name:"data",type:"bytes[]"}],name:"multicall",outputs:[{internalType:"bytes[]",name:"results",type:"bytes[]"}],stateMutability:"nonpayable",type:"function"},{inputs:[],name:"numberOfDeposits",outputs:[{internalType:"uint32",name:"",type:"uint32"}],stateMutability:"view",type:"function"},{inputs:[],name:"owner",outputs:[{internalType:"address",name:"",type:"address"}],stateMutability:"view",type:"function"},{inputs:[{internalType:"bool",name:"pause",type:"bool"}],name:"pauseDeposits",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"bool",name:"pause",type:"bool"}],name:"pauseFills",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[],name:"pausedDeposits",outputs:[{internalType:"bool",name:"",type:"bool"}],stateMutability:"view",type:"function"},{inputs:[],name:"pausedFills",outputs:[{internalType:"bool",name:"",type:"bool"}],stateMutability:"view",type:"function"},{inputs:[],name:"proxiableUUID",outputs:[{internalType:"bytes32",name:"",type:"bytes32"}],stateMutability:"view",type:"function"},{inputs:[{internalType:"bytes32",name:"relayerRefundRoot",type:"bytes32"},{internalType:"bytes32",name:"slowRelayRoot",type:"bytes32"}],name:"relayRootBundle",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"address",name:"",type:"address"},{internalType:"address",name:"",type:"address"}],name:"relayerRefund",outputs:[{internalType:"uint256",name:"",type:"uint256"}],stateMutability:"view",type:"function"},{inputs:[],name:"renounceOwnership",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[{components:[{internalType:"bytes32",name:"depositor",type:"bytes32"},{internalType:"bytes32",name:"recipient",type:"bytes32"},{internalType:"bytes32",name:"exclusiveRelayer",type:"bytes32"},{internalType:"bytes32",name:"inputToken",type:"bytes32"},{internalType:"bytes32",name:"outputToken",type:"bytes32"},{internalType:"uint256",name:"inputAmount",type:"uint256"},{internalType:"uint256",name:"outputAmount",type:"uint256"},{internalType:"uint256",name:"originChainId",type:"uint256"},{internalType:"uint256",name:"depositId",type:"uint256"},{internalType:"uint32",name:"fillDeadline",type:"uint32"},{internalType:"uint32",name:"exclusivityDeadline",type:"uint32"},{internalType:"bytes",name:"message",type:"bytes"}],internalType:"struct V3SpokePoolInterface.V3RelayData",name:"relayData",type:"tuple"}],name:"requestSlowFill",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"uint256",name:"",type:"uint256"}],name:"rootBundles",outputs:[{internalType:"bytes32",name:"slowRelayRoot",type:"bytes32"},{internalType:"bytes32",name:"relayerRefundRoot",type:"bytes32"}],stateMutability:"view",type:"function"},{inputs:[{internalType:"address",name:"newCrossDomainAdmin",type:"address"}],name:"setCrossDomainAdmin",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"address",name:"originToken",type:"address"},{internalType:"uint256",name:"destinationChainId",type:"uint256"},{internalType:"bool",name:"enabled",type:"bool"}],name:"setEnableRoute",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"address",name:"newWithdrawalRecipient",type:"address"}],name:"setWithdrawalRecipient",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"bytes32",name:"depositor",type:"bytes32"},{internalType:"uint256",name:"depositId",type:"uint256"},{internalType:"uint256",name:"updatedOutputAmount",type:"uint256"},{internalType:"bytes32",name:"updatedRecipient",type:"bytes32"},{internalType:"bytes",name:"updatedMessage",type:"bytes"},{internalType:"bytes",name:"depositorSignature",type:"bytes"}],name:"speedUpDeposit",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"address",name:"depositor",type:"address"},{internalType:"uint256",name:"depositId",type:"uint256"},{internalType:"uint256",name:"updatedOutputAmount",type:"uint256"},{internalType:"address",name:"updatedRecipient",type:"address"},{internalType:"bytes",name:"updatedMessage",type:"bytes"},{internalType:"bytes",name:"depositorSignature",type:"bytes"}],name:"speedUpV3Deposit",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"address",name:"newOwner",type:"address"}],name:"transferOwnership",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"bytes[]",name:"data",type:"bytes[]"}],name:"tryMulticall",outputs:[{components:[{internalType:"bool",name:"success",type:"bool"},{internalType:"bytes",name:"returnData",type:"bytes"}],internalType:"struct MultiCallerUpgradeable.Result[]",name:"results",type:"tuple[]"}],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"bytes32",name:"depositor",type:"bytes32"},{internalType:"bytes32",name:"recipient",type:"bytes32"},{internalType:"bytes32",name:"inputToken",type:"bytes32"},{internalType:"bytes32",name:"outputToken",type:"bytes32"},{internalType:"uint256",name:"inputAmount",type:"uint256"},{internalType:"uint256",name:"outputAmount",type:"uint256"},{internalType:"uint256",name:"destinationChainId",type:"uint256"},{internalType:"bytes32",name:"exclusiveRelayer",type:"bytes32"},{internalType:"uint256",name:"depositNonce",type:"uint256"},{internalType:"uint32",name:"quoteTimestamp",type:"uint32"},{internalType:"uint32",name:"fillDeadline",type:"uint32"},{internalType:"uint32",name:"exclusivityParameter",type:"uint32"},{internalType:"bytes",name:"message",type:"bytes"}],name:"unsafeDeposit",outputs:[],stateMutability:"payable",type:"function"},{inputs:[{internalType:"address",name:"newImplementation",type:"address"}],name:"upgradeTo",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"address",name:"newImplementation",type:"address"},{internalType:"bytes",name:"data",type:"bytes"}],name:"upgradeToAndCall",outputs:[],stateMutability:"payable",type:"function"},{inputs:[],name:"withdrawalRecipient",outputs:[{internalType:"address",name:"",type:"address"}],stateMutability:"view",type:"function"},{inputs:[],name:"wrappedNativeToken",outputs:[{internalType:"contract WETH9Interface",name:"",type:"address"}],stateMutability:"view",type:"function"},{stateMutability:"payable",type:"receive"}],Id=["function balanceOf(address account) external view returns (uint256)"],Sd=["function approve(address spender, uint256 amount) external returns (bool)"],kd=[re,ye,ue,ce,fe];class Cd{constructor(e={}){this.options=void 0,this.api=void 0,this.cowShedSdk=void 0,this.info={name:"Across",logoUrl:`${jc}/across/across-logo.png`},this.options=e,this.api=new Zc(e.apiOptions),this.cowShedSdk=new hd(e.cowShedOptions)}async getNetworks(){return kd}async getBuyTokens(e){if(!this.options.getTokenInfos)throw new Error("'getTokenInfos' parameter is required for AcrossBridgeProvider constructor");const t=Xc[e];if(!t)return[];const n=Object.values(t.tokens).filter(e=>Boolean(e));return this.options.getTokenInfos(e,n)}async getIntermediateTokens(e){if(e.kind!==w.SELL)throw new Error("Only SELL is supported for now");const{sellTokenChainId:t,buyTokenChainId:n,buyTokenAddress:r}=e,i=function(e,t){const n=rd(e),r=rd(t);if(n&&r)return{sourceChainConfig:n,targetChainConfig:r}}(t,n);if(!i)return[];const{sourceChainConfig:s,targetChainConfig:a}=i,o=(u=r,l=a,Object.keys(l.tokens).find(e=>l.tokens[e]===u));var u,l;if(!o)return[];const c=function(e,t){return t.tokens[e]}(o,s);return c?[c]:[]}async getQuote(e){const{sellTokenAddress:t,sellTokenChainId:n,buyTokenChainId:r,amount:i,receiver:s}=e;return function(e,t,n){const{kind:r}=e;return{isSell:r===w.SELL,amountsAndCosts:id(e,0,n),quoteTimestamp:Number(n.timestamp),expectedFillTimeSeconds:Number(n.estimatedFillTimeSec),suggestedFees:n}}(e,0,await this.api.getSuggestedFees({token:t,originChainId:n,destinationChainId:r,amount:i,recipient:null!=s?s:void 0}))}async getUnsignedBridgeCall(e,t){return function(e){const{request:t,quote:n,cowShedSdk:r}=e,{sellTokenChainId:i,sellTokenAddress:s,buyTokenChainId:a,buyTokenAddress:o,account:u,receiver:l}=t,c=function(e){const t=pd[e];if(!t)throw new Error("Spoke pool address not found for chain: "+e);return wd(new qc(t,Ed),md.CALL)}(i),d=function(e){const t=fd[e];if(!t)throw new Error("Math contract address not found for chain: "+e);return wd(new qc(t,Td),md.CALL)}(i),h=function(e){return wd(new qc(e,Id),md.STATICCALL)}(s),p=function(e){return wd(new qc(e,Sd),md.CALL)}(s),f=r.getCowShedAccount(i,u),{suggestedFees:m}=n;return vd(e=>{const t=e.add(h.balanceOf(f)),n=BigInt(m.totalRelayFee.pct),r=e.add(d.multiplyAndSubtract(t,n));e.add(p.approve(c.address,t));const i=BigInt(m.timestamp);e.add(c.depositV3(f,l||u,s,o,t,r,a,m.exclusiveRelayer,i,m.fillDeadline,m.exclusivityDeadline,"0x"))})}({request:e,quote:t,cowShedSdk:this.cowShedSdk})}getGasLimitEstimationForHook(e){return 11e4}async getSignedHook(e,t,n){const{signedMulticall:r,cowShedAccount:i,gasLimit:s}=await this.cowShedSdk.signCalls({calls:[{target:t.to,value:t.value,callData:t.data,allowFailure:!1,isDelegateCall:!0}],chainId:e,signer:n}),{to:a,data:o}=r;return{postHook:{target:a,callData:o,gasLimit:s.toString(),dappId:"cow-sdk://bridging/providers/across"},recipient:i}}async decodeBridgeHook(e){throw new Error("Not implemented")}async getBridgingId(e,t){throw new Error("Not implemented")}getExplorerUrl(e){return`https://app.across.to/transactions/${e}`}async getStatus(e){throw new Error("Not implemented")}async getCancelBridgingTx(e){throw new Error("Not implemented")}async getRefundBridgingTx(e){throw new Error("Not implemented")}}let _d,xd,Md,Nd=e=>e;const Rd=x(_d||(_d=Nd`
|
|
2
|
+
query Totals {
|
|
3
|
+
totals {
|
|
4
|
+
tokens
|
|
5
|
+
orders
|
|
6
|
+
traders
|
|
7
|
+
settlements
|
|
8
|
+
volumeUsd
|
|
9
|
+
volumeEth
|
|
10
|
+
feesUsd
|
|
11
|
+
feesEth
|
|
12
|
+
}
|
|
13
|
+
}
|
|
14
|
+
`)),Pd=x(xd||(xd=Nd`
|
|
15
|
+
query LastDaysVolume($days: Int!) {
|
|
16
|
+
dailyTotals(orderBy: timestamp, orderDirection: desc, first: $days) {
|
|
17
|
+
timestamp
|
|
18
|
+
volumeUsd
|
|
19
|
+
}
|
|
20
|
+
}
|
|
21
|
+
`)),Od=x(Md||(Md=Nd`
|
|
22
|
+
query LastHoursVolume($hours: Int!) {
|
|
23
|
+
hourlyTotals(orderBy: timestamp, orderDirection: desc, first: $hours) {
|
|
24
|
+
timestamp
|
|
25
|
+
volumeUsd
|
|
26
|
+
}
|
|
27
|
+
}
|
|
28
|
+
`)),Bd="https://api.thegraph.com/subgraphs/name/cowprotocol",Dd={[G.MAINNET]:Bd+"/cow",[G.GNOSIS_CHAIN]:Bd+"/cow-gc",[G.ARBITRUM_ONE]:null,[G.BASE]:null,[G.SEPOLIA]:null},Fd={[G.MAINNET]:Bd+"/cow-staging",[G.GNOSIS_CHAIN]:Bd+"/cow-gc-staging",[G.ARBITRUM_ONE]:null,[G.BASE]:null,[G.SEPOLIA]:null};class Ld{constructor(e={}){this.API_NAME="CoW Protocol Subgraph",this.context=void 0,this.context=F({},Ve,e)}async getTotals(e={}){return(await this.runQuery(Rd,void 0,e)).totals[0]}async getLastDaysVolume(e,t={}){return this.runQuery(Pd,{days:e},t)}async getLastHoursVolume(e,t={}){return this.runQuery(Od,{hours:e},t)}async runQuery(e,t=undefined,n={}){const{chainId:r,env:i}=this.getContextWithOverride(n),s=this.getEnvConfigs(i)[r];if(null===s)throw new Error("Unsupported Network. The subgraph API is not available in the Network "+r);try{return await M(s,e,t)}catch(n){throw console.error(`[subgraph:${this.API_NAME}]`,n),new q(`Error running query: ${e}. Variables: ${JSON.stringify(t)}. API: ${s}. Inner Error: ${n}`)}}getContextWithOverride(e={}){return F({},this.context,e)}getEnvConfigs(e){return this.context.baseUrls?this.context.baseUrls:"prod"===e?Dd:Fd}}var Ud,Gd;!function(e){e[e.PRIVATE=0]="PRIVATE",e[e.EMITTED=1]="EMITTED",e[e.SWARM=2]="SWARM",e[e.WAKU=3]="WAKU",e[e.RESERVED=4]="RESERVED",e[e.IPFS=5]="IPFS"}(Ud||(Ud={})),function(e){e.SUCCESS="SUCCESS",e.UNEXPECTED_ERROR="UNEXPECTED_ERROR",e.TRY_NEXT_BLOCK="TRY_NEXT_BLOCK",e.TRY_ON_BLOCK="TRY_ON_BLOCK",e.TRY_AT_EPOCH="TRY_AT_EPOCH",e.DONT_TRY_AGAIN="DONT_TRY_AGAIN"}(Gd||(Gd={}));const Hd=["erc20","0x5a28e9363bb942b639270062aa6bb295f434bcdfc42c97267bf003f272060dc9"],qd=["external","0xabee3b73373acd583a130924aad6dc38cfdc44ba0555ba94ce2ff63980ea0632"],zd=["internal","0x4ac99ace14ee0a5ef932dc609df0943ab7ac16b7583634612f8dc35a4289a6ce"],Vd=["sell","0xf3b277728b3fee749481eb3e0b3b48980dbbab78658fc419025cb16eee346775"],Kd=["buy","0x6ed88e868af0a1983e3886d5f3e95a2fafbd6c3450bc229e27342283dc429ccc"],jd=["tuple(address handler, bytes32 salt, bytes staticInput)"],Wd=(e,t)=>`${t}@${e}`;function Jd(e,t){return e===Re[t]}function Qd(e,t){return e===Pe[t]}async function Yd(e,t,n,r){const i=Dt.connect(Re[n],r);return await i.callStatic.domainVerifiers(e,t)}function Xd(e,t){return Dt.createInterface().encodeFunctionData("setDomainVerifier",[e,t])}function Zd(e){return n.defaultAbiCoder.encode(jd,[e])}function $d(e){const{handler:t,salt:r,staticInput:i}=n.defaultAbiCoder.decode(jd,e)[0];return{handler:t,salt:r,staticInput:i}}function eh(e,t){try{n.defaultAbiCoder.encode(e,t)}catch(e){return!1}return!0}async function th(e){const t=await e.getBlock("latest");return{blockNumber:t.number,blockTimestamp:t.timestamp}}function nh(e){return new Date(1e3*e).toISOString()}function rh(e){if(Hd.includes(e))return I.ERC20;if(qd.includes(e))return I.EXTERNAL;if(zd.includes(e))return I.INTERNAL;throw new Error(`Unknown balance type: ${e}`)}function ih(e){if(Vd.includes(e))return w.SELL;if(Kd.includes(e))return w.BUY;throw new Error(`Unknown kind: ${e}`)}function sh(e){const{sellToken:t,sellAmount:n,buyToken:r,buyAmount:i,buyTokenBalance:s,sellTokenBalance:a,feeAmount:o,kind:u,receiver:l,validTo:c,partiallyFillable:d,appData:h}=e;return{sellToken:t,sellAmount:n,buyToken:r,buyAmount:i,feeAmount:o,receiver:l,partiallyFillable:d,appData:h,validTo:Number(c),kind:ih(u.toString()),sellTokenBalance:rh(a.toString()),buyTokenBalance:rh(s.toString())}}function ah(e){return e.isValid}let oh,uh;function lh(){return oh||(oh=Rt.createInterface()),oh}function ch(e,t){return uh||(uh=Rt.connect(Pe[e],t)),uh}class dh{constructor(e){this.handler=void 0,this.salt=void 0,this.data=void 0,this.staticInput=void 0,this.hasOffChainInput=void 0;const{handler:t,salt:r=n.keccak256(n.randomBytes(32)),data:s,hasOffChainInput:a=!1}=e;if(!i.utils.isAddress(t))throw new Error(`Invalid handler: ${t}`);if(!i.utils.isHexString(r)||32!==i.utils.hexDataLength(r))throw new Error(`Invalid salt: ${r}`);this.handler=t,this.salt=r,this.data=s,this.staticInput=this.transformDataToStruct(s),this.hasOffChainInput=a}get context(){}assertIsValid(){const e=this.isValid();if(!ah(e))throw new Error(`Invalid order: ${e.reason}`)}get createCalldata(){this.assertIsValid();const e=this.context,t=lh(),r={handler:this.handler,salt:this.salt,staticInput:this.encodeStaticInput()};if(e){const i=e.factoryArgs?n.defaultAbiCoder.encode(e.factoryArgs.argsType,e.factoryArgs.args):"0x";return t.encodeFunctionData("createWithContext",[r,e.address,i,!0])}return t.encodeFunctionData("create",[r,!0])}get removeCalldata(){return this.assertIsValid(),lh().encodeFunctionData("remove",[this.id])}get id(){return n.keccak256(this.serialize())}get ctx(){return this.isSingleOrder?this.id:s.HashZero}get leaf(){return{handler:this.handler,salt:this.salt,staticInput:this.encodeStaticInput()}}static leafToId(e){return n.keccak256(Zd(e))}get offChainInput(){return"0x"}encodeStaticInputHelper(e,t){return n.defaultAbiCoder.encode(e,[t])}async poll(e){const{chainId:t,owner:n,provider:r,orderBookApi:i}=e,s=ch(t,r);try{const r=this.isValid();if(!ah(r))return{result:Gd.DONT_TRY_AGAIN,reason:`InvalidConditionalOrder. Reason: ${r.reason}`};const a=await this.pollValidate(e);if(a)return a;if(!await this.isAuthorized(e))return{result:Gd.DONT_TRY_AGAIN,reason:`NotAuthorized: Order ${this.id} is not authorized for ${n} on chain ${t}`};const[o,u]=await s.getTradeableOrderWithSignature(n,this.leaf,this.offChainInput,[]),l=await async function(e,t,n){const{computeOrderUid:r}=await import("@cowprotocol/contracts");return r(await kt.getDomain(e),n,t)}(t,n,sh(o));return await i.getOrder(l).then(()=>!0).catch(()=>!1)?await this.handlePollFailedAlreadyPresent(l,o,e)||{result:Gd.TRY_NEXT_BLOCK,reason:"Order already in orderbook"}:{result:Gd.SUCCESS,order:o,signature:u}}catch(e){return{result:Gd.UNEXPECTED_ERROR,error:e}}}isAuthorized(e){const{chainId:t,owner:n,provider:r}=e;return ch(t,r).callStatic.singleOrders(n,this.id)}cabinet(e){const{chainId:t,owner:n,provider:r}=e;return ch(t,r).callStatic.cabinet(n,this.ctx)}static deserializeHelper(e,t,r,i){try{const{handler:s,salt:a,staticInput:o}=$d(e);if(s!=t)throw new Error("HandlerMismatch");const[u]=n.defaultAbiCoder.decode(r,o);return i(u,a)}catch(e){throw"HandlerMismatch"===e.message?e:new Error("InvalidSerializedConditionalOrder")}}}const hh=["orderType"],ph=["address","bytes32","bytes"],fh=["tuple(bytes32[] proof, tuple(address handler, bytes32 salt, bytes staticInput) params)[]"];class mh{constructor(e,t,n,r=Ud.PRIVATE){if(this.chain=void 0,this.location=void 0,this.orders={},this.tree=void 0,this.ctx=void 0,this.chain=e,this.location=r,t&&0===Object.keys(t).length)throw new Error("orders must have non-zero length");if(t&&!n||!t&&n)throw new Error("orders cannot have undefined root");for(const e in t)if(t.hasOwnProperty(e)){const n=t[e];if(!mh.orderTypeRegistry.hasOwnProperty(n.orderType))throw new Error(`Unknown order type: ${n.orderType}`)}if(t&&(this.orders=t,this.getOrGenerateTree().root!==n))throw new Error("root mismatch")}static fromJSON(e){const{chain:t,orders:n,root:r,location:i}=JSON.parse(e,(e,t)=>{if("orders"===e&&"object"==typeof t&&null!==t){const e={};for(const n in t)if(t.hasOwnProperty(n)){const r=t[n],{orderType:i}=r,s=L(r,hh);if(!mh.orderTypeRegistry.hasOwnProperty(i))throw new Error(`Unknown order type: ${i}`);e[n]=new(0,mh.orderTypeRegistry[i])(s)}return e}return"object"==typeof t&&null!==t&&t.hasOwnProperty("type")&&t.hasOwnProperty("hex")&&"BigNumber"===t.type?a.from(t):t}),s=new mh(t,n,r);return s.location=i,s}toJSON(){const e=this.getOrGenerateTree().root;return JSON.stringify(F({},this,{root:e}),(e,t)=>{if("tree"!==e)return"object"==typeof t&&null!==t&&"orderType"in t?F({},t,{orderType:t.orderType}):t})}add(e){e.assertIsValid(),this.orders[e.id]=e,this.reset()}remove(e){delete this.orders[e],this.reset()}update(e,t){const n=t(this.orders[e],this.ctx);delete this.orders[e],this.orders[n.id]=n,this.reset()}getById(e){return this.orders[e]}getByIndex(e){return this.orders[this.orderIds[e]]}get orderIds(){return Object.keys(this.orders)}get root(){return this.getOrGenerateTree().root}getOrGenerateTree(){return this.tree||(this.tree=N.of(Object.values(this.orders).map(e=>[...Object.values(e.leaf)]),ph)),this.tree}static decodeFromJSON(e){return JSON.parse(e)}async prepareProofStruct(e=this.location,t,r){var i=this;return await async function(){switch(e){case Ud.PRIVATE:return"0x";case Ud.EMITTED:return i.encodeToABI(t);case Ud.SWARM:case Ud.WAKU:case Ud.IPFS:if(!r)throw new Error("Must provide an uploader function");try{return await r(i.encodeToJSON(t))}catch(t){throw new Error(`Error uploading to decentralized storage ${e}: ${t}`)}default:throw new Error("Unsupported location")}}().then(t=>{try{return n.hexlify(n.arrayify(t)),this.location=e,{location:e,data:t}}catch(e){throw new Error("data returned by uploader is invalid")}}).catch(e=>{throw new Error(`Error preparing proof struct: ${e}`)})}static async poll(e,t,n,r,i){const s=ch(n,r),a=i?await i(e,t.params):"0x";return await s.getTradeableOrderWithSignature(e,t.params,a,t.proof)}dumpProofs(e){return this.encodeToJSON(e)}dumpProofsAndParams(e){return this.getProofs(e)}getProofs(e){return[...this.getOrGenerateTree().entries()].map(([t,n])=>e&&e(n)||void 0===e?{idx:t,value:n}:void 0).reduce((e,t)=>{if(t){const n={handler:t.value[0],salt:t.value[1],staticInput:t.value[2]};e.push({proof:this.getOrGenerateTree().getProof(t.idx),params:n})}return e},[])}encodeToABI(e){return n.defaultAbiCoder.encode(fh,[this.getProofs(e)])}encodeToJSON(e){return JSON.stringify(this.getProofs(e))}reset(){this.tree=void 0}static registerOrderType(e,t){mh.orderTypeRegistry[e]=t}static resetOrderTypeRegistry(){mh.orderTypeRegistry={}}}mh.orderTypeRegistry={};class yh{constructor(e){this.knownOrderTypes=void 0,this.knownOrderTypes=Object.entries(e).reduce((e,[t,n])=>(e[t.toLowerCase()]=n,e),{})}fromParams(e){const{handler:t}=e,n=this.knownOrderTypes[t.toLocaleLowerCase()];if(n)return n(e)}}const gh=["sellAmount","buyAmount","numberOfParts","startTime","timeBetweenParts","durationOfPart"],bh="0x6cF1e9cA41f7611dEf408122793c358a3d11E5a5",vh="0x52eD56Da04309Aca4c3FECC595298d80C2f16BAc",wh=a.from(2).pow(32).sub(1),Ah=a.from(31536e3),Th=["tuple(address sellToken, address buyToken, address receiver, uint256 partSellAmount, uint256 minPartLimit, uint256 t0, uint256 n, uint256 t, uint256 span, bytes32 appData)"];var Eh,Ih;!function(e){e.AUTO="AUTO",e.LIMIT_DURATION="LIMIT_DURATION"}(Eh||(Eh={})),function(e){e.AT_MINING_TIME="AT_MINING_TIME",e.AT_EPOCH="AT_EPOCH"}(Ih||(Ih={}));const Sh={startType:Ih.AT_MINING_TIME},kh={durationType:Eh.AUTO};class Ch extends dh{constructor(e){const{handler:t,salt:n,data:r,hasOffChainInput:i}=e;if(t!==bh)throw new Error(`InvalidHandler: Expected: ${bh}, provided: ${t}`);super({handler:bh,salt:n,data:r,hasOffChainInput:i}),this.isSingleOrder=!0}static fromData(e,t){return new Ch({handler:bh,data:e,salt:t})}static fromParams(e){return Ch.deserialize(Zd(e))}get context(){return this.staticInput.t0.gt(0)?super.context:{address:vh,factoryArgs:void 0}}get orderType(){return"twap"}isValid(){const e=(()=>{const{sellToken:e,sellAmount:t,buyToken:n,buyAmount:r,startTime:i=Sh,numberOfParts:a,timeBetweenParts:o,durationOfPart:u=kh}=this.data;if(e==n)return"InvalidSameToken";if(e==s.AddressZero||n==s.AddressZero)return"InvalidToken";if(!t.gt(s.Zero))return"InvalidSellAmount";if(!r.gt(s.Zero))return"InvalidMinBuyAmount";if(i.startType===Ih.AT_EPOCH){const e=i.epoch;if(!e.gte(s.Zero)||!e.lt(wh))return"InvalidStartTime"}return a.gt(s.One)&&a.lte(wh)?o.gt(s.Zero)&&o.lte(Ah)?u.durationType!==Eh.LIMIT_DURATION||u.duration.lte(o)?eh(Th,[this.staticInput])?void 0:"InvalidData":"InvalidSpan":"InvalidFrequency":"InvalidNumParts"})();return e?{isValid:!1,reason:e}:{isValid:!0}}async startTimestamp(e){const{startTime:t}=this.data;if((null==t?void 0:t.startType)===Ih.AT_EPOCH)return t.epoch.toNumber();const r=await this.cabinet(e),i=n.defaultAbiCoder.decode(["uint256"],r)[0];if(i.gt(wh))throw new Error(`Cabinet epoch out of range: ${i.toString()}`);const s=i.toNumber();if(0===s)throw new Error("Cabinet is not set. Required for TWAP orders that start at mining time.");return s}endTimestamp(e){const{numberOfParts:t,timeBetweenParts:n,durationOfPart:r}=this.data;return r&&r.durationType===Eh.LIMIT_DURATION?e+t.sub(1).mul(n).add(r.duration).toNumber():e+t.mul(n).toNumber()}async pollValidate(e){const{blockInfo:t=await th(e.provider)}=e,{blockTimestamp:n}=t;try{const t=await this.startTimestamp(e);if(t>n)return{result:Gd.TRY_AT_EPOCH,epoch:t,reason:`TWAP hasn't started yet. Starts at ${t} (${nh(t)})`};const r=this.endTimestamp(t);return n>=r?{result:Gd.DONT_TRY_AGAIN,reason:`TWAP has expired. Expired at ${r} (${nh(r)})`}:void 0}catch(e){var r,i;return null!=e&&null!=(r=e.message)&&r.includes("Cabinet is not set")?{result:Gd.DONT_TRY_AGAIN,reason:`${null==e?void 0:e.message}. User likely removed the order.`}:null!=e&&null!=(i=e.message)&&i.includes("Cabinet epoch out of range")?{result:Gd.DONT_TRY_AGAIN,reason:`${null==e?void 0:e.message}`}:{result:Gd.UNEXPECTED_ERROR,reason:`Unexpected error: ${e.message}`,error:e}}}async handlePollFailedAlreadyPresent(e,t,n){const{blockInfo:r=await th(n.provider)}=n,{blockTimestamp:i}=r,s=this.data.timeBetweenParts.toNumber(),{numberOfParts:a}=this.data,o=await this.startTimestamp(n);if(i<o)return{result:Gd.UNEXPECTED_ERROR,reason:`TWAP part hash't started. First TWAP part start at ${o} (${nh(o)})`,error:void 0};const u=a.mul(s).add(o).toNumber();if(i>=u)return{result:Gd.UNEXPECTED_ERROR,reason:`TWAP is expired. Expired at ${u} (${nh(u)})`,error:void 0};const l=Math.floor((i-o)/s);if(l===a.toNumber()-1)return{result:Gd.DONT_TRY_AGAIN,reason:`Current active TWAP part (${l+1}/${a}) is already in the Order Book. This was the last TWAP part, no more orders need to be placed`};const c=o+(l+1)*s;return{result:Gd.TRY_AT_EPOCH,epoch:c,reason:`Current active TWAP part (${l+1}/${a}) is already in the Order Book. TWAP part ${l+2} doesn't start until ${c} (${nh(c)})`}}serialize(){return Zd(this.leaf)}encodeStaticInput(){return super.encodeStaticInputHelper(Th,this.staticInput)}static deserialize(e){return super.deserializeHelper(e,bh,Th,(e,t)=>new Ch({handler:bh,salt:t,data:xh(e)}))}toString(){const{sellAmount:e,sellToken:t,buyAmount:n,buyToken:r,numberOfParts:i,startTime:s=Sh,timeBetweenParts:a,durationOfPart:o=kh,receiver:u,appData:l}=this.data,c=s.startType===Ih.AT_MINING_TIME?"AT_MINING_TIME":s.epoch.toNumber(),d=o.durationType===Eh.AUTO?"AUTO":o.duration.toNumber(),h={sellAmount:e.toString(),sellToken:t,buyAmount:n.toString(),buyToken:r,numberOfParts:i.toString(),startTime:c,timeBetweenParts:a.toNumber(),durationOfPart:d,receiver:u,appData:l};return`${this.orderType} (${this.id}): ${JSON.stringify(h)}`}transformDataToStruct(e){return _h(e)}transformStructToData(e){return xh(e)}}function _h(e){const{sellAmount:t,buyAmount:n,numberOfParts:r,startTime:i=Sh,timeBetweenParts:a,durationOfPart:o=kh}=e,u=L(e,gh),{partSellAmount:l,minPartLimit:c}=r&&!r.isZero()?{partSellAmount:t.div(r),minPartLimit:n.div(r)}:{partSellAmount:s.Zero,minPartLimit:s.Zero};return F({partSellAmount:l,minPartLimit:c,t0:i.startType===Ih.AT_MINING_TIME?s.Zero:i.epoch,n:r,t:a,span:o.durationType===Eh.AUTO?s.Zero:o.duration},u)}function xh(e){const{n:t,partSellAmount:n,minPartLimit:r,t:i,t0:s,span:a,sellToken:o,buyToken:u,receiver:l,appData:c}=e,d=a.isZero()?{durationType:Eh.AUTO}:{durationType:Eh.LIMIT_DURATION,duration:a},h=a.isZero()?{startType:Ih.AT_MINING_TIME}:{startType:Ih.AT_EPOCH,epoch:s};return{sellAmount:n.mul(t),buyAmount:r.mul(t),startTime:h,numberOfParts:t,timeBetweenParts:i,durationOfPart:d,sellToken:o,buyToken:u,receiver:l,appData:c}}const Mh={[bh]:e=>Ch.fromParams(e)};export{ot as $,Cd as A,R as B,q as C,Ve as D,et as E,Le as F,Ke as G,je as H,$ as I,Ee as J,Ie as K,Qe as L,Yc as M,Q as N,Je as O,Xe as P,Ze as Q,$e as R,tt as S,Y as T,nt as U,rt as V,Z as W,it as X,st as Y,at as Z,F as _,Me as a,Xt as a$,ut as a0,lt as a1,ct as a2,dt as a3,ht as a4,z as a5,K as a6,j as a7,J as a8,ft as a9,wh as aA,Ah as aB,Eh as aC,Ih as aD,Ch as aE,_h as aF,xh as aG,hd as aH,ud as aI,ld as aJ,cd as aK,bl as aL,vl as aM,wl as aN,Al as aO,Tl as aP,Wt as aQ,Ct as aR,jt as aS,Kt as aT,El as aU,Ut as aV,qt as aW,U as aX,Il as aY,Qt as aZ,Yt as a_,mt as aa,Dd as ab,Fd as ac,Ld as ad,kt as ae,Ud as af,Gd as ag,jd as ah,Wd as ai,Jd as aj,Qd as ak,Yd as al,Xd as am,Zd as an,$d as ao,eh as ap,th as aq,nh as ar,sh as as,ah as at,dh as au,mh as av,yh as aw,Mh as ax,bh as ay,vh as az,O as b,_t as b0,md as b1,vd as b2,wd as b3,Ad as b4,G as b5,H as b6,yt as b7,gt as b8,bt as b9,vt as ba,B as c,D as d,Kc as e,qe as f,ge as g,be as h,P as i,ve as j,we as k,Ae as l,Te as m,ze as n,Se as o,ke as p,Ce as q,_e as r,xe as s,Ne as t,Re as u,Pe as v,Oe as w,Be as x,De as y,Fe as z};
|
|
29
|
+
//# sourceMappingURL=index-2d5c6f87.js.map
|